haze-ui 1.7.2 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -31,7 +31,62 @@ export default function MyComponent() {
31
31
  }
32
32
  ```
33
33
 
34
- ## Related Projects
34
+ ## react-f0rm Integration
35
+
36
+ The `haze-ui/form` entry (peer dependency: `react-f0rm`) glues react-f0rm
37
+ form state to haze-ui's control-prop system, so any control-prop
38
+ component (`Input`, `Select`, `Switch`, `Textarea`, `TagInput`, ...)
39
+ binds to a form field with zero adapters.
40
+
41
+ ### useFormControl(form, name): field → Control
42
+
43
+ ```jsx
44
+ import { useForm, setValue } from 'react-f0rm';
45
+ import { Input } from 'haze-ui';
46
+ import { useFormControl } from 'haze-ui/form';
47
+
48
+ function NameField({ form }) {
49
+ const name = useFormControl(form, 'name');
50
+ return <Input value={name} />; // two-way bound, no onChange wiring
51
+ }
52
+ ```
53
+
54
+ The handle is a real `Control`: reads subscribe to the field (sibling
55
+ fields stay isolated), writes go through `setValueByPath`, and functional
56
+ updates evaluate against the live form value. `reset(form, newValues)`
57
+ re-seeds every bridged control with no remounting.
58
+
59
+ ### FormItem: label, errors and aria wiring
60
+
61
+ ```jsx
62
+ import { Form, useForm } from 'react-f0rm';
63
+ import { Input } from 'haze-ui';
64
+ import { FormItem } from 'haze-ui/form';
65
+
66
+ function ProfileForm() {
67
+ const form = useForm({ initialValues: { email: '' } });
68
+ return (
69
+ <Form form={form} onSubmit={...}>
70
+ <FormItem
71
+ form={form}
72
+ name="email"
73
+ label="Email"
74
+ validate={(v) => (v.includes('@') ? undefined : 'must be an email')}
75
+ >
76
+ {({ id, errorId, invalid, control }) => (
77
+ <Input id={id} value={control} aria-invalid={invalid} aria-describedby={errorId} />
78
+ )}
79
+ </FormItem>
80
+ </Form>
81
+ );
82
+ }
83
+ ```
84
+
85
+ `FormItem` generates the field/error ids, renders `<label htmlFor>`, and
86
+ surfaces the first error in a `role="alert"` element — no manual
87
+ `FieldError` wiring.
88
+
89
+ ## Related Projects
35
90
 
36
91
  - [react-use-control](https://github.com/wmzy/react-use-control)
37
92
 
@@ -3,35 +3,39 @@ import { DropdownMenuProvider as t } from "./DropdownMenuContext.js";
3
3
  /* empty css */
4
4
  import { jsx as n } from "react/jsx-runtime";
5
5
  import { useControl as r } from "react-use-control";
6
- import { useCallback as i, useEffect as a, useRef as o } from "react";
6
+ import { useCallback as i, useEffect as a, useId as o, useRef as s } from "react";
7
7
  //#region src/lib/components/DropdownMenu/DropdownMenu.tsx
8
- var s = "haze-DropdownMenu__wrapper";
9
- function c({ open: c, onOpenChange: l, children: u, className: d }) {
10
- let [f, p] = r(c, !1), m = o(null), h = i((e) => {
11
- let t = typeof e == "function" ? e(f) : e;
12
- p(t), l?.(t);
8
+ var c = "haze-DropdownMenu__wrapper";
9
+ function l({ open: l, onOpenChange: u, children: d, className: f }) {
10
+ let [p, m] = r(l, !1), h = s(null), g = s(null), _ = s(null), v = o(), y = s(null), b = i((e) => {
11
+ let t = typeof e == "function" ? e(p) : e;
12
+ m(t), u?.(t);
13
13
  }, [
14
- f,
15
14
  p,
16
- l
15
+ m,
16
+ u
17
17
  ]);
18
18
  return a(() => {
19
- if (!f) return;
19
+ if (!p) return;
20
20
  let e = (e) => {
21
- m.current && !m.current.contains(e.target) && h(!1);
21
+ h.current && !h.current.contains(e.target) && b(!1);
22
22
  };
23
23
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
24
- }, [f, h]), /* @__PURE__ */ n(t, {
24
+ }, [p, b]), /* @__PURE__ */ n(t, {
25
25
  value: {
26
- open: f,
27
- setOpen: h
26
+ open: p,
27
+ setOpen: b,
28
+ triggerRef: g,
29
+ contentRef: _,
30
+ contentId: v,
31
+ focusRequestRef: y
28
32
  },
29
33
  children: n("div", {
30
- ref: m,
31
- className: e([s, d]),
32
- children: u
34
+ ref: h,
35
+ className: e([c, f]),
36
+ children: d
33
37
  })
34
38
  });
35
39
  }
36
40
  //#endregion
37
- export { c as default };
41
+ export { l as default };
@@ -1,23 +1,54 @@
1
1
  import { classnames as e } from "../../utils/classnames.js";
2
2
  import { useDropdownMenuContext as t } from "./DropdownMenuContext.js";
3
+ import { getEnabledMenuItems as n, useMenuKeyboard as r } from "./useMenuKeyboard.js";
3
4
  /* empty css */
4
- import { jsx as n } from "react/jsx-runtime";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ import { useCallback as a, useEffect as o } from "react";
5
7
  //#region src/lib/components/DropdownMenu/DropdownMenuContent.tsx
6
- var r = "haze-DropdownMenuContent__content", i = {
8
+ var s = "haze-DropdownMenuContent__content", c = {
7
9
  start: "haze-DropdownMenuContent__alignStart",
8
10
  center: "haze-DropdownMenuContent__alignCenter",
9
11
  end: "haze-DropdownMenuContent__alignEnd"
10
12
  };
11
- function a({ children: a, align: o = "start", className: s }) {
12
- let { open: c } = t();
13
- return c ? /* @__PURE__ */ n("div", {
13
+ function l({ children: l, align: u = "start", className: d }) {
14
+ let { open: f, setOpen: p, triggerRef: m, contentRef: h, contentId: g, focusRequestRef: _ } = t(), v = a(() => {
15
+ p(!1), m.current?.focus();
16
+ }, [p, m]), y = r({
17
+ menuRef: h,
18
+ onClose: v
19
+ });
20
+ return o(() => {
21
+ if (!f) return;
22
+ let e = h.current;
23
+ if (!e) return;
24
+ let t = n(e);
25
+ t.forEach((e) => {
26
+ e.tabIndex = -1;
27
+ }), t[0] && (t[0].tabIndex = 0);
28
+ let r = _.current;
29
+ _.current = null, r && (r === "first" ? t[0] : t[t.length - 1])?.focus();
30
+ let i = (t) => {
31
+ n(e).forEach((e) => {
32
+ e.tabIndex = e === t.target ? 0 : -1;
33
+ });
34
+ };
35
+ return e.addEventListener("focusin", i), () => e.removeEventListener("focusin", i);
36
+ }, [
37
+ f,
38
+ h,
39
+ _
40
+ ]), f ? /* @__PURE__ */ i("div", {
41
+ ref: h,
42
+ id: g,
43
+ role: "menu",
44
+ onKeyDown: y,
14
45
  className: e([
15
- r,
16
- i[o],
17
- s
46
+ s,
47
+ c[u],
48
+ d
18
49
  ]),
19
- children: a
50
+ children: l
20
51
  }) : null;
21
52
  }
22
53
  //#endregion
23
- export { a as default };
54
+ export { l as default };
@@ -5,11 +5,13 @@ import { jsx as n } from "react/jsx-runtime";
5
5
  //#region src/lib/components/DropdownMenu/DropdownMenuItem.tsx
6
6
  var r = "haze-DropdownMenuItem__item";
7
7
  function i({ children: i, onClick: a, disabled: o, className: s }) {
8
- let { setOpen: c } = t();
8
+ let { setOpen: c, triggerRef: l } = t();
9
9
  return /* @__PURE__ */ n("button", {
10
10
  type: "button",
11
+ role: "menuitem",
12
+ tabIndex: -1,
11
13
  onClick: () => {
12
- o || (a?.(), c(!1));
14
+ o || (a?.(), c(!1), l.current?.focus());
13
15
  },
14
16
  disabled: o,
15
17
  className: e([r, s]),
@@ -1,17 +1,30 @@
1
1
  import { classnames as e } from "../../utils/classnames.js";
2
2
  import { useDropdownMenuContext as t } from "./DropdownMenuContext.js";
3
+ import { getEnabledMenuItems as n } from "./useMenuKeyboard.js";
3
4
  /* empty css */
4
- import { jsx as n } from "react/jsx-runtime";
5
+ import { jsx as r } from "react/jsx-runtime";
5
6
  //#region src/lib/components/DropdownMenu/DropdownMenuTrigger.tsx
6
- var r = "haze-DropdownMenuTrigger__trigger";
7
- function i({ children: i, className: a }) {
8
- let { setOpen: o } = t();
9
- return /* @__PURE__ */ n("button", {
7
+ var i = "haze-DropdownMenuTrigger__trigger";
8
+ function a({ children: a, className: o }) {
9
+ let { open: s, setOpen: c, triggerRef: l, contentRef: u, contentId: d, focusRequestRef: f } = t(), p = (e) => {
10
+ if (s) {
11
+ let t = n(u.current);
12
+ (e === "first" ? t[0] : t[t.length - 1])?.focus();
13
+ } else f.current = e, c(!0);
14
+ };
15
+ return /* @__PURE__ */ r("button", {
16
+ ref: l,
10
17
  type: "button",
11
- onClick: () => o((e) => !e),
12
- className: e([r, a]),
13
- children: i
18
+ "aria-haspopup": "menu",
19
+ "aria-expanded": s,
20
+ "aria-controls": s ? d : void 0,
21
+ onClick: () => c((e) => !e),
22
+ onKeyDown: (e) => {
23
+ e.key === "ArrowDown" ? (e.preventDefault(), p("first")) : e.key === "ArrowUp" && (e.preventDefault(), p("last"));
24
+ },
25
+ className: e([i, o]),
26
+ children: a
14
27
  });
15
28
  }
16
29
  //#endregion
17
- export { i as default };
30
+ export { a as default };
@@ -0,0 +1,52 @@
1
+ import { useCallback as e, useEffect as t, useRef as n } from "react";
2
+ //#region src/lib/components/DropdownMenu/useMenuKeyboard.ts
3
+ var r = 500;
4
+ function i(e) {
5
+ return e ? Array.from(e.querySelectorAll("[role=\"menuitem\"]:not([disabled])")) : [];
6
+ }
7
+ function a({ menuRef: a, onClose: o }) {
8
+ let s = n(""), c = n(0);
9
+ return t(() => () => window.clearTimeout(c.current), []), e((e) => {
10
+ let t = i(a.current);
11
+ if (t.length === 0) return;
12
+ let n = t.indexOf(document.activeElement), l = (e) => t[e]?.focus();
13
+ switch (e.key) {
14
+ case "ArrowDown":
15
+ e.preventDefault(), l((n + 1) % t.length);
16
+ return;
17
+ case "ArrowUp":
18
+ e.preventDefault(), l((n - 1 + t.length) % t.length);
19
+ return;
20
+ case "Home":
21
+ e.preventDefault(), l(0);
22
+ return;
23
+ case "End":
24
+ e.preventDefault(), l(t.length - 1);
25
+ return;
26
+ case "Escape":
27
+ e.preventDefault(), o();
28
+ return;
29
+ case "Tab":
30
+ e.preventDefault(), o();
31
+ return;
32
+ default: {
33
+ if (e.key.length !== 1 || e.ctrlKey || e.metaKey || e.altKey) return;
34
+ e.preventDefault();
35
+ let i = (s.current + e.key).toLowerCase();
36
+ s.current = i, window.clearTimeout(c.current), c.current = window.setTimeout(() => {
37
+ s.current = "";
38
+ }, r);
39
+ let a = n + 1;
40
+ for (let e = 0; e < t.length; e++) {
41
+ let n = (a + e) % t.length;
42
+ if (t[n].textContent.toLowerCase().startsWith(i)) {
43
+ l(n);
44
+ return;
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }, [a, o]);
50
+ }
51
+ //#endregion
52
+ export { i as getEnabledMenuItems, a as useMenuKeyboard };
@@ -2,28 +2,80 @@ import { classnames as e } from "../../utils/classnames.js";
2
2
  /* empty css */
3
3
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
4
  import { useControl as r } from "react-use-control";
5
- import { useId as i } from "react";
5
+ import { useEffect as i, useId as a, useRef as o } from "react";
6
6
  //#region src/lib/components/Popover/Popover.tsx
7
- var a = "haze-Popover__container", o = "haze-Popover__panel", s = "haze-Popover__hidden";
8
- function c({ content: c, open: l, className: u, children: d }) {
9
- let [f, p] = r(l, !1), m = i();
10
- return /* @__PURE__ */ n("span", {
11
- className: a,
7
+ var s = 500;
8
+ function c() {
9
+ return typeof HTMLElement < "u" && "popover" in HTMLElement.prototype;
10
+ }
11
+ function l() {
12
+ return c() && typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("anchor-name: --haze-popover-probe");
13
+ }
14
+ var u = "haze-Popover__container", d = "haze-Popover__panelVisuals", f = "haze-Popover__panelFallback", p = "haze-Popover__hidden", m = "haze-Popover__panelNative", h = "haze-Popover__panelAnchored", g = "haze-Popover__panelJsPositioned";
15
+ function _({ content: _, open: v, className: y, children: b }) {
16
+ let [x, S] = r(v, !1), C = a(), w = `--haze-popover-${C.replace(/[^a-zA-Z0-9]/g, "")}`, T = c(), E = l(), D = o(null), O = o(null), k = o(!1), A = o(0), j = o(0);
17
+ return i(() => {
18
+ let e = O.current;
19
+ if (!e || !T) return;
20
+ let t = (e) => {
21
+ let t = e.newState;
22
+ k.current = t === "open", t === "closed" && x ? (performance.now() - A.current < s && (j.current = performance.now()), A.current = 0, S(!1)) : t === "open" && !x && S(!0);
23
+ };
24
+ return e.addEventListener("toggle", t), x && !k.current ? e.showPopover() : !x && k.current && e.hidePopover(), () => e.removeEventListener("toggle", t);
25
+ }, [
26
+ T,
27
+ x,
28
+ S
29
+ ]), i(() => {
30
+ if (!T || E || !x) return;
31
+ let e = O.current, t = D.current;
32
+ if (!e || !t) return;
33
+ let n = () => {
34
+ let n = t.getBoundingClientRect(), r = parseFloat(getComputedStyle(e).marginTop) || 0;
35
+ e.style.top = `${n.bottom + r}px`, e.style.left = `${n.left}px`;
36
+ };
37
+ return n(), window.addEventListener("scroll", n, !0), window.addEventListener("resize", n), () => {
38
+ window.removeEventListener("scroll", n, !0), window.removeEventListener("resize", n);
39
+ };
40
+ }, [
41
+ T,
42
+ E,
43
+ x
44
+ ]), /* @__PURE__ */ n("span", {
45
+ className: u,
12
46
  children: [/* @__PURE__ */ t("span", {
13
- "aria-expanded": f,
14
- "aria-controls": m,
15
- onClick: () => p((e) => !e),
16
- children: d
47
+ ref: D,
48
+ "aria-expanded": x,
49
+ "aria-controls": C,
50
+ style: E ? { anchorName: w } : void 0,
51
+ onPointerDown: () => {
52
+ x && (A.current = performance.now());
53
+ },
54
+ onClick: () => {
55
+ if (performance.now() - j.current < s) {
56
+ j.current = 0;
57
+ return;
58
+ }
59
+ S((e) => !e);
60
+ },
61
+ children: b
17
62
  }), /* @__PURE__ */ t("div", {
18
- id: m,
63
+ id: C,
64
+ ref: O,
65
+ popover: T ? "auto" : void 0,
66
+ style: T && E ? { "--haze-popover-anchor": w } : void 0,
19
67
  className: e([
20
- o,
21
- !f && s,
22
- u
68
+ d,
69
+ T && m,
70
+ T && E && h,
71
+ T && !E && g,
72
+ !T && f,
73
+ !T && !x && p,
74
+ y
23
75
  ]),
24
- children: c
76
+ children: _
25
77
  })]
26
78
  });
27
79
  }
28
80
  //#endregion
29
- export { c as default };
81
+ export { _ as default };
@@ -2,50 +2,71 @@ import { classnames as e } from "../../utils/classnames.js";
2
2
  /* empty css */
3
3
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
4
  import { useControl as r } from "react-use-control";
5
- import { useCallback as i, useState as a } from "react";
5
+ import { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
6
6
  //#region src/lib/components/TagInput/TagInput.tsx
7
- var o = "haze-TagInput__container", s = "haze-TagInput__tag", c = "haze-TagInput__removeBtn", l = "haze-TagInput__inputEl";
8
- function u({ value: u, onChange: d, placeholder: f, maxTags: p, disabled: m, className: h }) {
9
- let [g, _] = r(u, []), [v, y] = a(""), b = i((e) => {
7
+ var c = "haze-TagInput__container", l = "haze-TagInput__listWrap", u = "haze-TagInput__tag", d = "haze-TagInput__removeBtn", f = "haze-TagInput__inputEl";
8
+ function p({ value: p, onChange: m, placeholder: h, maxTags: g, disabled: _, className: v }) {
9
+ let [y, b] = r(p, []), [x, S] = s(""), C = o(null), w = o(null), T = o(null);
10
+ a(() => {
11
+ let e = T.current;
12
+ if (e === null) return;
13
+ if (T.current = null, y.length === 0) {
14
+ w.current?.focus();
15
+ return;
16
+ }
17
+ let t = Math.min(e, y.length - 1);
18
+ (C.current?.querySelectorAll("[aria-label^=\"Remove \"]"))?.[t]?.focus();
19
+ }, [y]);
20
+ let E = i((e) => {
10
21
  let t = e.trim();
11
- if (!t || g.includes(t) || p && g.length >= p) return;
12
- let n = [...g, t];
13
- _(n), d?.(n), y("");
22
+ if (!t || y.includes(t) || g && y.length >= g) return;
23
+ let n = [...y, t];
24
+ b(n), m?.(n), S("");
14
25
  }, [
26
+ y,
15
27
  g,
16
- p,
17
- _,
18
- d
19
- ]), x = i((e) => {
20
- let t = g.filter((t, n) => n !== e);
21
- _(t), d?.(t);
28
+ b,
29
+ m
30
+ ]), D = i((e) => {
31
+ let t = y.filter((t, n) => n !== e);
32
+ b(t), m?.(t), T.current = t.length === 0 ? 0 : Math.min(e, t.length - 1);
22
33
  }, [
23
- g,
24
- _,
25
- d
26
- ]);
34
+ y,
35
+ b,
36
+ m
37
+ ]), O = (e) => {
38
+ e.key === "Enter" || e.key === "," ? (e.preventDefault(), E(x)) : e.key === "Backspace" && !x && y.length > 0 && D(y.length - 1);
39
+ }, k = h || "Add tag", A = `${y.length} tag${y.length === 1 ? "" : "s"}`;
27
40
  return /* @__PURE__ */ n("div", {
28
- className: e([o, h]),
29
- children: [g.map((r, i) => /* @__PURE__ */ n("span", {
30
- className: e([s]),
31
- children: [r, /* @__PURE__ */ t("button", {
32
- type: "button",
33
- onClick: () => x(i),
34
- disabled: m,
35
- className: e([c]),
36
- children: "x"
37
- })]
38
- }, i)), /* @__PURE__ */ t("input", {
39
- value: v,
40
- onChange: (e) => y(e.target.value),
41
- onKeyDown: (e) => {
42
- e.key === "Enter" || e.key === "," ? (e.preventDefault(), b(v)) : e.key === "Backspace" && !v && g.length > 0 && x(g.length - 1);
43
- },
44
- placeholder: g.length === 0 ? f : void 0,
45
- disabled: m,
46
- className: e([l])
41
+ ref: C,
42
+ className: e([c, v]),
43
+ children: [/* @__PURE__ */ t("ul", {
44
+ className: e([l]),
45
+ children: y.map((r, i) => /* @__PURE__ */ n("li", {
46
+ className: e([u]),
47
+ children: [r, /* @__PURE__ */ t("button", {
48
+ type: "button",
49
+ onClick: () => D(i),
50
+ onKeyDown: (e) => {
51
+ e.key === "Backspace" && (e.preventDefault(), D(i));
52
+ },
53
+ "aria-label": `Remove ${r}`,
54
+ disabled: _,
55
+ className: e([d]),
56
+ children: "x"
57
+ })]
58
+ }, i))
59
+ }), /* @__PURE__ */ t("input", {
60
+ ref: w,
61
+ value: x,
62
+ onChange: (e) => S(e.target.value),
63
+ onKeyDown: O,
64
+ placeholder: y.length === 0 ? h : void 0,
65
+ "aria-label": y.length > 0 ? `${k}, ${A}` : k,
66
+ disabled: _,
67
+ className: e([f])
47
68
  })]
48
69
  });
49
70
  }
50
71
  //#endregion
51
- export { u as default };
72
+ export { p as default };
package/dist/haze-ui.css CHANGED
@@ -1,2 +1,2 @@
1
- .haze-FormItem__item{align-items:stretch;gap:var(--haze-space-1);flex-direction:column;display:flex}.haze-FormItem__labelText{font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-FormItem__errorText{font-size:var(--haze-text-sm);color:var(--haze-color-danger)}.haze-colors__lightTheme{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.haze-colors__darkTheme{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.haze-spacing__spacing{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.haze-typography__typography{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}.haze-Button__base{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.haze-Button__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Button__base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-Button__solid{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Button__solid:hover{background:var(--haze-color-primary-hover)}.haze-Button__solid:active{background:var(--haze-color-primary-active)}.haze-Button__outline{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.haze-Button__outline:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-Button__outline:active{background:var(--haze-color-bg-muted)}.haze-Button__ghost{color:var(--haze-color-text);background:0 0}.haze-Button__ghost:hover{background:var(--haze-color-bg-subtle)}.haze-Button__ghost:active{background:var(--haze-color-bg-muted)}.haze-Button__sizeSm{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Button__sizeMd{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.haze-Button__sizeLg{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.haze-Button__squareSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-Button__squareMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Button__squareLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-Input__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.haze-Input__base:hover{border-color:var(--haze-color-border-hover)}.haze-Input__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Input__base:disabled{opacity:.5;cursor:not-allowed}.haze-Input__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Input__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Input__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Select__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.haze-Select__base:hover{border-color:var(--haze-color-border-hover)}.haze-Select__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Select__base:disabled{opacity:.5;cursor:not-allowed}.haze-Select__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Select__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Select__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Checkbox__base{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Checkbox__base:hover{border-color:var(--haze-color-border-hover)}.haze-Checkbox__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Checkbox__base:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-Checkbox__base:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.haze-Checkbox__base:disabled{opacity:.5;cursor:not-allowed}.haze-Checkbox__labelText{align-items:center;gap:var(--haze-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.haze-Switch__track{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.haze-Switch__track:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Switch__track:disabled{opacity:.5;cursor:not-allowed}.haze-Switch__trackChecked{background:var(--haze-color-primary)}.haze-Switch__thumb{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.haze-Switch__trackSm{width:2.25rem;height:1.25rem}.haze-Switch__trackMd{width:40px;height:22px}.haze-Switch__trackLg{width:48px;height:26px}.haze-Switch__thumbSm{width:1rem;height:1rem}.haze-Switch__thumbMd{width:18px;height:18px}.haze-Switch__thumbLg{width:22px;height:22px}.haze-Switch__thumbCheckedSm{transform:translate(1rem)}.haze-Switch__thumbCheckedMd{transform:translate(18px)}.haze-Switch__thumbCheckedLg{transform:translate(22px)}.haze-Badge__base{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.haze-Badge__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Badge__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Badge__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Badge__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Badge__info{background:color-mix(in srgb, var(--haze-color-info) 15%, transparent);color:var(--haze-color-info)}.haze-Badge__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Badge__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Dialog__overlay{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.haze-Dialog__overlay::backdrop{background:#0006}.haze-Dialog__overlay:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tooltip__wrapper{display:inline-flex;position:relative}.haze-Tooltip__bubble{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.haze-Tooltip__top{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__bottom{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__left{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.haze-Tooltip__right{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.haze-Tooltip__showOnInteract:hover>[role=tooltip],.haze-Tooltip__showOnInteract:focus-within>[role=tooltip]{opacity:1}.haze-Popover__container{display:inline-flex;position:relative}.haze-Popover__panel{z-index:1000;margin-top:var(--haze-space-1);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px;position:absolute;top:100%;left:0}.haze-Popover__hidden{display:none}.haze-Card__base{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-Card__elevated{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.haze-Card__outlined{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.haze-Card__filled{background:var(--haze-color-bg-subtle)}.haze-Radio__radioInput{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Radio__radioInput:hover{border-color:var(--haze-color-border-hover)}.haze-Radio__radioInput:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Radio__radioInput:checked{border-color:var(--haze-color-primary)}.haze-Radio__radioInput:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.haze-Radio__radioInput:disabled{opacity:.5;cursor:not-allowed}.haze-Radio__labelStyle{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.haze-RadioGroup__base{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.haze-Textarea__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.haze-Textarea__base:hover{border-color:var(--haze-color-border-hover)}.haze-Textarea__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Textarea__base:disabled{opacity:.5;cursor:not-allowed}.haze-Textarea__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Textarea__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Textarea__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Slider__base{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.haze-Slider__base::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.haze-Slider__base::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer}.haze-Slider__base:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:disabled{opacity:.5;cursor:not-allowed}.haze-Tabs__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-TabList__base{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex;overflow-x:auto}.haze-Tab__base{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.haze-Tab__base:hover{color:var(--haze-color-text)}.haze-Tab__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tab__active{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.haze-TabPanel__base{padding:var(--haze-space-4) 0}.haze-TabPanel__hidden{display:none}.haze-Accordion__base{width:100%}.haze-AccordionItem__item{border-bottom:1px solid var(--haze-color-border)}.haze-AccordionItem__item:first-of-type{border-top:1px solid var(--haze-color-border)}.haze-AccordionItem__summary{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-AccordionItem__summary:hover{background:var(--haze-color-bg-subtle)}.haze-AccordionItem__summary:active{background:var(--haze-color-bg-muted)}.haze-AccordionItem__summary:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-AccordionItem__summary::marker{display:none}.haze-AccordionItem__summary::-webkit-details-marker{display:none}.haze-AccordionItem__summary:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-AccordionItem__summary:after{transform:rotate(45deg)}.haze-AccordionItem__content{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Alert__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.haze-Alert__info{background:color-mix(in srgb, var(--haze-color-info) 10%, transparent);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.haze-Alert__success{background:color-mix(in srgb, var(--haze-color-success) 10%, transparent);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Alert__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, transparent);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Alert__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Alert__contentStyle{flex:1}.haze-Alert__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Alert__closeBtn:hover{opacity:1}.haze-Alert__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Avatar__base{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.haze-Avatar__sm{width:32px;height:32px;font-size:var(--haze-text-xs)}.haze-Avatar__md{width:40px;height:40px;font-size:var(--haze-text-sm)}.haze-Avatar__lg{width:56px;height:56px;font-size:var(--haze-text-lg)}.haze-Avatar__imgStyle{object-fit:cover;width:100%;height:100%}.haze-Tag__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.haze-Tag__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Tag__primary{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.haze-Tag__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Tag__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Tag__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Tag__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Tag__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Tag__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.haze-Tag__closeBtn:hover{opacity:1}.haze-Tag__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Skeleton__base{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-haze-Skeleton__base;display:block}@keyframes shimmer-haze-Skeleton__base{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.haze-Skeleton__text{border-radius:var(--haze-radius-sm);height:1em}.haze-Skeleton__circular{border-radius:var(--haze-radius-full)}.haze-Skeleton__rectangular{border-radius:var(--haze-radius-md)}.haze-Icon__base{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-Icon__base>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.haze-Icon__strokeOnly>svg{fill:none}.haze-Icon__sm{width:16px;height:16px}.haze-Icon__md{width:20px;height:20px}.haze-Icon__lg{width:24px;height:24px}.haze-Image__wrapper{display:block;position:relative;overflow:hidden}.haze-Image__imgStyle{width:100%;height:100%;display:block}.haze-Image__fallbackStyle{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.haze-Flex__base{display:flex}.haze-Breadcrumb__nav{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Breadcrumb__list{align-items:center;gap:var(--haze-space-2);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.haze-Breadcrumb__sep{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.haze-BreadcrumbItem__link{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.haze-BreadcrumbItem__link:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.haze-BreadcrumbItem__link:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-BreadcrumbItem__current{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Disclosure__details{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-Disclosure__summaryStyle{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-Disclosure__summaryStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Disclosure__summaryStyle:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Disclosure__summaryStyle::marker{display:none}.haze-Disclosure__summaryStyle::-webkit-details-marker{display:none}.haze-Disclosure__summaryStyle:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-Disclosure__summaryStyle:after{transform:rotate(45deg)}.haze-Disclosure__content{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Menu__container{display:inline-flex;position:relative}.haze-Menu__panel{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Menu__hidden{display:none}.haze-MenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.haze-MenuItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-MenuItem__item:active{background:var(--haze-color-bg-muted)}.haze-MenuItem__item:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-MenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-MenuDivider__divider{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NumberInput__wrapper{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.haze-NumberInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-NumberInput__input{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:100%;min-width:0}.haze-NumberInput__input::-webkit-inner-spin-button{appearance:none;margin:0}.haze-NumberInput__input::-webkit-outer-spin-button{appearance:none;margin:0}.haze-NumberInput__stepBtn{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.haze-NumberInput__stepBtn:hover{background:var(--haze-color-bg-muted)}.haze-NumberInput__stepBtn:active{background:var(--haze-color-border)}.haze-NumberInput__stepBtn:disabled{opacity:.5;cursor:not-allowed}.haze-NumberInput__inputSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-NumberInput__inputMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__inputLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-NumberInput__btnSm{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__btnMd{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-NumberInput__btnLg{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.haze-FileInput__hiddenInput{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.haze-FileInput__trigger{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.haze-FileInput__trigger:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-FileInput__trigger:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Toast__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-haze-Toast__base;display:flex}@keyframes toastIn-haze-Toast__base{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.haze-Toast__info{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.haze-Toast__success{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Toast__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Toast__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Toast__contentStyle{flex:1}.haze-Toast__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Toast__closeBtn:hover{opacity:1}.haze-ToastContainer__container{bottom:calc(var(--haze-space-4) + env(safe-area-inset-bottom));right:calc(var(--haze-space-4) + env(safe-area-inset-right));z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.haze-List__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.haze-List__unordered{list-style-type:disc}.haze-List__ordered{list-style-type:decimal}.haze-List__none{padding-left:0;list-style-type:none}.haze-ListItem__item{padding:var(--haze-space-1) 0}.haze-ComboboxOption__option{padding:var(--haze-space-2) var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;align-items:center;transition:background .1s;display:flex}.haze-ComboboxOption__option:hover{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__option:active{background:var(--haze-color-bg-muted)}.haze-ComboboxOption__highlightedStyle{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__selectedStyle{font-weight:var(--haze-weight-medium);color:var(--haze-color-primary)}.haze-Combobox__wrapper{width:100%;display:inline-block;position:relative}.haze-Combobox__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-Combobox__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Combobox__listbox{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.haze-Combobox__hidden{display:none}.haze-Table__wrapper{overflow-x:auto}.haze-Table__base{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-Table__stripedStyle tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.haze-Table__borderedStyle th,.haze-Table__borderedStyle td{border:1px solid var(--haze-color-border)}.haze-TableHead__head{border-bottom:2px solid var(--haze-color-border)}.haze-TableHead__head th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.haze-TableBody__body td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Carousel__wrapper{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.haze-Carousel__track{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.haze-Carousel__track::-webkit-scrollbar{display:none}.haze-Carousel__navBtn{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:2.5rem;height:2.5rem;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-Carousel__navBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Carousel__navBtn:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Carousel__prevBtn{left:var(--haze-space-2)}.haze-Carousel__nextBtn{right:var(--haze-space-2)}.haze-Carousel__indicators{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.haze-Carousel__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:.625rem;height:.625rem;padding:.375rem;transition:background .15s}.haze-Carousel__dotActive{background:var(--haze-color-primary)}.haze-CarouselSlide__slide{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.haze-Calendar__calendarWrapper{padding:var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Calendar__header{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;margin-bottom:var(--haze-space-2);justify-content:space-between;display:flex}.haze-Calendar__headerBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1}.haze-Calendar__headerBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__headerBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__headerTitle{font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Calendar__grid{display:-ms-grid;-ms-grid-columns:repeat(7, 1fr);text-align:center;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.haze-Calendar__weekday{padding:var(--haze-space-1);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-muted);font-size:var(--haze-text-xs)}.haze-Calendar__dayBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1.5;transition:background .1s}.haze-Calendar__dayBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__dayBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__dayBtn:disabled{opacity:.3;cursor:not-allowed}.haze-Calendar__daySelected{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Calendar__daySelected:hover{background:var(--haze-color-primary-hover)}.haze-Calendar__dayOutside{color:var(--haze-color-text-muted)}.haze-Datepicker__wrapper{display:inline-block;position:relative}.haze-Datepicker__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-Datepicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Datepicker__dropdown{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Datepicker__hiddenStyle{display:none}.haze-TreeItem__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--haze-radius-sm);align-items:center;min-height:2rem;padding:2px 0;transition:background .15s;display:flex}.haze-TreeItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__item:focus-visible{box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-TreeItem__blockItem{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm)}.haze-TreeItem__blockItem:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__selectedStyle{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-TreeItem__disabledStyle{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-TreeItem__switcher{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.haze-TreeItem__switcher:hover{color:var(--haze-color-text)}.haze-TreeItem__switcher svg{width:12px;height:12px}.haze-TreeItem__switcherExpanded{transform:rotate(90deg)}.haze-TreeItem__checkbox{width:1.25rem;height:1.25rem;margin-right:var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.haze-TreeItem__checkbox:hover{border-color:var(--haze-color-primary)}.haze-TreeItem__checkbox svg{color:#fff;width:12px;height:12px}.haze-TreeItem__checkboxChecked,.haze-TreeItem__checkboxHalfChecked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-TreeItem__nodeIcon{width:16px;height:16px;margin-right:var(--haze-space-2);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-TreeItem__nodeIcon svg{width:16px;height:16px}.haze-TreeItem__title{font-size:var(--haze-text-sm);color:var(--haze-color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.haze-TreeItem__loadingIcon{animation:1s linear infinite spin-haze-TreeItem__loadingIcon;display:inline-flex}@keyframes spin-haze-TreeItem__loadingIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-TreeItem__indentLine{flex-shrink:0;width:24px;display:inline-block}.haze-TreeItem__indentLineWithBorder{border-left:1px solid var(--haze-color-border)}.haze-Tree__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);overflow:auto}.haze-Tree__group{min-width:0}.haze-Divider__base{background:var(--haze-color-border);border:none}.haze-Divider__horizontal{width:100%;height:1px}.haze-Divider__vertical{-ms-grid-row-align:stretch;align-self:stretch;width:1px;height:1em}.haze-Spinner__base{animation:.8s linear infinite spin-haze-Spinner__base;display:inline-flex}@keyframes spin-haze-Spinner__base{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-Spinner__sm{width:16px;height:16px}.haze-Spinner__md{width:24px;height:24px}.haze-Spinner__lg{width:32px;height:32px}.haze-Empty__base{padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.haze-Empty__imageStyle{margin-bottom:var(--haze-space-4)}.haze-Empty__descStyle{font-size:var(--haze-text-sm)}.haze-Empty__actionStyle{margin-top:var(--haze-space-4)}.haze-Progress__barBase{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-full);width:100%;overflow:hidden}.haze-Progress__sm{width:32px;height:32px}.haze-Progress__md{width:48px;height:48px}.haze-Progress__lg{width:64px;height:64px}.haze-Progress__barFill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-Progress__primary{stroke:var(--haze-color-primary)}.haze-Progress__success{stroke:var(--haze-color-success)}.haze-Progress__warning{stroke:var(--haze-color-warning)}.haze-Progress__danger{stroke:var(--haze-color-danger)}.haze-Progress__circleBase{transform:rotate(-90deg)}.haze-Progress__circleBg{fill:none;stroke:var(--haze-color-bg-muted)}.haze-Progress__circleFill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .3s}.haze-Pagination__nav{align-items:center;gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:flex}.haze-Pagination__btn{min-width:2.25rem;height:2.25rem;padding:0 var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.haze-Pagination__btn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Pagination__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Pagination__btn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Pagination__activeBtn{background:var(--haze-color-primary);border-color:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Pagination__activeBtn:hover:not(:disabled){background:var(--haze-color-primary-hover);border-color:var(--haze-color-primary-hover)}.haze-Pagination__ellipsis{min-width:2.25rem;height:2.25rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:inline-flex}.haze-Pagination__sm button{min-width:2rem;height:2rem;font-size:var(--haze-text-xs)}.haze-Pagination__lg button{min-width:40px;height:40px;font-size:var(--haze-text-base)}.haze-Grid__base{display:-ms-grid;display:grid}.haze-Drawer__overlay{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);border:none;max-width:100vw;max-height:100vh;padding:0;overflow:auto}.haze-Drawer__overlay::backdrop{background:#0006}.haze-Drawer__overlay:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Drawer__left{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:0}.haze-Drawer__right{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:auto}.haze-Drawer__top{width:100vw;height:320px;margin-top:0}.haze-Drawer__bottom{width:100vw;height:320px;margin-top:auto}.haze-Stepper__stepper{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:flex-start;display:flex}.haze-Step__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.haze-Step__stepConnector{background:var(--haze-color-border);width:100%;height:2px;position:absolute;top:16px;left:50%}.haze-Step__stepActiveConnector{background:var(--haze-color-primary)}.haze-Step__circle{border-radius:var(--haze-radius-full);width:2.25rem;height:2.25rem;font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);border:2px solid var(--haze-color-border);background:var(--haze-color-bg);color:var(--haze-color-text-muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.haze-Step__activeCircle,.haze-Step__completedCircle{border-color:var(--haze-color-primary);background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Step__titleStyle{margin-top:var(--haze-space-2);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);text-align:center}.haze-Step__activeTitle{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Step__completedTitle{color:var(--haze-color-primary)}.haze-Step__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);text-align:center;margin-top:var(--haze-space-1)}.haze-Command__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden}.haze-Command__inputStyle{width:100%;padding:var(--haze-space-3) var(--haze-space-4);border:none;border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);background:0 0;outline:none}.haze-Command__inputStyle::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__listStyle{max-height:300px;padding:var(--haze-space-1);overflow-y:auto}.haze-Command__itemStyle{padding:var(--haze-space-2) var(--haze-space-3);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;transition:background .15s}.haze-Command__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Command__itemStyle:active{background:var(--haze-color-bg-muted)}.haze-Resizable__groupBase{display:flex;overflow:hidden}.haze-Resizable__groupHorizontal{flex-direction:row;height:100%}.haze-Resizable__groupVertical{flex-direction:column;width:100%}.haze-Resizable__panelStyle{min-width:0;min-height:0;overflow:auto}.haze-Resizable__handleBase{background:var(--haze-color-border);cursor:col-resize;flex:none;transition:background .15s}.haze-Resizable__handleBase:hover{background:var(--haze-color-primary)}.haze-Resizable__handleHorizontal{cursor:col-resize;width:4px;height:100%}.haze-Resizable__handleVertical{cursor:row-resize;width:100%;height:4px}.haze-Collapsible__base{font-family:var(--haze-font-sans)}.haze-Collapsible__triggerStyle{cursor:pointer;-webkit-user-select:none;user-select:none}.haze-Collapsible__contentStyle{overflow:hidden}.haze-Transfer__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-4);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-Transfer__panel{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);flex:1;min-width:200px;overflow:hidden}.haze-Transfer__panelHeader{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);background:var(--haze-color-bg-subtle);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-secondary)}.haze-Transfer__panelBody{max-height:200px;padding:var(--haze-space-1);overflow-y:auto}.haze-Transfer__itemStyle{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);cursor:pointer;display:flex}.haze-Transfer__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Transfer__actions{justify-content:center;align-items:center;gap:var(--haze-space-2);flex-direction:column;display:flex}.haze-Transfer__actionBtn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:2.25rem;height:2.25rem;color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.haze-Transfer__actionBtn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Transfer__actionBtn:disabled{opacity:.5;cursor:not-allowed}.haze-Upload__dropzone{padding:var(--haze-space-8) var(--haze-space-4);border:2px dashed var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg-subtle);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.haze-Upload__dropzone:hover{border-color:var(--haze-color-primary);background:var(--haze-color-primary-subtle)}.haze-Upload__iconStyle{margin-bottom:var(--haze-space-3);color:var(--haze-color-text-muted)}.haze-Upload__hiddenInput{display:none}.haze-ColorPicker__container{gap:var(--haze-space-3);font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-ColorPicker__previewRow{align-items:center;gap:var(--haze-space-3);display:flex}.haze-ColorPicker__colorInput{border:2px solid var(--haze-color-border);border-radius:var(--haze-radius-md);cursor:pointer;background:0 0;width:40px;height:40px;padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch-wrapper{padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch{border-radius:var(--haze-radius-sm);border:none}.haze-ColorPicker__textInput{height:40px;padding:0 var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-mono);outline:none;flex:1}.haze-ColorPicker__textInput:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ColorPicker__presetsRow{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);flex-wrap:wrap;display:flex}.haze-ColorPicker__presetBtn{border-radius:var(--haze-radius-full);cursor:pointer;-webkit-transition:border-color .15s,-webkit-transform .15s;border:2px solid #0000;width:1.75rem;height:1.75rem;transition:border-color .15s,transform .15s}.haze-ColorPicker__presetBtn:hover{transform:scale(1.1)}.haze-ColorPicker__activePreset{border-color:var(--haze-color-text);box-shadow:0 0 0 2px var(--haze-color-bg)}.haze-Rating__container{gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:inline-flex}.haze-Rating__star{cursor:pointer;width:1.75rem;height:1.75rem;color:var(--haze-color-border);-webkit-transition:color .15s,-webkit-transform .15s;justify-content:center;align-items:center;transition:color .15s,transform .15s;display:inline-flex;position:relative}.haze-Rating__star:hover{transform:scale(1.1)}.haze-Rating__starActive{color:var(--haze-color-warning)}.haze-Timeline__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Timeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-6);display:flex;position:relative}.haze-Timeline__item:last-child{padding-bottom:0}.haze-Timeline__dotWrapper{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.haze-Timeline__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-border);z-index:1;flex-shrink:0;width:12px;height:12px}.haze-Timeline__primary{background:var(--haze-color-primary)}.haze-Timeline__success{background:var(--haze-color-success)}.haze-Timeline__warning{background:var(--haze-color-warning)}.haze-Timeline__danger{background:var(--haze-color-danger)}.haze-Timeline__line{background:var(--haze-color-border);width:2px;margin-top:var(--haze-space-1);flex:1}.haze-Timeline__content{flex:1;min-width:0}.haze-Timeline__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Timeline__descStyle,.haze-Timeline__timeStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Typography__titleBase{font-family:var(--haze-font-sans);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);margin:0}.haze-Typography__1{font-size:var(--haze-text-3xl);line-height:var(--haze-leading-tight)}.haze-Typography__2{font-size:var(--haze-text-2xl);line-height:var(--haze-leading-tight)}.haze-Typography__3{font-size:var(--haze-text-xl);line-height:var(--haze-leading-tight)}.haze-Typography__4{font-size:var(--haze-text-lg);line-height:var(--haze-leading-normal)}.haze-Typography__5{font-size:var(--haze-text-base);line-height:var(--haze-leading-normal)}.haze-Typography__textBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal)}.haze-Typography__default{color:var(--haze-color-text)}.haze-Typography__secondary{color:var(--haze-color-text-secondary)}.haze-Typography__muted{color:var(--haze-color-text-muted)}.haze-Typography__textStrong{font-weight:var(--haze-weight-bold)}.haze-Typography__textCode{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);padding:var(--haze-space-0) var(--haze-space-1);background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-sm)}.haze-Typography__textMark{background:color-mix(in srgb, var(--haze-color-warning) 25%, transparent);padding:0 var(--haze-space-1)}.haze-Typography__paragraphBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);margin:0 0 var(--haze-space-4)}.haze-Stat__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Stat__titleStyle{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1)}.haze-Stat__valueRow{align-items:baseline;gap:var(--haze-space-2);display:flex}.haze-Stat__valueStyle{font-size:var(--haze-text-2xl);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);line-height:var(--haze-leading-tight)}.haze-Stat__up{color:var(--haze-color-success)}.haze-Stat__down{color:var(--haze-color-danger)}.haze-Stat__neutral{color:var(--haze-color-text-muted)}.haze-Stat__trendStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium)}.haze-Stat__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Stat__groupStyle{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-6);flex-wrap:wrap;display:flex}.haze-Segmented__container{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);gap:2px;padding:2px;display:inline-flex;overflow-x:auto}.haze-Segmented__sm button{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Segmented__md button{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Segmented__lg button{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Segmented__btn{border-radius:var(--haze-radius-sm);color:var(--haze-color-text-secondary);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);white-space:nowrap;background:0 0;border:none;transition:background .15s,color .15s}.haze-Segmented__btn:hover:not(:disabled){color:var(--haze-color-text)}.haze-Segmented__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Segmented__btn:focus-visible{box-shadow:0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-Segmented__activeBtn{background:var(--haze-color-bg);color:var(--haze-color-text);box-shadow:var(--haze-shadow-sm)}.haze-Chip__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);font-weight:var(--haze-weight-medium);white-space:nowrap;padding:var(--haze-space-1) var(--haze-space-3);line-height:1;display:inline-flex}.haze-Chip__default{border:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Chip__primary{border:1px solid var(--haze-color-primary);color:var(--haze-color-primary)}.haze-Chip__success{border:1px solid var(--haze-color-success);color:var(--haze-color-success)}.haze-Chip__warning{border:1px solid var(--haze-color-warning);color:var(--haze-color-warning)}.haze-Chip__danger{border:1px solid var(--haze-color-danger);color:var(--haze-color-danger)}.haze-Chip__iconStyle{align-items:center;display:inline-flex}.haze-Chip__closeBtn{border-radius:var(--haze-radius-full);width:1.25rem;height:1.25rem;color:inherit;cursor:pointer;opacity:.6;margin-left:var(--haze-space-1);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.haze-Chip__closeBtn:hover{opacity:1}.haze-ScrollArea__base{font-family:var(--haze-font-sans);scrollbar-width:thin;scrollbar-color:var(--haze-color-border) transparent;overflow:auto}.haze-ScrollArea__base::-webkit-scrollbar{width:6px;height:6px}.haze-ScrollArea__base::-webkit-scrollbar-track{background:0 0}.haze-ScrollArea__base::-webkit-scrollbar-thumb{background:var(--haze-color-border);border-radius:var(--haze-radius-full)}.haze-ScrollArea__base::-webkit-scrollbar-thumb:hover{background:var(--haze-color-border-hover)}.haze-TimePicker__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.haze-TimePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TimePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-TimePicker__input::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-DateRangePicker__container{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:inline-flex}.haze-DateRangePicker__input{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-DateRangePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-DateRangePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-DateRangePicker__sep{color:var(--haze-color-text-muted);font-size:var(--haze-text-sm)}.haze-OTPInput__container{gap:var(--haze-space-2);font-family:var(--haze-font-sans);display:inline-flex}.haze-OTPInput__cell{text-align:center;width:2.5rem;height:2.75rem;font-size:var(--haze-text-lg);font-family:var(--haze-font-mono);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);outline:none;transition:border-color .15s,box-shadow .15s}.haze-OTPInput__cell:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__wrapper{width:100%;font-family:var(--haze-font-sans);display:inline-flex;position:relative}.haze-PasswordInput__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);padding-right:var(--haze-space-10);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-PasswordInput__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__input:disabled{opacity:.5;cursor:not-allowed}.haze-PasswordInput__toggle{right:var(--haze-space-2);padding:var(--haze-space-2);cursor:pointer;min-width:2.5rem;min-height:2.5rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-PasswordInput__toggle:hover{color:var(--haze-color-text)}.haze-TagInput__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:center;min-height:2.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.haze-TagInput__container:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TagInput__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-0) var(--haze-space-2);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);display:inline-flex}.haze-TagInput__removeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagInput__removeBtn:hover{color:var(--haze-color-text)}.haze-TagInput__inputEl{min-width:4rem;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;outline:none;flex:1;padding:0}.haze-InlineEdit__display{cursor:text;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);border:1px solid #0000;min-width:2rem;min-height:1.75rem;transition:background .15s}.haze-InlineEdit__display:hover{background:var(--haze-color-muted)}.haze-InlineEdit__editing{padding:var(--haze-space-1) var(--haze-space-2);border:1px solid var(--haze-color-primary);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none;min-width:2rem}.haze-InlineEdit__placeholderStyle{color:var(--haze-color-text-muted);font-style:italic}.haze-DropdownMenu__wrapper{display:inline-block;position:relative}.haze-DropdownMenuTrigger__trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.haze-DropdownMenuContent__content{min-width:10rem;margin-top:var(--haze-space-1);padding:var(--haze-space-1);background:var(--haze-color-bg);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);box-shadow:var(--haze-shadow-md);z-index:50;position:absolute;top:100%}.haze-DropdownMenuContent__alignStart{left:0}.haze-DropdownMenuContent__alignCenter{left:50%;transform:translate(-50%)}.haze-DropdownMenuContent__alignEnd{right:0}.haze-DropdownMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-DropdownMenuItem__item:hover{background:var(--haze-color-muted)}.haze-DropdownMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-DropdownMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-DropdownMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-ContextMenu__wrapper{display:inline-block;position:relative}.haze-ContextMenuTrigger__trigger{display:contents}.haze-ContextMenuContent__content{min-width:10rem;padding:var(--haze-space-1);background:var(--haze-color-bg);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);box-shadow:var(--haze-shadow-md);z-index:100;position:fixed}.haze-ContextMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-ContextMenuItem__item:hover{background:var(--haze-color-muted)}.haze-ContextMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-ContextMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-ContextMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NavigationBar__nav{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-bg);border-bottom:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-NavigationBar__brand{font-size:var(--haze-text-lg);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);white-space:nowrap;-webkit-text-decoration:none;text-decoration:none}.haze-NavigationBar__links{align-items:center;gap:var(--haze-space-3);flex:1;display:flex}.haze-NavigationBar__endSlot{align-items:center;gap:var(--haze-space-2);margin-left:auto;display:flex}.haze-NavLink__link{font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text-muted);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;transition:color .15s,background .15s}.haze-NavLink__link:hover{color:var(--haze-color-text);background:var(--haze-color-muted)}.haze-NavLink__activeLink{color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-BackToTop__button{bottom:calc(var(--haze-space-6) + env(safe-area-inset-bottom));right:calc(var(--haze-space-6) + env(safe-area-inset-right));border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:2.5rem;height:2.5rem;color:var(--haze-color-bg);cursor:pointer;box-shadow:var(--haze-shadow-lg);font-size:var(--haze-text-lg);-webkit-transition:opacity .2s,-webkit-transform .2s;border:none;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:fixed}.haze-BackToTop__button:hover{transform:translateY(-2px)}.haze-BackToTop__hidden{opacity:0;pointer-events:none;transform:translateY(1rem)}.haze-Affix__affix{z-index:100;position:fixed}.haze-Affix__posTop{top:0;left:0;right:0}.haze-Affix__posBottom{bottom:0;left:0;right:0}.haze-Container__container{width:100%;padding-left:var(--haze-space-4);padding-right:var(--haze-space-4);font-family:var(--haze-font-sans);margin-left:auto;margin-right:auto}.haze-Container__sm{max-width:640px}.haze-Container__md{max-width:768px}.haze-Container__lg{max-width:1024px}.haze-Container__xl{max-width:1280px}.haze-Container__full{max-width:100%}.haze-Banner__banner{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);border-radius:var(--haze-radius-md);justify-content:space-between;display:flex}.haze-Banner__info{background:var(--haze-color-info-light,#e0f2fe);color:var(--haze-color-info,#0284c7)}.haze-Banner__success{background:var(--haze-color-success-light,#dcfce7);color:var(--haze-color-success,#16a34a)}.haze-Banner__warning{background:var(--haze-color-warning-light,#fef9c3);color:var(--haze-color-warning,#ca8a04)}.haze-Banner__danger{background:var(--haze-color-danger-light,#fee2e2);color:var(--haze-color-danger,#dc2626)}.haze-Banner__closeBtn{cursor:pointer;color:inherit;opacity:.7;font-size:var(--haze-text-lg);padding:var(--haze-space-2);background:0 0;border:none;min-width:2.5rem;min-height:2.5rem;line-height:1}.haze-Banner__closeBtn:hover{opacity:1}.haze-Banner__content{flex:1}.haze-ConfirmDialog__overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.haze-ConfirmDialog__dialog{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);box-shadow:var(--haze-shadow-xl);width:100%;max-width:480px;font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-ConfirmDialog__header{margin-bottom:var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}.haze-ConfirmDialog__body{margin-bottom:var(--haze-space-6);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);line-height:var(--haze-leading-relaxed)}.haze-ConfirmDialog__footer{justify-content:flex-end;gap:var(--haze-space-3);display:flex}.haze-ConfirmDialog__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s}.haze-ConfirmDialog__cancelBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ConfirmDialog__cancelBtn:hover{background:var(--haze-color-muted)}.haze-ConfirmDialog__confirmBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ConfirmDialog__confirmBtn:hover{opacity:.9}.haze-ConfirmDialog__dangerBtn{background:var(--haze-color-danger,#dc2626);border:1px solid var(--haze-color-danger,#dc2626);color:#fff}.haze-ConfirmDialog__dangerBtn:hover{opacity:.9}.haze-CodeBlock__block{background:var(--haze-color-muted);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-mono);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);position:relative;overflow-x:auto}.haze-CodeBlock__pre{padding:var(--haze-space-4);margin:0}.haze-CodeBlock__lang{top:var(--haze-space-2);right:var(--haze-space-3);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);text-transform:uppercase;-webkit-user-select:none;user-select:none;position:absolute}.haze-AspectRatio__wrapper{width:100%;position:relative}.haze-AspectRatio__inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.haze-VirtualList__container{font-family:var(--haze-font-sans);overflow-y:auto}.haze-VirtualList__viewport{width:100%;position:relative}.haze-TagGroup__group{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-TagGroupItem__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-1) var(--haze-space-3);background:var(--haze-color-muted);color:var(--haze-color-text);border-radius:var(--haze-radius-full);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);line-height:var(--haze-leading-tight);display:inline-flex}.haze-TagGroupItem__closeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagGroupItem__closeBtn:hover{color:var(--haze-color-text)}.haze-BottomSheet__overlay{z-index:100;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.haze-BottomSheet__sheet{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl) var(--haze-radius-xl) 0 0;padding:var(--haze-space-4) var(--haze-space-6) calc(var(--haze-space-4) + env(safe-area-inset-bottom));width:100%;max-width:640px;max-height:80vh;font-family:var(--haze-font-sans);color:var(--haze-color-text);box-shadow:var(--haze-shadow-xl);overflow-y:auto}.haze-BottomSheet__handle{background:var(--haze-color-border);border-radius:var(--haze-radius-full);width:2rem;height:.25rem;margin:0 auto var(--haze-space-4)}.haze-SwipeAction__wrapper{font-family:var(--haze-font-sans);position:relative;overflow:hidden}.haze-SwipeAction__actionsLeft{align-items:center;height:100%;display:flex;position:absolute;top:0;left:0}.haze-SwipeAction__actionsRight{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.haze-SwipeAction__content{background:var(--haze-color-bg);-webkit-transition:-webkit-transform .2s;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .2s;position:relative}.haze-ChatMessage__wrapper{gap:var(--haze-space-3);font-family:var(--haze-font-sans);padding:var(--haze-space-3) 0;display:flex}.haze-ChatMessage__wrapperUser{flex-direction:row-reverse}.haze-ChatMessage__avatarSlot{border-radius:var(--haze-radius-full);background:var(--haze-color-muted);width:2rem;height:2rem;font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.haze-ChatMessage__body{min-width:0;max-width:75%}.haze-ChatMessage__header{align-items:center;gap:var(--haze-space-2);margin-bottom:var(--haze-space-1);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);display:flex}.haze-ChatMessage__headerUser{flex-direction:row-reverse}.haze-ChatMessage__bubble{padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-lg);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);word-break:break-word}.haze-ChatMessage__bubbleUser{background:var(--haze-color-primary);color:var(--haze-color-bg);border-bottom-right-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleAssistant{background:var(--haze-color-muted);color:var(--haze-color-text);border-bottom-left-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleSystem{color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);text-align:center;padding:var(--haze-space-2);background:0 0}.haze-ChatMessage__statusText{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ChatMessage__statusError{color:var(--haze-color-danger,#dc2626)}.haze-ChatContainer__container{font-family:var(--haze-font-sans);padding:var(--haze-space-4);gap:var(--haze-space-1);flex-direction:column;display:flex;overflow-y:auto}.haze-ChatInput__wrapper{-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:var(--haze-space-2);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);transition:border-color .15s,box-shadow .15s;display:flex}.haze-ChatInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ChatInput__textarea{resize:none;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);background:0 0;border:none;outline:none;flex:1;min-height:1.5rem;max-height:10rem;padding:0}.haze-ChatInput__sendBtn{border-radius:var(--haze-radius-md);background:var(--haze-color-primary);width:2rem;height:2rem;color:var(--haze-color-bg);cursor:pointer;font-size:var(--haze-text-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.haze-ChatInput__sendBtn:disabled{opacity:.5;cursor:not-allowed}.haze-ChatInput__sendBtn:hover:not(:disabled){opacity:.9}.haze-StreamingText__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);white-space:pre-wrap}.haze-StreamingText__cursor{background:var(--haze-color-primary);vertical-align:text-bottom;width:.5em;height:1em;margin-left:1px;animation:1s step-end infinite blink-haze-StreamingText__cursor;display:inline-block}@keyframes blink-haze-StreamingText__cursor{50%{opacity:0}}.haze-MarkdownRenderer__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);word-break:break-word}.haze-MarkdownRenderer__wrapper h1,.haze-MarkdownRenderer__wrapper h2,.haze-MarkdownRenderer__wrapper h3,.haze-MarkdownRenderer__wrapper h4,.haze-MarkdownRenderer__wrapper h5,.haze-MarkdownRenderer__wrapper h6{font-weight:var(--haze-weight-semibold);margin-top:var(--haze-space-4);margin-bottom:var(--haze-space-2);line-height:var(--haze-leading-tight)}.haze-MarkdownRenderer__wrapper h1{font-size:var(--haze-text-2xl)}.haze-MarkdownRenderer__wrapper h2{font-size:var(--haze-text-xl)}.haze-MarkdownRenderer__wrapper h3{font-size:var(--haze-text-lg)}.haze-MarkdownRenderer__wrapper h4{font-size:var(--haze-text-base)}.haze-MarkdownRenderer__wrapper p{margin-bottom:var(--haze-space-3)}.haze-MarkdownRenderer__wrapper ul,.haze-MarkdownRenderer__wrapper ol{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-6)}.haze-MarkdownRenderer__wrapper li{margin-bottom:var(--haze-space-1)}.haze-MarkdownRenderer__wrapper code{font-family:var(--haze-font-mono);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);padding:.125em .375em;font-size:.875em}.haze-MarkdownRenderer__wrapper pre{margin-bottom:var(--haze-space-3);padding:var(--haze-space-4);background:var(--haze-color-muted);border-radius:var(--haze-radius-md);overflow-x:auto}.haze-MarkdownRenderer__wrapper pre code{background:0 0;padding:0}.haze-MarkdownRenderer__wrapper blockquote{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-4);border-left:3px solid var(--haze-color-border);color:var(--haze-color-text-muted)}.haze-MarkdownRenderer__wrapper a{color:var(--haze-color-primary);-webkit-text-decoration:underline;text-decoration:underline}.haze-MarkdownRenderer__wrapper table{width:100%;margin-bottom:var(--haze-space-3);border-collapse:collapse}.haze-MarkdownRenderer__wrapper th,.haze-MarkdownRenderer__wrapper td{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);text-align:left}.haze-MarkdownRenderer__wrapper th{background:var(--haze-color-muted);font-weight:var(--haze-weight-medium)}.haze-MarkdownRenderer__wrapper hr{margin:var(--haze-space-4) 0;border:none;border-top:1px solid var(--haze-color-border)}.haze-MarkdownRenderer__wrapper img{border-radius:var(--haze-radius-md);max-width:100%}.haze-ToolCallCard__card{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);overflow:hidden}.haze-ToolCallCard__header{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);display:flex}.haze-ToolCallCard__statusIcon{border-radius:var(--haze-radius-full);flex-shrink:0;width:.5rem;height:.5rem}.haze-ToolCallCard__statusPending{background:var(--haze-color-text-muted)}.haze-ToolCallCard__statusRunning{background:var(--haze-color-primary);animation:1.5s infinite pulse}.haze-ToolCallCard__statusDone{background:var(--haze-color-success,#16a34a)}.haze-ToolCallCard__statusError{background:var(--haze-color-danger,#dc2626)}.haze-ToolCallCard__body{padding:var(--haze-space-3)}.haze-ToolCallCard__section{margin-bottom:var(--haze-space-2)}.haze-ToolCallCard__sectionLabel{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1);text-transform:uppercase;letter-spacing:.05em}.haze-ToolCallCard__content{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);white-space:pre-wrap;word-break:break-all;color:var(--haze-color-text)}.haze-ThinkingIndicator__wrapper{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);padding:var(--haze-space-2) 0;display:inline-flex}.haze-ThinkingIndicator__dots{gap:var(--haze-space-1);display:inline-flex}@keyframes bounce-haze-ThinkingIndicator__dots{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.375rem)}}.haze-ThinkingIndicator__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-text-muted);width:.375rem;height:.375rem;animation:1.4s ease-in-out infinite bounce}.haze-ThinkingIndicator__dot2{animation-delay:.16s}.haze-ThinkingIndicator__dot3{animation-delay:.32s}.haze-StepTimeline__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-StepTimeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-4);display:flex;position:relative}.haze-StepTimeline__item:last-child{padding-bottom:0}.haze-StepTimeline__item:not(:last-child):before{content:"";background:var(--haze-color-border);width:2px;position:absolute;top:1.5rem;bottom:0;left:.5625rem}.haze-StepTimeline__marker{border-radius:var(--haze-radius-full);border:2px solid var(--haze-color-border);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.5rem;display:flex}.haze-StepTimeline__markerPending{border-color:var(--haze-color-border);background:var(--haze-color-bg)}.haze-StepTimeline__markerActive{border-color:var(--haze-color-primary);background:var(--haze-color-primary)}.haze-StepTimeline__markerDone{border-color:var(--haze-color-success,#16a34a);background:var(--haze-color-success,#16a34a);color:#fff}.haze-StepTimeline__markerError{border-color:var(--haze-color-danger,#dc2626);background:var(--haze-color-danger,#dc2626);color:#fff}.haze-StepTimeline__body{flex:1;min-width:0;padding-top:.0625rem}.haze-StepTimeline__labelStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-StepTimeline__descriptionStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ApprovalCard__card{border:1px solid var(--haze-color-warning,#eab308);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);background:var(--haze-color-bg);overflow:hidden}.haze-ApprovalCard__header{padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-warning-light,#fef9c3);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-ApprovalCard__body{padding:var(--haze-space-3) var(--haze-space-4)}.haze-ApprovalCard__desc{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__content{margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__actions{gap:var(--haze-space-2);padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);display:flex}.haze-ApprovalCard__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;flex:1;transition:background .15s}.haze-ApprovalCard__denyBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ApprovalCard__denyBtn:hover{background:var(--haze-color-muted)}.haze-ApprovalCard__approveBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ApprovalCard__approveBtn:hover{opacity:.9}.haze-TokenCounter__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted)}.haze-TokenCounter__bar{background:var(--haze-color-muted);border-radius:var(--haze-radius-full);height:.25rem;margin-top:var(--haze-space-1);overflow:hidden}.haze-TokenCounter__fill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-TokenCounter__fillNormal{background:var(--haze-color-primary)}.haze-TokenCounter__fillWarning{background:var(--haze-color-warning,#eab308)}.haze-TokenCounter__fillDanger{background:var(--haze-color-danger,#dc2626)}.haze-TokenCounter__info{-webkit-box-pack:justify;-ms-flex-pack:space-between;justify-content:space-between;align-items:baseline;display:flex}.haze-TokenCounter__count{font-variant-numeric:tabular-nums}.haze-ModelPicker__wrapper{font-family:var(--haze-font-sans)}.haze-ModelPicker__select{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);cursor:pointer;appearance:none;-webkit-background-position:right .75rem center;padding-right:var(--haze-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;transition:border-color .15s,box-shadow .15s}.haze-ModelPicker__select:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ModelPicker__select:disabled{opacity:.5;cursor:not-allowed}.haze-ConversationList__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex;overflow-y:auto}.haze-ConversationItem__item{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);cursor:pointer;border-radius:var(--haze-radius-md);text-align:left;width:100%;font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;transition:background .15s;display:flex}.haze-ConversationItem__item:hover,.haze-ConversationItem__activeItem{background:var(--haze-color-muted)}.haze-ConversationItem__body{flex:1;min-width:0}.haze-ConversationItem__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.haze-ConversationItem__subtitleStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--haze-space-0);overflow:hidden}.haze-ConversationItem__endSlot{flex-shrink:0}.haze-DiffViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-DiffViewer__header{padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-DiffViewer__body{overflow-x:auto}.haze-DiffViewer__line{min-height:1.25rem;display:flex}.haze-DiffViewer__lineNum{width:3rem;padding:0 var(--haze-space-2);text-align:right;color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--haze-color-border);flex-shrink:0}.haze-DiffViewer__lineContent{padding:0 var(--haze-space-3);white-space:pre;flex:1}.haze-DiffViewer__added{background:var(--haze-color-success-light,#dcfce7)}.haze-DiffViewer__removed{background:var(--haze-color-danger-light,#fee2e2)}.haze-DiffViewer__addedPrefix{color:var(--haze-color-success,#16a34a)}.haze-DiffViewer__removedPrefix{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-LogViewer__toolbar{gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-LogViewer__filterBtn{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;font-size:var(--haze-text-xs);font-family:var(--haze-font-mono);color:var(--haze-color-text-muted);background:0 0;border:1px solid #0000;transition:background .15s,border-color .15s}.haze-LogViewer__filterBtn:hover{background:var(--haze-color-bg)}.haze-LogViewer__filterActive{background:var(--haze-color-bg);border-color:var(--haze-color-border);color:var(--haze-color-text)}.haze-LogViewer__body{max-height:24rem;padding:var(--haze-space-2) 0;overflow-y:auto}.haze-LogViewer__entry{gap:var(--haze-space-3);padding:var(--haze-space-0) var(--haze-space-3);display:flex}.haze-LogViewer__timestamp{color:var(--haze-color-text-muted);flex-shrink:0}.haze-LogViewer__levelBadge{text-align:center;text-transform:uppercase;width:3rem;font-weight:var(--haze-weight-medium);flex-shrink:0}.haze-LogViewer__levelDebug{color:var(--haze-color-text-muted)}.haze-LogViewer__levelInfo{color:var(--haze-color-primary)}.haze-LogViewer__levelWarn{color:var(--haze-color-warning,#eab308)}.haze-LogViewer__levelError{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__messageStyle{word-break:break-all;color:var(--haze-color-text);flex:1}
1
+ .haze-FormItem__item{align-items:stretch;gap:var(--haze-space-1);flex-direction:column;display:flex}.haze-FormItem__labelText{font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-FormItem__errorText{font-size:var(--haze-text-sm);color:var(--haze-color-danger)}.haze-colors__lightTheme{--haze-color-primary:#06f;--haze-color-primary-hover:#0052cc;--haze-color-primary-active:#003d99;--haze-color-primary-subtle:#e6f0ff;--haze-color-bg:#fff;--haze-color-bg-subtle:#f7f8fa;--haze-color-bg-muted:#eef0f4;--haze-color-text:#1a1a1a;--haze-color-text-secondary:#4a4a4a;--haze-color-text-muted:#8a8a8a;--haze-color-text-inverse:#fff;--haze-color-border:#e0e0e0;--haze-color-border-hover:silver;--haze-color-success:#16a34a;--haze-color-warning:#f59e0b;--haze-color-danger:#dc2626;--haze-color-info:#2563eb;--haze-color-focus-ring:#06f6}.haze-colors__darkTheme{--haze-color-primary:#4d94ff;--haze-color-primary-hover:#6aa6ff;--haze-color-primary-active:#80b3ff;--haze-color-primary-subtle:#1a2e4a;--haze-color-bg:#121212;--haze-color-bg-subtle:#1e1e1e;--haze-color-bg-muted:#2a2a2a;--haze-color-text:#e8e8e8;--haze-color-text-secondary:#b0b0b0;--haze-color-text-muted:#707070;--haze-color-text-inverse:#1a1a1a;--haze-color-border:#333;--haze-color-border-hover:#4a4a4a;--haze-color-success:#22c55e;--haze-color-warning:#fbbf24;--haze-color-danger:#ef4444;--haze-color-info:#3b82f6;--haze-color-focus-ring:#4d94ff66}.haze-spacing__spacing{--haze-space-0:0;--haze-space-1:4px;--haze-space-2:8px;--haze-space-3:12px;--haze-space-4:16px;--haze-space-5:20px;--haze-space-6:24px;--haze-space-8:32px;--haze-space-10:40px;--haze-space-12:48px;--haze-space-16:64px;--haze-radius-none:0;--haze-radius-sm:4px;--haze-radius-md:6px;--haze-radius-lg:8px;--haze-radius-xl:12px;--haze-radius-2xl:16px;--haze-radius-full:9999px;--haze-shadow-sm:0 1px 2px #0000000d;--haze-shadow-md:0 4px 6px #00000012;--haze-shadow-lg:0 10px 15px #0000001a;--haze-shadow-xl:0 20px 25px #0000001a}.haze-typography__typography{--haze-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--haze-font-mono:"SF Mono",SFMono-Regular,ui-monospace,"DejaVu Sans Mono",Menlo,Consolas,monospace;--haze-text-xs:12px;--haze-text-sm:14px;--haze-text-base:16px;--haze-text-lg:18px;--haze-text-xl:20px;--haze-text-2xl:24px;--haze-text-3xl:30px;--haze-leading-tight:1.25;--haze-leading-normal:1.5;--haze-leading-relaxed:1.75;--haze-weight-normal:400;--haze-weight-medium:500;--haze-weight-semibold:600;--haze-weight-bold:700}.haze-Button__base{justify-content:center;align-items:center;gap:var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.haze-Button__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Button__base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-Button__solid{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Button__solid:hover{background:var(--haze-color-primary-hover)}.haze-Button__solid:active{background:var(--haze-color-primary-active)}.haze-Button__outline{border-color:var(--haze-color-border);color:var(--haze-color-text);background:0 0}.haze-Button__outline:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-Button__outline:active{background:var(--haze-color-bg-muted)}.haze-Button__ghost{color:var(--haze-color-text);background:0 0}.haze-Button__ghost:hover{background:var(--haze-color-bg-subtle)}.haze-Button__ghost:active{background:var(--haze-color-bg-muted)}.haze-Button__sizeSm{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Button__sizeMd{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-sm)}.haze-Button__sizeLg{padding:var(--haze-space-3) var(--haze-space-6);font-size:var(--haze-text-base)}.haze-Button__squareSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-Button__squareMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Button__squareLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-Input__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);transition:border-color .15s,box-shadow .15s;display:block}.haze-Input__base:hover{border-color:var(--haze-color-border-hover)}.haze-Input__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Input__base:disabled{opacity:.5;cursor:not-allowed}.haze-Input__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Input__base::placeholder{color:var(--haze-color-text-muted)}.haze-Input__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Input__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Input__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Select__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);appearance:none;-webkit-background-position:right var(--haze-space-3) center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.22 4.47a.75.75 0 0 1 1.06 0L6 7.19l2.72-2.72a.75.75 0 1 1 1.06 1.06L6.53 8.78a.75.75 0 0 1-1.06 0L2.22 5.53a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--haze-space-3) center;padding-right:var(--haze-space-8);cursor:pointer;transition:border-color .15s,box-shadow .15s;display:block}.haze-Select__base:hover{border-color:var(--haze-color-border-hover)}.haze-Select__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Select__base:disabled{opacity:.5;cursor:not-allowed}.haze-Select__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Select__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Select__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Checkbox__base{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Checkbox__base:hover{border-color:var(--haze-color-border-hover)}.haze-Checkbox__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Checkbox__base:checked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-Checkbox__base:checked:after{content:"";border:solid var(--haze-color-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.haze-Checkbox__base:disabled{opacity:.5;cursor:not-allowed}.haze-Checkbox__labelText{align-items:center;gap:var(--haze-space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.haze-Switch__track{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;align-items:center;padding:2px;transition:background .2s;display:inline-flex;position:relative}.haze-Switch__track:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Switch__track:disabled{opacity:.5;cursor:not-allowed}.haze-Switch__trackChecked{background:var(--haze-color-primary)}.haze-Switch__thumb{border-radius:var(--haze-radius-full);-webkit-transition:-webkit-transform .2s;box-shadow:var(--haze-shadow-sm);background:#fff;transition:transform .2s;display:block}.haze-Switch__trackSm{width:2.25rem;height:1.25rem}.haze-Switch__trackMd{width:40px;height:22px}.haze-Switch__trackLg{width:48px;height:26px}.haze-Switch__thumbSm{width:1rem;height:1rem}.haze-Switch__thumbMd{width:18px;height:18px}.haze-Switch__thumbLg{width:22px;height:22px}.haze-Switch__thumbCheckedSm{transform:translate(1rem)}.haze-Switch__thumbCheckedMd{transform:translate(18px)}.haze-Switch__thumbCheckedLg{transform:translate(22px)}.haze-Badge__base{border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;align-items:center;display:inline-flex}.haze-Badge__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Badge__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Badge__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Badge__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Badge__info{background:color-mix(in srgb, var(--haze-color-info) 15%, transparent);color:var(--haze-color-info)}.haze-Badge__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Badge__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Dialog__overlay{border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);box-shadow:var(--haze-shadow-xl);border:none;width:100%;max-width:480px}.haze-Dialog__overlay::backdrop{background:#0006}.haze-Dialog__overlay:focus-visible{box-shadow:var(--haze-shadow-xl),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tooltip__wrapper{display:inline-flex;position:relative}.haze-Tooltip__bubble{z-index:1000;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);background:var(--haze-color-text);color:var(--haze-color-text-inverse);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);line-height:var(--haze-leading-normal);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute}.haze-Tooltip__top{margin-bottom:var(--haze-space-1);bottom:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__bottom{margin-top:var(--haze-space-1);top:100%;left:50%;transform:translate(-50%)}.haze-Tooltip__left{margin-right:var(--haze-space-1);top:50%;right:100%;transform:translateY(-50%)}.haze-Tooltip__right{margin-left:var(--haze-space-1);top:50%;left:100%;transform:translateY(-50%)}.haze-Tooltip__showOnInteract:hover>[role=tooltip],.haze-Tooltip__showOnInteract:focus-within>[role=tooltip]{opacity:1}.haze-Popover__container{display:inline-flex;position:relative}.haze-Popover__panelVisuals{padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);box-shadow:var(--haze-shadow-lg);min-width:200px}.haze-Popover__panelFallback{z-index:1000;margin-top:var(--haze-space-1);position:absolute;top:100%;left:0}.haze-Popover__hidden{display:none}.haze-Popover__panelNative{margin:0;inset:auto}.haze-Popover__panelAnchored{position-anchor:var(--haze-popover-anchor);position-area:bottom span-left;margin-top:var(--haze-space-1);position-try-fallbacks:flip-block}.haze-Popover__panelJsPositioned{margin-top:var(--haze-space-1);position:fixed}.haze-Card__base{border-radius:var(--haze-radius-lg);padding:var(--haze-space-5);font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-Card__elevated{background:var(--haze-color-bg);box-shadow:var(--haze-shadow-md)}.haze-Card__outlined{background:var(--haze-color-bg);border:1px solid var(--haze-color-border)}.haze-Card__filled{background:var(--haze-color-bg-subtle)}.haze-Radio__radioInput{appearance:none;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-full);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin:.4375rem;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.haze-Radio__radioInput:hover{border-color:var(--haze-color-border-hover)}.haze-Radio__radioInput:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Radio__radioInput:checked{border-color:var(--haze-color-primary)}.haze-Radio__radioInput:checked:after{content:"";border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:10px;height:10px;position:absolute;top:3px;left:3px}.haze-Radio__radioInput:disabled{opacity:.5;cursor:not-allowed}.haze-Radio__labelStyle{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;display:inline-flex}.haze-RadioGroup__base{gap:var(--haze-space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.haze-Textarea__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);line-height:var(--haze-leading-normal);resize:vertical;transition:border-color .15s,box-shadow .15s;display:block}.haze-Textarea__base:hover{border-color:var(--haze-color-border-hover)}.haze-Textarea__base:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Textarea__base:disabled{opacity:.5;cursor:not-allowed}.haze-Textarea__base::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__base:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Textarea__base::placeholder{color:var(--haze-color-text-muted)}.haze-Textarea__sm{padding:var(--haze-space-1) var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-Textarea__md{padding:var(--haze-space-2) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Textarea__lg{padding:var(--haze-space-3) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Slider__base{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;outline:none;width:100%;height:6px;transition:background .15s}.haze-Slider__base::-webkit-slider-thumb{appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer;transition:background .15s,box-shadow .15s}.haze-Slider__base::-moz-range-thumb{border-radius:var(--haze-radius-full);background:var(--haze-color-primary);border:2px solid var(--haze-color-bg);width:1.25rem;height:1.25rem;box-shadow:var(--haze-shadow-sm);cursor:pointer}.haze-Slider__base:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Slider__base:disabled{opacity:.5;cursor:not-allowed}.haze-Tabs__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-TabList__base{border-bottom:1px solid var(--haze-color-border);gap:0;display:flex;overflow-x:auto}.haze-Tab__base{padding:var(--haze-space-2) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;transition:color .15s,border-color .15s}.haze-Tab__base:hover{color:var(--haze-color-text)}.haze-Tab__base:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Tab__active{color:var(--haze-color-primary);border-bottom-color:var(--haze-color-primary)}.haze-TabPanel__base{padding:var(--haze-space-4) 0}.haze-TabPanel__hidden{display:none}.haze-Accordion__base{width:100%}.haze-AccordionItem__item{border-bottom:1px solid var(--haze-color-border)}.haze-AccordionItem__item:first-of-type{border-top:1px solid var(--haze-color-border)}.haze-AccordionItem__summary{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-AccordionItem__summary:hover{background:var(--haze-color-bg-subtle)}.haze-AccordionItem__summary:active{background:var(--haze-color-bg-muted)}.haze-AccordionItem__summary:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-AccordionItem__summary::marker{display:none}.haze-AccordionItem__summary::-webkit-details-marker{display:none}.haze-AccordionItem__summary:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-AccordionItem__summary:after{transform:rotate(45deg)}.haze-AccordionItem__content{padding:0 var(--haze-space-4) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Alert__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);display:flex}.haze-Alert__info{background:color-mix(in srgb, var(--haze-color-info) 10%, transparent);color:var(--haze-color-info);border:1px solid color-mix(in srgb, var(--haze-color-info) 25%, transparent)}.haze-Alert__success{background:color-mix(in srgb, var(--haze-color-success) 10%, transparent);color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Alert__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, transparent);color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Alert__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, transparent);color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Alert__contentStyle{flex:1}.haze-Alert__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Alert__closeBtn:hover{opacity:1}.haze-Alert__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Avatar__base{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.haze-Avatar__sm{width:32px;height:32px;font-size:var(--haze-text-xs)}.haze-Avatar__md{width:40px;height:40px;font-size:var(--haze-text-sm)}.haze-Avatar__lg{width:56px;height:56px;font-size:var(--haze-text-lg)}.haze-Avatar__imgStyle{object-fit:cover;width:100%;height:100%}.haze-Tag__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);line-height:var(--haze-leading-tight);white-space:nowrap;display:inline-flex}.haze-Tag__default{background:var(--haze-color-bg-muted);color:var(--haze-color-text-secondary)}.haze-Tag__primary{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary)}.haze-Tag__success{background:color-mix(in srgb, var(--haze-color-success) 15%, transparent);color:var(--haze-color-success)}.haze-Tag__warning{background:color-mix(in srgb, var(--haze-color-warning) 15%, transparent);color:var(--haze-color-warning)}.haze-Tag__danger{background:color-mix(in srgb, var(--haze-color-danger) 15%, transparent);color:var(--haze-color-danger)}.haze-Tag__sm{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Tag__md{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Tag__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:inherit;opacity:.6;background:0 0;border:none;align-items:center;padding:0;line-height:1;transition:opacity .15s;display:inline-flex}.haze-Tag__closeBtn:hover{opacity:1}.haze-Tag__closeBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-Skeleton__base{background:var(--haze-color-bg-muted);animation:1.5s ease-in-out infinite shimmer-haze-Skeleton__base;display:block}@keyframes shimmer-haze-Skeleton__base{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.haze-Skeleton__text{border-radius:var(--haze-radius-sm);height:1em}.haze-Skeleton__circular{border-radius:var(--haze-radius-full)}.haze-Skeleton__rectangular{border-radius:var(--haze-radius-md)}.haze-Icon__base{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-Icon__base>svg{fill:currentColor;stroke:currentColor;width:100%;height:100%}.haze-Icon__strokeOnly>svg{fill:none}.haze-Icon__sm{width:16px;height:16px}.haze-Icon__md{width:20px;height:20px}.haze-Icon__lg{width:24px;height:24px}.haze-Image__wrapper{display:block;position:relative;overflow:hidden}.haze-Image__imgStyle{width:100%;height:100%;display:block}.haze-Image__fallbackStyle{background:var(--haze-color-bg-muted);width:100%;height:100%;color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:flex}.haze-Flex__base{display:flex}.haze-Breadcrumb__nav{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Breadcrumb__list{align-items:center;gap:var(--haze-space-2);white-space:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.haze-Breadcrumb__sep{color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none}.haze-BreadcrumbItem__link{color:var(--haze-color-primary);-webkit-text-decoration:none;text-decoration:none;transition:color .15s}.haze-BreadcrumbItem__link:hover{color:var(--haze-color-primary-hover);-webkit-text-decoration:underline;text-decoration:underline}.haze-BreadcrumbItem__link:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);border-radius:var(--haze-radius-sm);outline:none}.haze-BreadcrumbItem__current{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Disclosure__details{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-Disclosure__summaryStyle{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;list-style:none;transition:background .15s;display:flex}.haze-Disclosure__summaryStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Disclosure__summaryStyle:focus-visible{box-shadow:inset 0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Disclosure__summaryStyle::marker{display:none}.haze-Disclosure__summaryStyle::-webkit-details-marker{display:none}.haze-Disclosure__summaryStyle:after{content:"";border-right:2px solid var(--haze-color-text-muted);border-bottom:2px solid var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}details[open]>.haze-Disclosure__summaryStyle:after{transform:rotate(45deg)}.haze-Disclosure__content{padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-secondary);line-height:var(--haze-leading-normal)}.haze-Menu__container{display:inline-flex;position:relative}.haze-Menu__panel{z-index:1000;margin-top:var(--haze-space-1);min-width:160px;padding:var(--haze-space-1) 0;border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Menu__hidden{display:none}.haze-MenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;transition:background .1s;display:flex}.haze-MenuItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-MenuItem__item:active{background:var(--haze-color-bg-muted)}.haze-MenuItem__item:focus-visible{background:var(--haze-color-bg-subtle);box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-MenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-MenuDivider__divider{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NumberInput__wrapper{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.haze-NumberInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-NumberInput__input{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);text-align:center;-moz-appearance:textfield;border:none;outline:none;width:100%;min-width:0}.haze-NumberInput__input::-webkit-inner-spin-button{appearance:none;margin:0}.haze-NumberInput__input::-webkit-outer-spin-button{appearance:none;margin:0}.haze-NumberInput__stepBtn{appearance:none;background:var(--haze-color-bg-subtle);color:var(--haze-color-text);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;transition:background .1s;display:flex}.haze-NumberInput__stepBtn:hover{background:var(--haze-color-bg-muted)}.haze-NumberInput__stepBtn:active{background:var(--haze-color-border)}.haze-NumberInput__stepBtn:disabled{opacity:.5;cursor:not-allowed}.haze-NumberInput__inputSm{padding:var(--haze-space-1);font-size:var(--haze-text-sm)}.haze-NumberInput__inputMd{padding:var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__inputLg{padding:var(--haze-space-3);font-size:var(--haze-text-base)}.haze-NumberInput__btnSm{padding:0 var(--haze-space-2);font-size:var(--haze-text-sm)}.haze-NumberInput__btnMd{padding:0 var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-NumberInput__btnLg{padding:0 var(--haze-space-3);font-size:var(--haze-text-base)}.haze-FileInput__hiddenInput{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.haze-FileInput__trigger{justify-content:center;align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-4);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex}.haze-FileInput__trigger:hover{border-color:var(--haze-color-border-hover);background:var(--haze-color-bg-subtle)}.haze-FileInput__trigger:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-Toast__base{-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal);box-shadow:var(--haze-shadow-lg);pointer-events:auto;animation:.2s ease-out toastIn-haze-Toast__base;display:flex}@keyframes toastIn-haze-Toast__base{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.haze-Toast__info{background:var(--haze-color-bg);color:var(--haze-color-text);border:1px solid var(--haze-color-border)}.haze-Toast__success{background:color-mix(in srgb, var(--haze-color-success) 10%, var(--haze-color-bg));color:var(--haze-color-success);border:1px solid color-mix(in srgb, var(--haze-color-success) 25%, transparent)}.haze-Toast__warning{background:color-mix(in srgb, var(--haze-color-warning) 10%, var(--haze-color-bg));color:var(--haze-color-warning);border:1px solid color-mix(in srgb, var(--haze-color-warning) 25%, transparent)}.haze-Toast__danger{background:color-mix(in srgb, var(--haze-color-danger) 10%, var(--haze-color-bg));color:var(--haze-color-danger);border:1px solid color-mix(in srgb, var(--haze-color-danger) 25%, transparent)}.haze-Toast__contentStyle{flex:1}.haze-Toast__closeBtn{appearance:none;color:inherit;cursor:pointer;font-size:var(--haze-text-lg);opacity:.6;background:0 0;border:none;padding:0;line-height:1;transition:opacity .15s}.haze-Toast__closeBtn:hover{opacity:1}.haze-ToastContainer__container{bottom:calc(var(--haze-space-4) + env(safe-area-inset-bottom));right:calc(var(--haze-space-4) + env(safe-area-inset-right));z-index:9999;gap:var(--haze-space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.haze-List__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-normal);padding-left:var(--haze-space-5);margin:0}.haze-List__unordered{list-style-type:disc}.haze-List__ordered{list-style-type:decimal}.haze-List__none{padding-left:0;list-style-type:none}.haze-ListItem__item{padding:var(--haze-space-1) 0}.haze-ComboboxOption__option{padding:var(--haze-space-2) var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;align-items:center;transition:background .1s;display:flex}.haze-ComboboxOption__option:hover{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__option:active{background:var(--haze-color-bg-muted)}.haze-ComboboxOption__highlightedStyle{background:var(--haze-color-bg-subtle)}.haze-ComboboxOption__selectedStyle{font-weight:var(--haze-weight-medium);color:var(--haze-color-primary)}.haze-Combobox__wrapper{width:100%;display:inline-block;position:relative}.haze-Combobox__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-Combobox__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Combobox__listbox{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);max-height:200px;box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.haze-Combobox__hidden{display:none}.haze-Table__wrapper{overflow-x:auto}.haze-Table__base{border-collapse:collapse;width:100%;font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text)}.haze-Table__stripedStyle tbody tr:nth-child(2n){background:var(--haze-color-bg-subtle)}.haze-Table__borderedStyle th,.haze-Table__borderedStyle td{border:1px solid var(--haze-color-border)}.haze-TableHead__head{border-bottom:2px solid var(--haze-color-border)}.haze-TableHead__head th{text-align:left;padding:var(--haze-space-2) var(--haze-space-3);font-weight:var(--haze-weight-semibold);color:var(--haze-color-text)}.haze-TableBody__body td{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Carousel__wrapper{border-radius:var(--haze-radius-lg);position:relative;overflow:hidden}.haze-Carousel__track{-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;display:flex;overflow-x:auto}.haze-Carousel__track::-webkit-scrollbar{display:none}.haze-Carousel__navBtn{z-index:1;appearance:none;border-radius:var(--haze-radius-full);background:var(--haze-color-bg);width:2.5rem;height:2.5rem;color:var(--haze-color-text);font-size:var(--haze-text-lg);cursor:pointer;box-shadow:var(--haze-shadow-md);border:none;justify-content:center;align-items:center;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-Carousel__navBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Carousel__navBtn:focus-visible{box-shadow:var(--haze-shadow-md),0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Carousel__prevBtn{left:var(--haze-space-2)}.haze-Carousel__nextBtn{right:var(--haze-space-2)}.haze-Carousel__indicators{justify-content:center;gap:var(--haze-space-1);padding:var(--haze-space-2) 0;display:flex}.haze-Carousel__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-bg-muted);cursor:pointer;border:none;width:.625rem;height:.625rem;padding:.375rem;transition:background .15s}.haze-Carousel__dotActive{background:var(--haze-color-primary)}.haze-CarouselSlide__slide{scroll-snap-snap-align:start;scroll-snap-align:start;flex:0 0 100%;min-width:0}.haze-Calendar__calendarWrapper{padding:var(--haze-space-3);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm)}.haze-Calendar__header{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;margin-bottom:var(--haze-space-2);justify-content:space-between;display:flex}.haze-Calendar__headerBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-1);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1}.haze-Calendar__headerBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__headerBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__headerTitle{font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Calendar__grid{display:-ms-grid;-ms-grid-columns:repeat(7, 1fr);text-align:center;grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.haze-Calendar__weekday{padding:var(--haze-space-1);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-muted);font-size:var(--haze-text-xs)}.haze-Calendar__dayBtn{appearance:none;color:var(--haze-color-text);cursor:pointer;padding:var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);background:0 0;border:none;line-height:1.5;transition:background .1s}.haze-Calendar__dayBtn:hover{background:var(--haze-color-bg-subtle)}.haze-Calendar__dayBtn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Calendar__dayBtn:disabled{opacity:.3;cursor:not-allowed}.haze-Calendar__daySelected{background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Calendar__daySelected:hover{background:var(--haze-color-primary-hover)}.haze-Calendar__dayOutside{color:var(--haze-color-text-muted)}.haze-Datepicker__wrapper{display:inline-block;position:relative}.haze-Datepicker__input{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:100%;color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);padding:var(--haze-space-2) var(--haze-space-3);line-height:var(--haze-leading-normal);cursor:pointer;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;display:block}.haze-Datepicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Datepicker__dropdown{z-index:1000;margin-top:var(--haze-space-1);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);box-shadow:var(--haze-shadow-lg);position:absolute;top:100%;left:0}.haze-Datepicker__hiddenStyle{display:none}.haze-TreeItem__item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--haze-radius-sm);align-items:center;min-height:2rem;padding:2px 0;transition:background .15s;display:flex}.haze-TreeItem__item:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__item:focus-visible{box-shadow:inset 0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-TreeItem__blockItem{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm)}.haze-TreeItem__blockItem:hover{background:var(--haze-color-bg-subtle)}.haze-TreeItem__selectedStyle{background:var(--haze-color-primary-subtle);color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-TreeItem__disabledStyle{opacity:.5;cursor:not-allowed;pointer-events:none}.haze-TreeItem__switcher{cursor:pointer;width:1.5rem;height:1.5rem;color:var(--haze-color-text-muted);-webkit-transition:-webkit-transform .2s;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.haze-TreeItem__switcher:hover{color:var(--haze-color-text)}.haze-TreeItem__switcher svg{width:12px;height:12px}.haze-TreeItem__switcherExpanded{transform:rotate(90deg)}.haze-TreeItem__checkbox{width:1.25rem;height:1.25rem;margin-right:var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-sm);background:var(--haze-color-bg);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.haze-TreeItem__checkbox:hover{border-color:var(--haze-color-primary)}.haze-TreeItem__checkbox svg{color:#fff;width:12px;height:12px}.haze-TreeItem__checkboxChecked,.haze-TreeItem__checkboxHalfChecked{background:var(--haze-color-primary);border-color:var(--haze-color-primary)}.haze-TreeItem__nodeIcon{width:16px;height:16px;margin-right:var(--haze-space-2);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.haze-TreeItem__nodeIcon svg{width:16px;height:16px}.haze-TreeItem__title{font-size:var(--haze-text-sm);color:var(--haze-color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.haze-TreeItem__loadingIcon{animation:1s linear infinite spin-haze-TreeItem__loadingIcon;display:inline-flex}@keyframes spin-haze-TreeItem__loadingIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-TreeItem__indentLine{flex-shrink:0;width:24px;display:inline-block}.haze-TreeItem__indentLineWithBorder{border-left:1px solid var(--haze-color-border)}.haze-Tree__base{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);overflow:auto}.haze-Tree__group{min-width:0}.haze-Divider__base{background:var(--haze-color-border);border:none}.haze-Divider__horizontal{width:100%;height:1px}.haze-Divider__vertical{-ms-grid-row-align:stretch;align-self:stretch;width:1px;height:1em}.haze-Spinner__base{animation:.8s linear infinite spin-haze-Spinner__base;display:inline-flex}@keyframes spin-haze-Spinner__base{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.haze-Spinner__sm{width:16px;height:16px}.haze-Spinner__md{width:24px;height:24px}.haze-Spinner__lg{width:32px;height:32px}.haze-Empty__base{padding:var(--haze-space-8) var(--haze-space-4);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);flex-direction:column;justify-content:center;align-items:center;display:flex}.haze-Empty__imageStyle{margin-bottom:var(--haze-space-4)}.haze-Empty__descStyle{font-size:var(--haze-text-sm)}.haze-Empty__actionStyle{margin-top:var(--haze-space-4)}.haze-Progress__barBase{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-full);width:100%;overflow:hidden}.haze-Progress__sm{width:32px;height:32px}.haze-Progress__md{width:48px;height:48px}.haze-Progress__lg{width:64px;height:64px}.haze-Progress__barFill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-Progress__primary{stroke:var(--haze-color-primary)}.haze-Progress__success{stroke:var(--haze-color-success)}.haze-Progress__warning{stroke:var(--haze-color-warning)}.haze-Progress__danger{stroke:var(--haze-color-danger)}.haze-Progress__circleBase{transform:rotate(-90deg)}.haze-Progress__circleBg{fill:none;stroke:var(--haze-color-bg-muted)}.haze-Progress__circleFill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .3s}.haze-Pagination__nav{align-items:center;gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:flex}.haze-Pagination__btn{min-width:2.25rem;height:2.25rem;padding:0 var(--haze-space-2);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.haze-Pagination__btn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Pagination__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Pagination__btn:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Pagination__activeBtn{background:var(--haze-color-primary);border-color:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Pagination__activeBtn:hover:not(:disabled){background:var(--haze-color-primary-hover);border-color:var(--haze-color-primary-hover)}.haze-Pagination__ellipsis{min-width:2.25rem;height:2.25rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);justify-content:center;align-items:center;display:inline-flex}.haze-Pagination__sm button{min-width:2rem;height:2rem;font-size:var(--haze-text-xs)}.haze-Pagination__lg button{min-width:40px;height:40px;font-size:var(--haze-text-base)}.haze-Grid__base{display:-ms-grid;display:grid}.haze-Drawer__overlay{background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);border:none;max-width:100vw;max-height:100vh;padding:0;overflow:auto}.haze-Drawer__overlay::backdrop{background:#0006}.haze-Drawer__overlay:focus-visible{box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none}.haze-Drawer__left{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:0}.haze-Drawer__right{width:320px;min-width:280px;max-width:85vw;height:100vh;margin-left:auto}.haze-Drawer__top{width:100vw;height:320px;margin-top:0}.haze-Drawer__bottom{width:100vw;height:320px;margin-top:auto}.haze-Stepper__stepper{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:flex-start;display:flex}.haze-Step__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.haze-Step__stepConnector{background:var(--haze-color-border);width:100%;height:2px;position:absolute;top:16px;left:50%}.haze-Step__stepActiveConnector{background:var(--haze-color-primary)}.haze-Step__circle{border-radius:var(--haze-radius-full);width:2.25rem;height:2.25rem;font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);border:2px solid var(--haze-color-border);background:var(--haze-color-bg);color:var(--haze-color-text-muted);justify-content:center;align-items:center;transition:all .2s;display:flex}.haze-Step__activeCircle,.haze-Step__completedCircle{border-color:var(--haze-color-primary);background:var(--haze-color-primary);color:var(--haze-color-text-inverse)}.haze-Step__titleStyle{margin-top:var(--haze-space-2);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);text-align:center}.haze-Step__activeTitle{color:var(--haze-color-text);font-weight:var(--haze-weight-medium)}.haze-Step__completedTitle{color:var(--haze-color-primary)}.haze-Step__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);text-align:center;margin-top:var(--haze-space-1)}.haze-Command__base{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden}.haze-Command__inputStyle{width:100%;padding:var(--haze-space-3) var(--haze-space-4);border:none;border-bottom:1px solid var(--haze-color-border);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);background:0 0;outline:none}.haze-Command__inputStyle::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__inputStyle:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-Command__inputStyle::placeholder{color:var(--haze-color-text-muted)}.haze-Command__listStyle{max-height:300px;padding:var(--haze-space-1);overflow-y:auto}.haze-Command__itemStyle{padding:var(--haze-space-2) var(--haze-space-3);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);color:var(--haze-color-text);cursor:pointer;transition:background .15s}.haze-Command__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Command__itemStyle:active{background:var(--haze-color-bg-muted)}.haze-Resizable__groupBase{display:flex;overflow:hidden}.haze-Resizable__groupHorizontal{flex-direction:row;height:100%}.haze-Resizable__groupVertical{flex-direction:column;width:100%}.haze-Resizable__panelStyle{min-width:0;min-height:0;overflow:auto}.haze-Resizable__handleBase{background:var(--haze-color-border);cursor:col-resize;flex:none;transition:background .15s}.haze-Resizable__handleBase:hover{background:var(--haze-color-primary)}.haze-Resizable__handleHorizontal{cursor:col-resize;width:4px;height:100%}.haze-Resizable__handleVertical{cursor:row-resize;width:100%;height:4px}.haze-Collapsible__base{font-family:var(--haze-font-sans)}.haze-Collapsible__triggerStyle{cursor:pointer;-webkit-user-select:none;user-select:none}.haze-Collapsible__contentStyle{overflow:hidden}.haze-Transfer__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-4);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-Transfer__panel{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);flex:1;min-width:200px;overflow:hidden}.haze-Transfer__panelHeader{padding:var(--haze-space-2) var(--haze-space-3);border-bottom:1px solid var(--haze-color-border);background:var(--haze-color-bg-subtle);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text-secondary)}.haze-Transfer__panelBody{max-height:200px;padding:var(--haze-space-1);overflow-y:auto}.haze-Transfer__itemStyle{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);cursor:pointer;display:flex}.haze-Transfer__itemStyle:hover{background:var(--haze-color-bg-subtle)}.haze-Transfer__actions{justify-content:center;align-items:center;gap:var(--haze-space-2);flex-direction:column;display:flex}.haze-Transfer__actionBtn{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);width:2.25rem;height:2.25rem;color:var(--haze-color-text);font-size:var(--haze-text-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.haze-Transfer__actionBtn:hover:not(:disabled){background:var(--haze-color-bg-subtle);border-color:var(--haze-color-border-hover)}.haze-Transfer__actionBtn:disabled{opacity:.5;cursor:not-allowed}.haze-Upload__dropzone{padding:var(--haze-space-8) var(--haze-space-4);border:2px dashed var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg-subtle);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.haze-Upload__dropzone:hover{border-color:var(--haze-color-primary);background:var(--haze-color-primary-subtle)}.haze-Upload__iconStyle{margin-bottom:var(--haze-space-3);color:var(--haze-color-text-muted)}.haze-Upload__hiddenInput{display:none}.haze-ColorPicker__container{gap:var(--haze-space-3);font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-ColorPicker__previewRow{align-items:center;gap:var(--haze-space-3);display:flex}.haze-ColorPicker__colorInput{border:2px solid var(--haze-color-border);border-radius:var(--haze-radius-md);cursor:pointer;background:0 0;width:40px;height:40px;padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch-wrapper{padding:0}.haze-ColorPicker__colorInput::-webkit-color-swatch{border-radius:var(--haze-radius-sm);border:none}.haze-ColorPicker__textInput{height:40px;padding:0 var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-mono);outline:none;flex:1}.haze-ColorPicker__textInput:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ColorPicker__presetsRow{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);flex-wrap:wrap;display:flex}.haze-ColorPicker__presetBtn{border-radius:var(--haze-radius-full);cursor:pointer;-webkit-transition:border-color .15s,-webkit-transform .15s;border:2px solid #0000;width:1.75rem;height:1.75rem;transition:border-color .15s,transform .15s}.haze-ColorPicker__presetBtn:hover{transform:scale(1.1)}.haze-ColorPicker__activePreset{border-color:var(--haze-color-text);box-shadow:0 0 0 2px var(--haze-color-bg)}.haze-Rating__container{gap:var(--haze-space-1);font-family:var(--haze-font-sans);display:inline-flex}.haze-Rating__star{cursor:pointer;width:1.75rem;height:1.75rem;color:var(--haze-color-border);-webkit-transition:color .15s,-webkit-transform .15s;justify-content:center;align-items:center;transition:color .15s,transform .15s;display:inline-flex;position:relative}.haze-Rating__star:hover{transform:scale(1.1)}.haze-Rating__starActive{color:var(--haze-color-warning)}.haze-Timeline__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Timeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-6);display:flex;position:relative}.haze-Timeline__item:last-child{padding-bottom:0}.haze-Timeline__dotWrapper{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.haze-Timeline__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-border);z-index:1;flex-shrink:0;width:12px;height:12px}.haze-Timeline__primary{background:var(--haze-color-primary)}.haze-Timeline__success{background:var(--haze-color-success)}.haze-Timeline__warning{background:var(--haze-color-warning)}.haze-Timeline__danger{background:var(--haze-color-danger)}.haze-Timeline__line{background:var(--haze-color-border);width:2px;margin-top:var(--haze-space-1);flex:1}.haze-Timeline__content{flex:1;min-width:0}.haze-Timeline__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-Timeline__descStyle,.haze-Timeline__timeStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Typography__titleBase{font-family:var(--haze-font-sans);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);margin:0}.haze-Typography__1{font-size:var(--haze-text-3xl);line-height:var(--haze-leading-tight)}.haze-Typography__2{font-size:var(--haze-text-2xl);line-height:var(--haze-leading-tight)}.haze-Typography__3{font-size:var(--haze-text-xl);line-height:var(--haze-leading-tight)}.haze-Typography__4{font-size:var(--haze-text-lg);line-height:var(--haze-leading-normal)}.haze-Typography__5{font-size:var(--haze-text-base);line-height:var(--haze-leading-normal)}.haze-Typography__textBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-normal)}.haze-Typography__default{color:var(--haze-color-text)}.haze-Typography__secondary{color:var(--haze-color-text-secondary)}.haze-Typography__muted{color:var(--haze-color-text-muted)}.haze-Typography__textStrong{font-weight:var(--haze-weight-bold)}.haze-Typography__textCode{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);padding:var(--haze-space-0) var(--haze-space-1);background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-sm)}.haze-Typography__textMark{background:color-mix(in srgb, var(--haze-color-warning) 25%, transparent);padding:0 var(--haze-space-1)}.haze-Typography__paragraphBase{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);margin:0 0 var(--haze-space-4)}.haze-Stat__base{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-Stat__titleStyle{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1)}.haze-Stat__valueRow{align-items:baseline;gap:var(--haze-space-2);display:flex}.haze-Stat__valueStyle{font-size:var(--haze-text-2xl);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);line-height:var(--haze-leading-tight)}.haze-Stat__up{color:var(--haze-color-success)}.haze-Stat__down{color:var(--haze-color-danger)}.haze-Stat__neutral{color:var(--haze-color-text-muted)}.haze-Stat__trendStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium)}.haze-Stat__descStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-Stat__groupStyle{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-6);flex-wrap:wrap;display:flex}.haze-Segmented__container{background:var(--haze-color-bg-muted);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);gap:2px;padding:2px;display:inline-flex;overflow-x:auto}.haze-Segmented__sm button{padding:var(--haze-space-0) var(--haze-space-2);font-size:var(--haze-text-xs)}.haze-Segmented__md button{padding:var(--haze-space-1) var(--haze-space-3);font-size:var(--haze-text-sm)}.haze-Segmented__lg button{padding:var(--haze-space-2) var(--haze-space-4);font-size:var(--haze-text-base)}.haze-Segmented__btn{border-radius:var(--haze-radius-sm);color:var(--haze-color-text-secondary);cursor:pointer;font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);white-space:nowrap;background:0 0;border:none;transition:background .15s,color .15s}.haze-Segmented__btn:hover:not(:disabled){color:var(--haze-color-text)}.haze-Segmented__btn:disabled{opacity:.5;cursor:not-allowed}.haze-Segmented__btn:focus-visible{box-shadow:0 0 0 2px var(--haze-color-focus-ring);outline:none}.haze-Segmented__activeBtn{background:var(--haze-color-bg);color:var(--haze-color-text);box-shadow:var(--haze-shadow-sm)}.haze-Chip__base{align-items:center;gap:var(--haze-space-1);border-radius:var(--haze-radius-full);font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);font-weight:var(--haze-weight-medium);white-space:nowrap;padding:var(--haze-space-1) var(--haze-space-3);line-height:1;display:inline-flex}.haze-Chip__default{border:1px solid var(--haze-color-border);color:var(--haze-color-text-secondary)}.haze-Chip__primary{border:1px solid var(--haze-color-primary);color:var(--haze-color-primary)}.haze-Chip__success{border:1px solid var(--haze-color-success);color:var(--haze-color-success)}.haze-Chip__warning{border:1px solid var(--haze-color-warning);color:var(--haze-color-warning)}.haze-Chip__danger{border:1px solid var(--haze-color-danger);color:var(--haze-color-danger)}.haze-Chip__iconStyle{align-items:center;display:inline-flex}.haze-Chip__closeBtn{border-radius:var(--haze-radius-full);width:1.25rem;height:1.25rem;color:inherit;cursor:pointer;opacity:.6;margin-left:var(--haze-space-1);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:inline-flex}.haze-Chip__closeBtn:hover{opacity:1}.haze-ScrollArea__base{font-family:var(--haze-font-sans);scrollbar-width:thin;scrollbar-color:var(--haze-color-border) transparent;overflow:auto}.haze-ScrollArea__base::-webkit-scrollbar{width:6px;height:6px}.haze-ScrollArea__base::-webkit-scrollbar-track{background:0 0}.haze-ScrollArea__base::-webkit-scrollbar-thumb{background:var(--haze-color-border);border-radius:var(--haze-radius-full)}.haze-ScrollArea__base::-webkit-scrollbar-thumb:hover{background:var(--haze-color-border-hover)}.haze-TimePicker__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.haze-TimePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TimePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-TimePicker__input::-webkit-input-placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-TimePicker__input:-ms-placeholder-shown{color:var(--haze-color-text-muted)}.haze-TimePicker__input::placeholder{color:var(--haze-color-text-muted)}.haze-DateRangePicker__container{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:inline-flex}.haze-DateRangePicker__input{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-DateRangePicker__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-DateRangePicker__input:disabled{opacity:.5;cursor:not-allowed}.haze-DateRangePicker__sep{color:var(--haze-color-text-muted);font-size:var(--haze-text-sm)}.haze-OTPInput__container{gap:var(--haze-space-2);font-family:var(--haze-font-sans);display:inline-flex}.haze-OTPInput__cell{text-align:center;width:2.5rem;height:2.75rem;font-size:var(--haze-text-lg);font-family:var(--haze-font-mono);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);outline:none;transition:border-color .15s,box-shadow .15s}.haze-OTPInput__cell:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__wrapper{width:100%;font-family:var(--haze-font-sans);display:inline-flex;position:relative}.haze-PasswordInput__input{width:100%;padding:var(--haze-space-2) var(--haze-space-3);padding-right:var(--haze-space-10);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.haze-PasswordInput__input:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-PasswordInput__input:disabled{opacity:.5;cursor:not-allowed}.haze-PasswordInput__toggle{right:var(--haze-space-2);padding:var(--haze-space-2);cursor:pointer;min-width:2.5rem;min-height:2.5rem;color:var(--haze-color-text-muted);font-size:var(--haze-text-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.haze-PasswordInput__toggle:hover{color:var(--haze-color-text)}.haze-TagInput__container{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);font-family:var(--haze-font-sans);flex-wrap:wrap;align-items:center;min-height:2.25rem;transition:border-color .15s,box-shadow .15s;display:flex}.haze-TagInput__container:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-TagInput__listWrap{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.haze-TagInput__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-0) var(--haze-space-2);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);font-size:var(--haze-text-sm);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);display:inline-flex}.haze-TagInput__removeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagInput__removeBtn:hover{color:var(--haze-color-text)}.haze-TagInput__inputEl{min-width:4rem;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;outline:none;flex:1;padding:0}.haze-InlineEdit__display{cursor:text;padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text);border:1px solid #0000;min-width:2rem;min-height:1.75rem;transition:background .15s}.haze-InlineEdit__display:hover{background:var(--haze-color-muted)}.haze-InlineEdit__editing{padding:var(--haze-space-1) var(--haze-space-2);border:1px solid var(--haze-color-primary);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);box-shadow:0 0 0 3px var(--haze-color-focus-ring);outline:none;min-width:2rem}.haze-InlineEdit__placeholderStyle{color:var(--haze-color-text-muted);font-style:italic}.haze-DropdownMenu__wrapper{display:inline-block;position:relative}.haze-DropdownMenuTrigger__trigger{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}.haze-DropdownMenuContent__content{min-width:10rem;margin-top:var(--haze-space-1);padding:var(--haze-space-1);background:var(--haze-color-bg);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);box-shadow:var(--haze-shadow-md);z-index:50;position:absolute;top:100%}.haze-DropdownMenuContent__alignStart{left:0}.haze-DropdownMenuContent__alignCenter{left:50%;transform:translate(-50%)}.haze-DropdownMenuContent__alignEnd{right:0}.haze-DropdownMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-DropdownMenuItem__item:hover{background:var(--haze-color-muted)}.haze-DropdownMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-DropdownMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-DropdownMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-ContextMenu__wrapper{display:inline-block;position:relative}.haze-ContextMenuTrigger__trigger{display:contents}.haze-ContextMenuContent__content{min-width:10rem;padding:var(--haze-space-1);background:var(--haze-color-bg);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);box-shadow:var(--haze-shadow-md);z-index:100;position:fixed}.haze-ContextMenuItem__item{width:100%;padding:var(--haze-space-2) var(--haze-space-3);cursor:pointer;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);border-radius:var(--haze-radius-sm);text-align:left;background:0 0;border:none;align-items:center;transition:background .15s;display:flex}.haze-ContextMenuItem__item:hover{background:var(--haze-color-muted)}.haze-ContextMenuItem__item:active{background:var(--haze-color-bg-subtle)}.haze-ContextMenuItem__item:disabled{opacity:.5;cursor:not-allowed}.haze-ContextMenuSeparator__separator{height:1px;margin:var(--haze-space-1) 0;background:var(--haze-color-border)}.haze-NavigationBar__nav{-webkit-box-flex-wrap:wrap;align-items:center;gap:var(--haze-space-4);padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-bg);border-bottom:1px solid var(--haze-color-border);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-NavigationBar__brand{font-size:var(--haze-text-lg);font-weight:var(--haze-weight-bold);color:var(--haze-color-text);white-space:nowrap;-webkit-text-decoration:none;text-decoration:none}.haze-NavigationBar__links{align-items:center;gap:var(--haze-space-3);flex:1;display:flex}.haze-NavigationBar__endSlot{align-items:center;gap:var(--haze-space-2);margin-left:auto;display:flex}.haze-NavLink__link{font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text-muted);padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;transition:color .15s,background .15s}.haze-NavLink__link:hover{color:var(--haze-color-text);background:var(--haze-color-muted)}.haze-NavLink__activeLink{color:var(--haze-color-primary);font-weight:var(--haze-weight-medium)}.haze-BackToTop__button{bottom:calc(var(--haze-space-6) + env(safe-area-inset-bottom));right:calc(var(--haze-space-6) + env(safe-area-inset-right));border-radius:var(--haze-radius-full);background:var(--haze-color-primary);width:2.5rem;height:2.5rem;color:var(--haze-color-bg);cursor:pointer;box-shadow:var(--haze-shadow-lg);font-size:var(--haze-text-lg);-webkit-transition:opacity .2s,-webkit-transform .2s;border:none;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex;position:fixed}.haze-BackToTop__button:hover{transform:translateY(-2px)}.haze-BackToTop__hidden{opacity:0;pointer-events:none;transform:translateY(1rem)}.haze-Affix__affix{z-index:100;position:fixed}.haze-Affix__posTop{top:0;left:0;right:0}.haze-Affix__posBottom{bottom:0;left:0;right:0}.haze-Container__container{width:100%;padding-left:var(--haze-space-4);padding-right:var(--haze-space-4);font-family:var(--haze-font-sans);margin-left:auto;margin-right:auto}.haze-Container__sm{max-width:640px}.haze-Container__md{max-width:768px}.haze-Container__lg{max-width:1024px}.haze-Container__xl{max-width:1280px}.haze-Container__full{max-width:100%}.haze-Banner__banner{-webkit-box-pack:justify;align-items:center;-ms-flex-pack:space-between;padding:var(--haze-space-3) var(--haze-space-4);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);border-radius:var(--haze-radius-md);justify-content:space-between;display:flex}.haze-Banner__info{background:var(--haze-color-info-light,#e0f2fe);color:var(--haze-color-info,#0284c7)}.haze-Banner__success{background:var(--haze-color-success-light,#dcfce7);color:var(--haze-color-success,#16a34a)}.haze-Banner__warning{background:var(--haze-color-warning-light,#fef9c3);color:var(--haze-color-warning,#ca8a04)}.haze-Banner__danger{background:var(--haze-color-danger-light,#fee2e2);color:var(--haze-color-danger,#dc2626)}.haze-Banner__closeBtn{cursor:pointer;color:inherit;opacity:.7;font-size:var(--haze-text-lg);padding:var(--haze-space-2);background:0 0;border:none;min-width:2.5rem;min-height:2.5rem;line-height:1}.haze-Banner__closeBtn:hover{opacity:1}.haze-Banner__content{flex:1}.haze-ConfirmDialog__overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.haze-ConfirmDialog__dialog{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl);padding:var(--haze-space-6);box-shadow:var(--haze-shadow-xl);width:100%;max-width:480px;font-family:var(--haze-font-sans);color:var(--haze-color-text)}.haze-ConfirmDialog__header{margin-bottom:var(--haze-space-4);font-size:var(--haze-text-lg);font-weight:var(--haze-weight-semibold)}.haze-ConfirmDialog__body{margin-bottom:var(--haze-space-6);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);line-height:var(--haze-leading-relaxed)}.haze-ConfirmDialog__footer{justify-content:flex-end;gap:var(--haze-space-3);display:flex}.haze-ConfirmDialog__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;transition:background .15s,border-color .15s}.haze-ConfirmDialog__cancelBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ConfirmDialog__cancelBtn:hover{background:var(--haze-color-muted)}.haze-ConfirmDialog__confirmBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ConfirmDialog__confirmBtn:hover{opacity:.9}.haze-ConfirmDialog__dangerBtn{background:var(--haze-color-danger,#dc2626);border:1px solid var(--haze-color-danger,#dc2626);color:#fff}.haze-ConfirmDialog__dangerBtn:hover{opacity:.9}.haze-CodeBlock__block{background:var(--haze-color-muted);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-mono);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);position:relative;overflow-x:auto}.haze-CodeBlock__pre{padding:var(--haze-space-4);margin:0}.haze-CodeBlock__lang{top:var(--haze-space-2);right:var(--haze-space-3);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);font-family:var(--haze-font-sans);text-transform:uppercase;-webkit-user-select:none;user-select:none;position:absolute}.haze-AspectRatio__wrapper{width:100%;position:relative}.haze-AspectRatio__inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.haze-VirtualList__container{font-family:var(--haze-font-sans);overflow-y:auto}.haze-VirtualList__viewport{width:100%;position:relative}.haze-TagGroup__group{-webkit-box-flex-wrap:wrap;gap:var(--haze-space-2);font-family:var(--haze-font-sans);flex-wrap:wrap;display:flex}.haze-TagGroupItem__tag{align-items:center;gap:var(--haze-space-1);padding:var(--haze-space-1) var(--haze-space-3);background:var(--haze-color-muted);color:var(--haze-color-text);border-radius:var(--haze-radius-full);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);line-height:var(--haze-leading-tight);display:inline-flex}.haze-TagGroupItem__closeBtn{cursor:pointer;color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);padding:var(--haze-space-1);background:0 0;border:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.haze-TagGroupItem__closeBtn:hover{color:var(--haze-color-text)}.haze-BottomSheet__overlay{z-index:100;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.haze-BottomSheet__sheet{background:var(--haze-color-bg);border-radius:var(--haze-radius-xl) var(--haze-radius-xl) 0 0;padding:var(--haze-space-4) var(--haze-space-6) calc(var(--haze-space-4) + env(safe-area-inset-bottom));width:100%;max-width:640px;max-height:80vh;font-family:var(--haze-font-sans);color:var(--haze-color-text);box-shadow:var(--haze-shadow-xl);overflow-y:auto}.haze-BottomSheet__handle{background:var(--haze-color-border);border-radius:var(--haze-radius-full);width:2rem;height:.25rem;margin:0 auto var(--haze-space-4)}.haze-SwipeAction__wrapper{font-family:var(--haze-font-sans);position:relative;overflow:hidden}.haze-SwipeAction__actionsLeft{align-items:center;height:100%;display:flex;position:absolute;top:0;left:0}.haze-SwipeAction__actionsRight{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.haze-SwipeAction__content{background:var(--haze-color-bg);-webkit-transition:-webkit-transform .2s;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .2s;position:relative}.haze-ChatMessage__wrapper{gap:var(--haze-space-3);font-family:var(--haze-font-sans);padding:var(--haze-space-3) 0;display:flex}.haze-ChatMessage__wrapperUser{flex-direction:row-reverse}.haze-ChatMessage__avatarSlot{border-radius:var(--haze-radius-full);background:var(--haze-color-muted);width:2rem;height:2rem;font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.haze-ChatMessage__body{min-width:0;max-width:75%}.haze-ChatMessage__header{align-items:center;gap:var(--haze-space-2);margin-bottom:var(--haze-space-1);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);display:flex}.haze-ChatMessage__headerUser{flex-direction:row-reverse}.haze-ChatMessage__bubble{padding:var(--haze-space-3) var(--haze-space-4);border-radius:var(--haze-radius-lg);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);word-break:break-word}.haze-ChatMessage__bubbleUser{background:var(--haze-color-primary);color:var(--haze-color-bg);border-bottom-right-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleAssistant{background:var(--haze-color-muted);color:var(--haze-color-text);border-bottom-left-radius:var(--haze-radius-sm)}.haze-ChatMessage__bubbleSystem{color:var(--haze-color-text-muted);font-size:var(--haze-text-xs);text-align:center;padding:var(--haze-space-2);background:0 0}.haze-ChatMessage__statusText{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ChatMessage__statusError{color:var(--haze-color-danger,#dc2626)}.haze-ChatContainer__container{font-family:var(--haze-font-sans);padding:var(--haze-space-4);gap:var(--haze-space-1);flex-direction:column;display:flex;overflow-y:auto}.haze-ChatInput__wrapper{-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;gap:var(--haze-space-2);padding:var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-lg);background:var(--haze-color-bg);font-family:var(--haze-font-sans);transition:border-color .15s,box-shadow .15s;display:flex}.haze-ChatInput__wrapper:focus-within{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ChatInput__textarea{resize:none;font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);color:var(--haze-color-text);line-height:var(--haze-leading-relaxed);background:0 0;border:none;outline:none;flex:1;min-height:1.5rem;max-height:10rem;padding:0}.haze-ChatInput__sendBtn{border-radius:var(--haze-radius-md);background:var(--haze-color-primary);width:2rem;height:2rem;color:var(--haze-color-bg);cursor:pointer;font-size:var(--haze-text-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.haze-ChatInput__sendBtn:disabled{opacity:.5;cursor:not-allowed}.haze-ChatInput__sendBtn:hover:not(:disabled){opacity:.9}.haze-StreamingText__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);white-space:pre-wrap}.haze-StreamingText__cursor{background:var(--haze-color-primary);vertical-align:text-bottom;width:.5em;height:1em;margin-left:1px;animation:1s step-end infinite blink-haze-StreamingText__cursor;display:inline-block}@keyframes blink-haze-StreamingText__cursor{50%{opacity:0}}.haze-MarkdownRenderer__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);line-height:var(--haze-leading-relaxed);color:var(--haze-color-text);word-break:break-word}.haze-MarkdownRenderer__wrapper h1,.haze-MarkdownRenderer__wrapper h2,.haze-MarkdownRenderer__wrapper h3,.haze-MarkdownRenderer__wrapper h4,.haze-MarkdownRenderer__wrapper h5,.haze-MarkdownRenderer__wrapper h6{font-weight:var(--haze-weight-semibold);margin-top:var(--haze-space-4);margin-bottom:var(--haze-space-2);line-height:var(--haze-leading-tight)}.haze-MarkdownRenderer__wrapper h1{font-size:var(--haze-text-2xl)}.haze-MarkdownRenderer__wrapper h2{font-size:var(--haze-text-xl)}.haze-MarkdownRenderer__wrapper h3{font-size:var(--haze-text-lg)}.haze-MarkdownRenderer__wrapper h4{font-size:var(--haze-text-base)}.haze-MarkdownRenderer__wrapper p{margin-bottom:var(--haze-space-3)}.haze-MarkdownRenderer__wrapper ul,.haze-MarkdownRenderer__wrapper ol{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-6)}.haze-MarkdownRenderer__wrapper li{margin-bottom:var(--haze-space-1)}.haze-MarkdownRenderer__wrapper code{font-family:var(--haze-font-mono);background:var(--haze-color-muted);border-radius:var(--haze-radius-sm);padding:.125em .375em;font-size:.875em}.haze-MarkdownRenderer__wrapper pre{margin-bottom:var(--haze-space-3);padding:var(--haze-space-4);background:var(--haze-color-muted);border-radius:var(--haze-radius-md);overflow-x:auto}.haze-MarkdownRenderer__wrapper pre code{background:0 0;padding:0}.haze-MarkdownRenderer__wrapper blockquote{margin-bottom:var(--haze-space-3);padding-left:var(--haze-space-4);border-left:3px solid var(--haze-color-border);color:var(--haze-color-text-muted)}.haze-MarkdownRenderer__wrapper a{color:var(--haze-color-primary);-webkit-text-decoration:underline;text-decoration:underline}.haze-MarkdownRenderer__wrapper table{width:100%;margin-bottom:var(--haze-space-3);border-collapse:collapse}.haze-MarkdownRenderer__wrapper th,.haze-MarkdownRenderer__wrapper td{padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);text-align:left}.haze-MarkdownRenderer__wrapper th{background:var(--haze-color-muted);font-weight:var(--haze-weight-medium)}.haze-MarkdownRenderer__wrapper hr{margin:var(--haze-space-4) 0;border:none;border-top:1px solid var(--haze-color-border)}.haze-MarkdownRenderer__wrapper img{border-radius:var(--haze-radius-md);max-width:100%}.haze-ToolCallCard__card{border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);overflow:hidden}.haze-ToolCallCard__header{align-items:center;gap:var(--haze-space-2);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);display:flex}.haze-ToolCallCard__statusIcon{border-radius:var(--haze-radius-full);flex-shrink:0;width:.5rem;height:.5rem}.haze-ToolCallCard__statusPending{background:var(--haze-color-text-muted)}.haze-ToolCallCard__statusRunning{background:var(--haze-color-primary);animation:1.5s infinite pulse}.haze-ToolCallCard__statusDone{background:var(--haze-color-success,#16a34a)}.haze-ToolCallCard__statusError{background:var(--haze-color-danger,#dc2626)}.haze-ToolCallCard__body{padding:var(--haze-space-3)}.haze-ToolCallCard__section{margin-bottom:var(--haze-space-2)}.haze-ToolCallCard__sectionLabel{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-1);text-transform:uppercase;letter-spacing:.05em}.haze-ToolCallCard__content{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);white-space:pre-wrap;word-break:break-all;color:var(--haze-color-text)}.haze-ThinkingIndicator__wrapper{align-items:center;gap:var(--haze-space-2);font-family:var(--haze-font-sans);font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);padding:var(--haze-space-2) 0;display:inline-flex}.haze-ThinkingIndicator__dots{gap:var(--haze-space-1);display:inline-flex}@keyframes bounce-haze-ThinkingIndicator__dots{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-.375rem)}}.haze-ThinkingIndicator__dot{border-radius:var(--haze-radius-full);background:var(--haze-color-text-muted);width:.375rem;height:.375rem;animation:1.4s ease-in-out infinite bounce}.haze-ThinkingIndicator__dot2{animation-delay:.16s}.haze-ThinkingIndicator__dot3{animation-delay:.32s}.haze-StepTimeline__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex}.haze-StepTimeline__item{gap:var(--haze-space-3);padding-bottom:var(--haze-space-4);display:flex;position:relative}.haze-StepTimeline__item:last-child{padding-bottom:0}.haze-StepTimeline__item:not(:last-child):before{content:"";background:var(--haze-color-border);width:2px;position:absolute;top:1.5rem;bottom:0;left:.5625rem}.haze-StepTimeline__marker{border-radius:var(--haze-radius-full);border:2px solid var(--haze-color-border);z-index:1;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.5rem;display:flex}.haze-StepTimeline__markerPending{border-color:var(--haze-color-border);background:var(--haze-color-bg)}.haze-StepTimeline__markerActive{border-color:var(--haze-color-primary);background:var(--haze-color-primary)}.haze-StepTimeline__markerDone{border-color:var(--haze-color-success,#16a34a);background:var(--haze-color-success,#16a34a);color:#fff}.haze-StepTimeline__markerError{border-color:var(--haze-color-danger,#dc2626);background:var(--haze-color-danger,#dc2626);color:#fff}.haze-StepTimeline__body{flex:1;min-width:0;padding-top:.0625rem}.haze-StepTimeline__labelStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-StepTimeline__descriptionStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);margin-top:var(--haze-space-1)}.haze-ApprovalCard__card{border:1px solid var(--haze-color-warning,#eab308);border-radius:var(--haze-radius-md);font-family:var(--haze-font-sans);background:var(--haze-color-bg);overflow:hidden}.haze-ApprovalCard__header{padding:var(--haze-space-3) var(--haze-space-4);background:var(--haze-color-warning-light,#fef9c3);font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);color:var(--haze-color-text)}.haze-ApprovalCard__body{padding:var(--haze-space-3) var(--haze-space-4)}.haze-ApprovalCard__desc{font-size:var(--haze-text-sm);color:var(--haze-color-text-muted);margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__content{margin-bottom:var(--haze-space-3)}.haze-ApprovalCard__actions{gap:var(--haze-space-2);padding:var(--haze-space-3) var(--haze-space-4);border-top:1px solid var(--haze-color-border);display:flex}.haze-ApprovalCard__btn{padding:var(--haze-space-2) var(--haze-space-4);border-radius:var(--haze-radius-md);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);font-weight:var(--haze-weight-medium);cursor:pointer;flex:1;transition:background .15s}.haze-ApprovalCard__denyBtn{background:var(--haze-color-bg);border:1px solid var(--haze-color-border);color:var(--haze-color-text)}.haze-ApprovalCard__denyBtn:hover{background:var(--haze-color-muted)}.haze-ApprovalCard__approveBtn{background:var(--haze-color-primary);border:1px solid var(--haze-color-primary);color:var(--haze-color-bg)}.haze-ApprovalCard__approveBtn:hover{opacity:.9}.haze-TokenCounter__wrapper{font-family:var(--haze-font-sans);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted)}.haze-TokenCounter__bar{background:var(--haze-color-muted);border-radius:var(--haze-radius-full);height:.25rem;margin-top:var(--haze-space-1);overflow:hidden}.haze-TokenCounter__fill{border-radius:var(--haze-radius-full);height:100%;transition:width .3s}.haze-TokenCounter__fillNormal{background:var(--haze-color-primary)}.haze-TokenCounter__fillWarning{background:var(--haze-color-warning,#eab308)}.haze-TokenCounter__fillDanger{background:var(--haze-color-danger,#dc2626)}.haze-TokenCounter__info{-webkit-box-pack:justify;-ms-flex-pack:space-between;justify-content:space-between;align-items:baseline;display:flex}.haze-TokenCounter__count{font-variant-numeric:tabular-nums}.haze-ModelPicker__wrapper{font-family:var(--haze-font-sans)}.haze-ModelPicker__select{width:100%;padding:var(--haze-space-2) var(--haze-space-3);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);background:var(--haze-color-bg);color:var(--haze-color-text);font-size:var(--haze-text-sm);font-family:var(--haze-font-sans);cursor:pointer;appearance:none;-webkit-background-position:right .75rem center;padding-right:var(--haze-space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;transition:border-color .15s,box-shadow .15s}.haze-ModelPicker__select:focus{border-color:var(--haze-color-primary);box-shadow:0 0 0 3px var(--haze-color-focus-ring)}.haze-ModelPicker__select:disabled{opacity:.5;cursor:not-allowed}.haze-ConversationList__list{font-family:var(--haze-font-sans);flex-direction:column;display:flex;overflow-y:auto}.haze-ConversationItem__item{align-items:center;gap:var(--haze-space-3);padding:var(--haze-space-3) var(--haze-space-4);cursor:pointer;border-radius:var(--haze-radius-md);text-align:left;width:100%;font-family:var(--haze-font-sans);color:var(--haze-color-text);background:0 0;border:none;transition:background .15s;display:flex}.haze-ConversationItem__item:hover,.haze-ConversationItem__activeItem{background:var(--haze-color-muted)}.haze-ConversationItem__body{flex:1;min-width:0}.haze-ConversationItem__titleStyle{font-size:var(--haze-text-sm);font-weight:var(--haze-weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.haze-ConversationItem__subtitleStyle{font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--haze-space-0);overflow:hidden}.haze-ConversationItem__endSlot{flex-shrink:0}.haze-DiffViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-DiffViewer__header{padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);font-size:var(--haze-text-xs);color:var(--haze-color-text-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-DiffViewer__body{overflow-x:auto}.haze-DiffViewer__line{min-height:1.25rem;display:flex}.haze-DiffViewer__lineNum{width:3rem;padding:0 var(--haze-space-2);text-align:right;color:var(--haze-color-text-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--haze-color-border);flex-shrink:0}.haze-DiffViewer__lineContent{padding:0 var(--haze-space-3);white-space:pre;flex:1}.haze-DiffViewer__added{background:var(--haze-color-success-light,#dcfce7)}.haze-DiffViewer__removed{background:var(--haze-color-danger-light,#fee2e2)}.haze-DiffViewer__addedPrefix{color:var(--haze-color-success,#16a34a)}.haze-DiffViewer__removedPrefix{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__wrapper{font-family:var(--haze-font-mono);font-size:var(--haze-text-xs);line-height:var(--haze-leading-relaxed);border:1px solid var(--haze-color-border);border-radius:var(--haze-radius-md);overflow:hidden}.haze-LogViewer__toolbar{gap:var(--haze-space-1);padding:var(--haze-space-2) var(--haze-space-3);background:var(--haze-color-muted);border-bottom:1px solid var(--haze-color-border);display:flex}.haze-LogViewer__filterBtn{padding:var(--haze-space-1) var(--haze-space-2);border-radius:var(--haze-radius-sm);cursor:pointer;font-size:var(--haze-text-xs);font-family:var(--haze-font-mono);color:var(--haze-color-text-muted);background:0 0;border:1px solid #0000;transition:background .15s,border-color .15s}.haze-LogViewer__filterBtn:hover{background:var(--haze-color-bg)}.haze-LogViewer__filterActive{background:var(--haze-color-bg);border-color:var(--haze-color-border);color:var(--haze-color-text)}.haze-LogViewer__body{max-height:24rem;padding:var(--haze-space-2) 0;overflow-y:auto}.haze-LogViewer__entry{gap:var(--haze-space-3);padding:var(--haze-space-0) var(--haze-space-3);display:flex}.haze-LogViewer__timestamp{color:var(--haze-color-text-muted);flex-shrink:0}.haze-LogViewer__levelBadge{text-align:center;text-transform:uppercase;width:3rem;font-weight:var(--haze-weight-medium);flex-shrink:0}.haze-LogViewer__levelDebug{color:var(--haze-color-text-muted)}.haze-LogViewer__levelInfo{color:var(--haze-color-primary)}.haze-LogViewer__levelWarn{color:var(--haze-color-warning,#eab308)}.haze-LogViewer__levelError{color:var(--haze-color-danger,#dc2626)}.haze-LogViewer__messageStyle{word-break:break-all;color:var(--haze-color-text);flex:1}
2
2
  /*$vite$:1*/
@@ -1,7 +1,19 @@
1
- import type { Dispatch, SetStateAction } from 'react';
1
+ import type { Dispatch, RefObject, SetStateAction } from 'react';
2
2
  type DropdownMenuContextValue = {
3
3
  open: boolean;
4
4
  setOpen: Dispatch<SetStateAction<boolean>>;
5
+ triggerRef: RefObject<HTMLButtonElement | null>;
6
+ contentRef: RefObject<HTMLDivElement | null>;
7
+ /** id of the menu element; wired to the trigger's aria-controls */
8
+ contentId: string;
9
+ /**
10
+ * Focus handoff requested by the trigger ('first'/'last' item) when it
11
+ * opens the menu by keyboard — consumed by Content's mount effect,
12
+ * which runs after the items exist.
13
+ */
14
+ focusRequestRef: {
15
+ current: 'first' | 'last' | null;
16
+ };
5
17
  };
6
18
  export declare const DropdownMenuProvider: import("react").Provider<DropdownMenuContextValue | undefined>;
7
19
  export declare function useDropdownMenuContext(): DropdownMenuContextValue;
@@ -0,0 +1,19 @@
1
+ import type { KeyboardEvent as ReactKeyboardEvent, RefObject } from 'react';
2
+ /** Enabled menu items inside a menu container, in DOM order. */
3
+ export declare function getEnabledMenuItems(container: HTMLElement | null): HTMLElement[];
4
+ type UseMenuKeyboardOptions = {
5
+ /** Element containing the `[role=menuitem]` children. */
6
+ menuRef: RefObject<HTMLElement | null>;
7
+ /** Called when the menu should close via keyboard; the caller returns
8
+ * focus to the trigger. */
9
+ onClose: () => void;
10
+ };
11
+ /**
12
+ * Keyboard behavior for a `role="menu"` container with roving-tabindex
13
+ * items: ↑/↓ move focus (wrapping, skipping disabled items), Home/End
14
+ * jump to the ends, Escape closes (returning focus to the trigger), Tab
15
+ * closes, and printable characters run typeahead — matching the WAI-ARIA
16
+ * Menu Button pattern.
17
+ */
18
+ export declare function useMenuKeyboard({ menuRef, onClose }: UseMenuKeyboardOptions): (event: ReactKeyboardEvent) => void;
19
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haze-ui",
3
- "version": "1.7.2",
3
+ "version": "1.8.0",
4
4
  "type": "module",
5
5
  "description": "A React UI component library powered by react-use-control and Linaria",
6
6
  "main": "./dist/index.js",
@@ -70,6 +70,7 @@
70
70
  "@testing-library/jest-dom": "^7.0.1",
71
71
  "@testing-library/react": "^16.3.2",
72
72
  "@testing-library/user-event": "^14.6.6",
73
+ "@types/jest-axe": "^3.5.9",
73
74
  "@types/node": "^26.2.0",
74
75
  "@types/ramda": "^0.32.0",
75
76
  "@types/react": "^19.2.18",
@@ -87,6 +88,7 @@
87
88
  "eslint-plugin-compat": "^7.0.2",
88
89
  "gh-pages": "^6.3.0",
89
90
  "husky": "^9.1.7",
91
+ "jest-axe": "^11.0.0",
90
92
  "jsdom": "^30.0.1",
91
93
  "json-schema-faker": "^0.6.3",
92
94
  "lint-staged": "^17.3.0",