mgv-backoffice 1.20.0 → 1.21.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
@@ -414,29 +414,43 @@ import { ColoredSquares, ColorsEnums } from 'mgv-backoffice'
414
414
 
415
415
  ### EarningsCard
416
416
 
417
- Earnings summary card with formatted currency display.
417
+ Earnings summary card with formatted currency display. Supports a signed P&L
418
+ mode that renders a red loss theme (and a downward trend glyph) for negative
419
+ amounts.
418
420
 
419
421
  **Props:**
420
422
 
421
423
  | Prop | Type | Default | Description |
422
424
  | ---------- | -------- |-------------------------|----------------------|
423
425
  | `title` | `String` | `'TOTAL EARNINGS'` | Card heading |
424
- | `amount` | `Number` | `0` | Monetary value |
426
+ | `amount` | `Number` | `0` | Monetary value (a stringified number is coerced) |
425
427
  | `subtitle` | `String` | `'Lifetime commission'` | Subheading text |
426
428
  | `badge` | `String` | `''` | Optional badge label |
427
429
  | `currency` | `String` | `'$'` | Currency symbol |
428
430
  | `decimals` | `Number` | `2` | Fraction digits shown for the amount |
431
+ | `accent` | `'orange' \| 'emerald' \| 'red'` | `'orange'` | Card theme. `emerald` tints it green; `red` is the loss theme. |
432
+ | `signed` | `Boolean` | `false` | Treat `amount` as a signed P&L figure: a negative value automatically switches to the `red` loss theme and flips the trend glyph to point **down**; a non-negative value keeps the chosen `accent` and the upward glyph. |
429
433
 
430
434
  **Example:**
431
435
 
432
436
  ```vue
433
437
  <template>
438
+ <!-- Always-positive total: original behaviour. -->
434
439
  <EarningsCard
435
440
  title="Monthly Revenue"
436
441
  :amount="12500"
437
442
  subtitle="April 2026"
438
443
  currency="€"
439
444
  />
445
+
446
+ <!-- Signed P&L: renders red + a down arrow when the amount is negative. -->
447
+ <EarningsCard
448
+ title="TOTAL P&L"
449
+ :amount="-128.4"
450
+ subtitle="Realised + unrealised"
451
+ accent="emerald"
452
+ signed
453
+ />
440
454
  </template>
441
455
 
442
456
  <script setup lang="ts">
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Accent colour of the card. Defaults to `orange` so existing consumers are
3
- * unaffected; `emerald` lets a host app tint the card to a green-themed brand.
4
- * Each accent carries the full literal Tailwind class strings (rather than a
5
- * single interpolated hue) so the classes are statically detectable and the
6
- * two themes can differ in more than hue e.g. orange renders the amount in
7
- * neutral grey while emerald renders it in the accent itself.
3
+ * unaffected; `emerald` lets a host app tint the card to a green-themed brand,
4
+ * and `red` renders a loss/negative theme (also selected automatically by
5
+ * `signed`, see below). Each accent carries the full literal Tailwind class
6
+ * strings (rather than a single interpolated hue) so the classes are statically
7
+ * detectable and the themes can differ in more than hue — e.g. orange renders
8
+ * the amount in neutral grey while emerald/red render it in the accent itself.
8
9
  */
9
- type Accent = 'orange' | 'emerald';
10
+ type Accent = 'orange' | 'emerald' | 'red';
10
11
  interface Props {
11
12
  title?: string;
12
13
  amount?: number;
@@ -15,6 +16,15 @@ interface Props {
15
16
  currency?: string;
16
17
  decimals?: number;
17
18
  accent?: Accent;
19
+ /**
20
+ * Treat the card as a signed P&L figure. When `true` and the amount is
21
+ * negative, the card renders the loss theme automatically: the `red` accent
22
+ * (border / amount / subtitle / icon-box recoloured) AND the trend glyph
23
+ * flipped to point DOWN. A non-negative amount keeps the chosen `accent` and
24
+ * the upward glyph. Defaults to `false` so existing consumers — which use the
25
+ * card for always-positive totals like lifetime earnings — are unaffected.
26
+ */
27
+ signed?: boolean;
18
28
  }
19
29
  declare const __VLS_export: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
20
30
  title: string;
@@ -24,6 +34,7 @@ declare const __VLS_export: import('vue').DefineComponent<Props, {}, {}, {}, {},
24
34
  currency: string;
25
35
  decimals: number;
26
36
  accent: Accent;
37
+ signed: boolean;
27
38
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
28
39
  declare const _default: typeof __VLS_export;
29
40
  export default _default;
package/dist/ui-lib.css CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-300:oklch(82.3% .12 346.018);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-zinc-300:oklch(87.1% .006 286.286);--color-neutral-300:oklch(87% 0 0);--color-stone-300:oklch(86.9% .005 56.366);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-20{top:calc(var(--spacing) * 20)}.top-\[20vh\]{top:20vh}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-5{left:calc(var(--spacing) * 5)}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-1\.5{margin-block:calc(var(--spacing) * -1.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-8{margin-block:calc(var(--spacing) * 8)}.me-3{margin-inline-end:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[90vh\]{max-height:90vh}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-13{width:calc(var(--spacing) * 13)}.w-16{width:calc(var(--spacing) * 16)}.w-48{width:calc(var(--spacing) * 48)}.w-60{width:calc(var(--spacing) * 60)}.w-96{width:calc(var(--spacing) * 96)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-800>:not(:last-child)){border-color:var(--color-gray-800)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/40{border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\/40{border-color:color-mix(in oklab, var(--color-green-500) 40%, transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/40{border-color:color-mix(in oklab, var(--color-purple-500) 40%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-red-600{border-color:var(--color-red-600)}.border-sky-300{border-color:var(--color-sky-300)}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/40{border-color:color-mix(in oklab, var(--color-sky-500) 40%, transparent)}}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/40{border-color:color-mix(in oklab, var(--color-yellow-500) 40%, transparent)}}.border-t-amber-500{border-top-color:var(--color-amber-500)}.border-t-blue-500{border-top-color:var(--color-blue-500)}.border-t-emerald-500{border-top-color:var(--color-emerald-500)}.border-t-indigo-500{border-top-color:var(--color-indigo-500)}.border-t-purple-500{border-top-color:var(--color-purple-500)}.border-t-red-500{border-top-color:var(--color-red-500)}.border-t-sky-500{border-top-color:var(--color-sky-500)}.border-t-teal-500{border-top-color:var(--color-teal-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-amber-900\/30{background-color:#7b33064d}@supports (color:color-mix(in lab, red, red)){.bg-amber-900\/30{background-color:color-mix(in oklab, var(--color-amber-900) 30%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.bg-black\/75{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/30{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/60{background-color:#ecfdf599}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/60{background-color:color-mix(in oklab, var(--color-emerald-50) 60%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.bg-gray-800\/50{background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-300{background-color:var(--color-green-300)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/15{background-color:color-mix(in oklab, var(--color-green-500) 15%, transparent)}}.bg-green-700{background-color:var(--color-green-700)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-pink-300{background-color:var(--color-pink-300)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-300{background-color:var(--color-purple-300)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/15{background-color:color-mix(in oklab, var(--color-purple-500) 15%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-900\/30{background-color:color-mix(in oklab, var(--color-purple-900) 30%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-red-700{background-color:var(--color-red-700)}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/30{background-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-400{background-color:var(--color-sky-400)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/10{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.bg-sky-600{background-color:var(--color-sky-600)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-stone-300{background-color:var(--color-stone-300)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-300{background-color:var(--color-yellow-300)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/15{background-color:color-mix(in oklab, var(--color-yellow-500) 15%, transparent)}}.bg-zinc-300{background-color:var(--color-zinc-300)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:var(--spacing)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-sky-400{color:var(--color-sky-400)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-teal-400{color:var(--color-teal-400)}.text-teal-600{color:var(--color-teal-600)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-500\/10:hover{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-500\/10:hover{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-500\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-green-500\/10:hover{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.hover\:bg-green-800:hover{background-color:var(--color-green-800)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-500\/10:hover{background-color:#625fff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-indigo-500\/10:hover{background-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-500\/10:hover{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-purple-500\/10:hover{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-purple-800:hover{background-color:var(--color-purple-800)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-sky-500\/10:hover{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sky-500\/10:hover{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.hover\:bg-sky-700:hover{background-color:var(--color-sky-700)}.hover\:bg-teal-50:hover{background-color:var(--color-teal-50)}.hover\:bg-teal-500\/10:hover{background-color:#00baa71a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/10:hover{background-color:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.hover\:bg-yellow-50:hover{background-color:var(--color-yellow-50)}.hover\:bg-yellow-500:hover{background-color:var(--color-yellow-500)}.hover\:bg-yellow-500\/10:hover{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-yellow-500\/10:hover{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-gray-100:hover{color:var(--color-gray-100)}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-2:focus{top:calc(var(--spacing) * 2)}.focus\:left-2:focus{left:calc(var(--spacing) * 2)}.focus\:z-10:focus{z-index:10}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:border-amber-500:focus{border-color:var(--color-amber-500)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-emerald-500:focus{border-color:var(--color-emerald-500)}.focus\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:bg-emerald-600:focus{background-color:var(--color-emerald-600)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-white:focus{color:var(--color-white)}.focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber-300:focus{--tw-ring-color:var(--color-amber-300)}.focus\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\:ring-emerald-300:focus{--tw-ring-color:var(--color-emerald-300)}.focus\:ring-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\:ring-gray-200:focus{--tw-ring-color:var(--color-gray-200)}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:ring-green-300:focus{--tw-ring-color:var(--color-green-300)}.focus\:ring-purple-300:focus{--tw-ring-color:var(--color-purple-300)}.focus\:ring-red-300:focus{--tw-ring-color:var(--color-red-300)}.focus\:ring-sky-300:focus{--tw-ring-color:var(--color-sky-300)}.focus\:ring-yellow-300:focus{--tw-ring-color:var(--color-yellow-300)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-emerald-500:focus-visible{--tw-ring-color:var(--color-emerald-500)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (width>=64rem){.max-lg\:pointer-events-none{pointer-events:none}}@media (width>=40rem){.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=48rem){.md\:my-10{margin-block:calc(var(--spacing) * 10)}.md\:my-12{margin-block:calc(var(--spacing) * 12)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}}@media (width>=64rem){.lg\:pointer-events-auto{pointer-events:auto}.lg\:ml-16{margin-left:calc(var(--spacing) * 16)}.lg\:ml-60{margin-left:calc(var(--spacing) * 60)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-16{width:calc(var(--spacing) * 16)}.lg\:w-60{width:calc(var(--spacing) * 60)}.lg\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:justify-center{justify-content:center}.lg\:px-2{padding-inline:calc(var(--spacing) * 2)}.lg\:pt-0{padding-top:0}}@media (prefers-color-scheme:dark){.dark\:border-emerald-700{border-color:var(--color-emerald-700)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-orange-700{border-color:var(--color-orange-700)}.dark\:bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.dark\:bg-emerald-900\/40{background-color:#004e3b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/40{background-color:color-mix(in oklab, var(--color-emerald-900) 40%, transparent)}}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-green-800{background-color:var(--color-green-800)}.dark\:bg-orange-700{background-color:var(--color-orange-700)}.dark\:bg-orange-900\/30{background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/30{background-color:color-mix(in oklab, var(--color-orange-900) 30%, transparent)}}.dark\:bg-orange-900\/40{background-color:#7e2a0c66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/40{background-color:color-mix(in oklab, var(--color-orange-900) 40%, transparent)}}.dark\:bg-red-800{background-color:var(--color-red-800)}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-orange-200{color:var(--color-orange-200)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-slate-200{color:var(--color-slate-200)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-white{color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:text-white:hover{color:var(--color-white)}}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1024px){.mobile-topbar[data-v-6fca021f]{display:none!important}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-pink-300:oklch(82.3% .12 346.018);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-zinc-300:oklch(87.1% .006 286.286);--color-neutral-300:oklch(87% 0 0);--color-stone-300:oklch(86.9% .005 56.366);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-20{top:calc(var(--spacing) * 20)}.top-\[20vh\]{top:20vh}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-5{left:calc(var(--spacing) * 5)}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-1\.5{margin-block:calc(var(--spacing) * -1.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-8{margin-block:calc(var(--spacing) * 8)}.me-3{margin-inline-end:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.h-1{height:var(--spacing)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[90vh\]{max-height:90vh}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-13{width:calc(var(--spacing) * 13)}.w-16{width:calc(var(--spacing) * 16)}.w-48{width:calc(var(--spacing) * 48)}.w-60{width:calc(var(--spacing) * 60)}.w-96{width:calc(var(--spacing) * 96)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-800>:not(:last-child)){border-color:var(--color-gray-800)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/40{border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\/40{border-color:color-mix(in oklab, var(--color-green-500) 40%, transparent)}}.border-orange-300{border-color:var(--color-orange-300)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/40{border-color:color-mix(in oklab, var(--color-purple-500) 40%, transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\/40{border-color:color-mix(in oklab, var(--color-red-500) 40%, transparent)}}.border-red-600{border-color:var(--color-red-600)}.border-sky-300{border-color:var(--color-sky-300)}.border-sky-500\/40{border-color:#00a5ef66}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/40{border-color:color-mix(in oklab, var(--color-sky-500) 40%, transparent)}}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/40{border-color:color-mix(in oklab, var(--color-yellow-500) 40%, transparent)}}.border-t-amber-500{border-top-color:var(--color-amber-500)}.border-t-blue-500{border-top-color:var(--color-blue-500)}.border-t-emerald-500{border-top-color:var(--color-emerald-500)}.border-t-indigo-500{border-top-color:var(--color-indigo-500)}.border-t-purple-500{border-top-color:var(--color-purple-500)}.border-t-red-500{border-top-color:var(--color-red-500)}.border-t-sky-500{border-top-color:var(--color-sky-500)}.border-t-teal-500{border-top-color:var(--color-teal-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-amber-600{background-color:var(--color-amber-600)}.bg-amber-900\/30{background-color:#7b33064d}@supports (color:color-mix(in lab, red, red)){.bg-amber-900\/30{background-color:color-mix(in oklab, var(--color-amber-900) 30%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/75{background-color:#000000bf}@supports (color:color-mix(in lab, red, red)){.bg-black\/75{background-color:color-mix(in oklab, var(--color-black) 75%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/30{background-color:color-mix(in oklab, var(--color-blue-900) 30%, transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/60{background-color:#ecfdf599}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/60{background-color:color-mix(in oklab, var(--color-emerald-50) 60%, transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.bg-gray-800\/50{background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-300{background-color:var(--color-green-300)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/15{background-color:color-mix(in oklab, var(--color-green-500) 15%, transparent)}}.bg-green-700{background-color:var(--color-green-700)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-pink-300{background-color:var(--color-pink-300)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-300{background-color:var(--color-purple-300)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/15{background-color:color-mix(in oklab, var(--color-purple-500) 15%, transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab, red, red)){.bg-purple-900\/30{background-color:color-mix(in oklab, var(--color-purple-900) 30%, transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-red-700{background-color:var(--color-red-700)}.bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/30{background-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-400{background-color:var(--color-sky-400)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-sky-500\/10{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/10{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.bg-sky-600{background-color:var(--color-sky-600)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-stone-300{background-color:var(--color-stone-300)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-300{background-color:var(--color-yellow-300)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/15{background-color:color-mix(in oklab, var(--color-yellow-500) 15%, transparent)}}.bg-zinc-300{background-color:var(--color-zinc-300)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:var(--spacing)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-purple-400{color:var(--color-purple-400)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-sky-400{color:var(--color-sky-400)}.text-sky-600{color:var(--color-sky-600)}.text-sky-700{color:var(--color-sky-700)}.text-teal-400{color:var(--color-teal-400)}.text-teal-600{color:var(--color-teal-600)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-500\/10:hover{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-500\/10:hover{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-emerald-500\/10:hover{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-emerald-500\/10:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-500\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-green-500\/10:hover{background-color:color-mix(in oklab, var(--color-green-500) 10%, transparent)}}.hover\:bg-green-800:hover{background-color:var(--color-green-800)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-500\/10:hover{background-color:#625fff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-indigo-500\/10:hover{background-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-500\/10:hover{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-purple-500\/10:hover{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-purple-800:hover{background-color:var(--color-purple-800)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-sky-500\/10:hover{background-color:#00a5ef1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-sky-500\/10:hover{background-color:color-mix(in oklab, var(--color-sky-500) 10%, transparent)}}.hover\:bg-sky-700:hover{background-color:var(--color-sky-700)}.hover\:bg-teal-50:hover{background-color:var(--color-teal-50)}.hover\:bg-teal-500\/10:hover{background-color:#00baa71a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal-500\/10:hover{background-color:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.hover\:bg-yellow-50:hover{background-color:var(--color-yellow-50)}.hover\:bg-yellow-500:hover{background-color:var(--color-yellow-500)}.hover\:bg-yellow-500\/10:hover{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-yellow-500\/10:hover{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-emerald-300:hover{color:var(--color-emerald-300)}.hover\:text-emerald-600:hover{color:var(--color-emerald-600)}.hover\:text-gray-100:hover{color:var(--color-gray-100)}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-2:focus{top:calc(var(--spacing) * 2)}.focus\:left-2:focus{left:calc(var(--spacing) * 2)}.focus\:z-10:focus{z-index:10}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-md:focus{border-radius:var(--radius-md)}.focus\:border-amber-500:focus{border-color:var(--color-amber-500)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-emerald-500:focus{border-color:var(--color-emerald-500)}.focus\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:bg-emerald-600:focus{background-color:var(--color-emerald-600)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-white:focus{color:var(--color-white)}.focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber-300:focus{--tw-ring-color:var(--color-amber-300)}.focus\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\:ring-emerald-300:focus{--tw-ring-color:var(--color-emerald-300)}.focus\:ring-emerald-500:focus{--tw-ring-color:var(--color-emerald-500)}.focus\:ring-gray-200:focus{--tw-ring-color:var(--color-gray-200)}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:ring-green-300:focus{--tw-ring-color:var(--color-green-300)}.focus\:ring-purple-300:focus{--tw-ring-color:var(--color-purple-300)}.focus\:ring-red-300:focus{--tw-ring-color:var(--color-red-300)}.focus\:ring-sky-300:focus{--tw-ring-color:var(--color-sky-300)}.focus\:ring-yellow-300:focus{--tw-ring-color:var(--color-yellow-300)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-emerald-500:focus-visible{--tw-ring-color:var(--color-emerald-500)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (width>=64rem){.max-lg\:pointer-events-none{pointer-events:none}}@media (width>=40rem){.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=48rem){.md\:my-10{margin-block:calc(var(--spacing) * 10)}.md\:my-12{margin-block:calc(var(--spacing) * 12)}.md\:ml-2{margin-left:calc(var(--spacing) * 2)}:where(.md\:space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}}@media (width>=64rem){.lg\:pointer-events-auto{pointer-events:auto}.lg\:ml-16{margin-left:calc(var(--spacing) * 16)}.lg\:ml-60{margin-left:calc(var(--spacing) * 60)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-16{width:calc(var(--spacing) * 16)}.lg\:w-60{width:calc(var(--spacing) * 60)}.lg\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:justify-center{justify-content:center}.lg\:px-2{padding-inline:calc(var(--spacing) * 2)}.lg\:pt-0{padding-top:0}}@media (prefers-color-scheme:dark){.dark\:border-emerald-700{border-color:var(--color-emerald-700)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-orange-700{border-color:var(--color-orange-700)}.dark\:border-red-700{border-color:var(--color-red-700)}.dark\:bg-emerald-900\/30{background-color:#004e3b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/30{background-color:color-mix(in oklab, var(--color-emerald-900) 30%, transparent)}}.dark\:bg-emerald-900\/40{background-color:#004e3b66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-emerald-900\/40{background-color:color-mix(in oklab, var(--color-emerald-900) 40%, transparent)}}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-green-800{background-color:var(--color-green-800)}.dark\:bg-orange-700{background-color:var(--color-orange-700)}.dark\:bg-orange-900\/30{background-color:#7e2a0c4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/30{background-color:color-mix(in oklab, var(--color-orange-900) 30%, transparent)}}.dark\:bg-orange-900\/40{background-color:#7e2a0c66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-orange-900\/40{background-color:color-mix(in oklab, var(--color-orange-900) 40%, transparent)}}.dark\:bg-red-800{background-color:var(--color-red-800)}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.dark\:bg-red-900\/40{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-900\/40{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.dark\:bg-slate-800{background-color:var(--color-slate-800)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-orange-200{color:var(--color-orange-200)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-slate-200{color:var(--color-slate-200)}.dark\:text-slate-300{color:var(--color-slate-300)}.dark\:text-white{color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:text-white:hover{color:var(--color-white)}}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1024px){.mobile-topbar[data-v-6fca021f]{display:none!important}}
3
3
  /*$vite$:1*/
package/dist/ui-lib.js CHANGED
@@ -971,10 +971,14 @@ var Le = [
971
971
  badge: { default: "" },
972
972
  currency: { default: "$" },
973
973
  decimals: { default: 2 },
974
- accent: { default: "orange" }
974
+ accent: { default: "orange" },
975
+ signed: {
976
+ type: Boolean,
977
+ default: !1
978
+ }
975
979
  },
976
- setup(e) {
977
- let t = e, n = {
980
+ setup(t) {
981
+ let n = t, i = {
978
982
  orange: {
979
983
  border: "border-orange-300 dark:border-orange-700",
980
984
  badge: "bg-orange-100 text-orange-500 dark:bg-orange-900/40 dark:text-orange-400",
@@ -990,30 +994,38 @@ var Le = [
990
994
  subtitle: "text-emerald-500 dark:text-emerald-400",
991
995
  iconBox: "bg-emerald-50 dark:bg-emerald-900/30",
992
996
  icon: "text-emerald-500"
997
+ },
998
+ red: {
999
+ border: "border-red-300 dark:border-red-700",
1000
+ badge: "bg-red-100 text-red-600 dark:bg-red-900/40 dark:text-red-400",
1001
+ amount: "text-red-500 dark:text-red-400",
1002
+ subtitle: "text-red-500 dark:text-red-400",
1003
+ iconBox: "bg-red-50 dark:bg-red-900/30",
1004
+ icon: "text-red-500"
993
1005
  }
994
- }, i = r(() => n[t.accent]), c = r(() => {
995
- let e = Number.isFinite(t.amount) ? t.amount : 0;
996
- return t.currency + e.toLocaleString("en-US", {
997
- minimumFractionDigits: t.decimals,
998
- maximumFractionDigits: t.decimals
999
- });
1000
- });
1001
- return (t, n) => (y(), o("div", { class: m(["relative rounded-xl border-2 border-dashed bg-white p-6 dark:bg-slate-800", i.value.border]) }, [e.badge ? (y(), o("div", {
1006
+ }, c = r(() => {
1007
+ let e = Number(n.amount);
1008
+ return Number.isFinite(e) ? e : 0;
1009
+ }), l = r(() => n.signed && c.value < 0), u = r(() => l.value ? "red" : n.accent), d = r(() => i[u.value]), f = r(() => n.currency + c.value.toLocaleString("en-US", {
1010
+ minimumFractionDigits: n.decimals,
1011
+ maximumFractionDigits: n.decimals
1012
+ }));
1013
+ return (n, r) => (y(), o("div", { class: m(["relative rounded-xl border-2 border-dashed bg-white p-6 dark:bg-slate-800", d.value.border]) }, [t.badge ? (y(), o("div", {
1002
1014
  key: 0,
1003
- class: m(["absolute right-4 top-4 rounded-md px-3 py-1 text-xs font-bold tracking-wide", i.value.badge])
1004
- }, T(e.badge), 3)) : a("", !0), s("div", ft, [s("div", null, [
1005
- s("p", pt, T(e.title), 1),
1006
- s("p", { class: m(["mt-1 text-4xl font-bold", i.value.amount]) }, T(c.value), 3),
1007
- s("p", { class: m(["mt-1 text-sm font-medium", i.value.subtitle]) }, T(e.subtitle), 3)
1008
- ]), s("div", { class: m(["mt-6 flex h-12 w-12 items-center justify-center rounded-xl", i.value.iconBox]) }, [(y(), o("svg", {
1009
- class: m(["h-6 w-6", i.value.icon]),
1015
+ class: m(["absolute right-4 top-4 rounded-md px-3 py-1 text-xs font-bold tracking-wide", d.value.badge])
1016
+ }, T(t.badge), 3)) : a("", !0), s("div", ft, [s("div", null, [
1017
+ s("p", pt, T(t.title), 1),
1018
+ s("p", { class: m(["mt-1 text-4xl font-bold", d.value.amount]) }, T(f.value), 3),
1019
+ s("p", { class: m(["mt-1 text-sm font-medium", d.value.subtitle]) }, T(t.subtitle), 3)
1020
+ ]), s("div", { class: m(["mt-6 flex h-12 w-12 items-center justify-center rounded-xl", d.value.iconBox]) }, [(y(), o("svg", {
1021
+ class: m(["h-6 w-6", d.value.icon]),
1010
1022
  viewBox: "0 0 24 24",
1011
1023
  fill: "none",
1012
1024
  stroke: "currentColor",
1013
1025
  "stroke-width": "2.5",
1014
1026
  "stroke-linecap": "round",
1015
1027
  "stroke-linejoin": "round"
1016
- }, [...n[0] ||= [s("polyline", { points: "22 7 13.5 15.5 8.5 10.5 2 17" }, null, -1), s("polyline", { points: "16 7 22 7 22 13" }, null, -1)]], 2))], 2)])], 2));
1028
+ }, [l.value ? (y(), o(e, { key: 0 }, [r[0] ||= s("polyline", { points: "22 17 13.5 8.5 8.5 13.5 2 7" }, null, -1), r[1] ||= s("polyline", { points: "16 17 22 17 22 11" }, null, -1)], 64)) : (y(), o(e, { key: 1 }, [r[2] ||= s("polyline", { points: "22 7 13.5 15.5 8.5 10.5 2 17" }, null, -1), r[3] ||= s("polyline", { points: "16 7 22 7 22 13" }, null, -1)], 64))], 2))], 2)])], 2));
1017
1029
  }
1018
1030
  }), ht = {
1019
1031
  key: 0,
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("@heroicons/vue/24/outline"),require("@heroicons/vue/24/solid"),require("vue-router")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@heroicons/vue/24/outline`,`@heroicons/vue/24/solid`,`vue-router`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UiLib={},e.Vue,e.HeroiconsOutline,e.HeroiconsSolid,e.VueRouter))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var a=function(e){return e.WARNING=`WARNING`,e.ERROR=`ERROR`,e.SUCCESS=`SUCCESS`,e.INFO=`INFO`,e}({}),o=function(e){return e.NONE=`NONE`,e.RED=`RED`,e.YELLOW=`YELLOW`,e.BLACK=`BLACK`,e.GRAY=`GRAY`,e.GREEN=`GREEN`,e.BLUE=`BLUE`,e}({});function s(e){let t=`red`;switch(e){case a.ERROR:t=`red`;break;case a.SUCCESS:t=`green`;break;case a.INFO:t=`gray`;break;case a.WARNING:t=`yellow`;break}return t}function c(e){let t=`red`;switch(e){case o.GREEN:t=`green`;break;case o.RED:t=`red`;break;case o.BLUE:t=`blue`;break;case o.YELLOW:t=`yellow`;break;case o.BLACK:t=`black`;break;case o.GRAY:t=`gray`;break;case o.NONE:t=``;break}return t}var l={class:`font-medium pl-1`},u=(0,t.defineComponent)({__name:`BaseAlert`,props:{title:{type:String,required:!1,default:``},color:{type:String,required:!1,default:a.ERROR}},setup(e){let r=e,i=(0,t.computed)(()=>{switch(r.color){case a.SUCCESS:return n.CheckCircleIcon;case a.WARNING:return n.ExclamationTriangleIcon;case a.INFO:return n.InformationCircleIcon;default:return n.ExclamationCircleIcon}}),o=(0,t.computed)(()=>{switch(r.color){case a.SUCCESS:return`text-green-500`;case a.WARNING:return`text-yellow-500`;case a.INFO:return`text-gray-500`;default:return`text-red-500`}});function c(){let e=s(r.color);return`flex items-center p-4 mb-4 text-sm text-`+e+`-800 border border-`+e+`-300 rounded-lg bg-`+e+`-50 dark:bg-gray-800 dark:text-`+e+`-400 dark:border-`+e+`-800`}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(c()),role:`alert`},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(i.value),{class:(0,t.normalizeClass)([`w-6 h-6 flex-shrink-0`,o.value])},null,8,[`class`])),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`span`,l,(0,t.toDisplayString)(e.title),1)])],2))}}),d=`bg-red-100 text-red-700 border-red-200`,f=(0,t.defineComponent)({__name:`BaseBadge`,props:{color:{type:String,required:!1}},setup(e){let n=(0,t.useSlots)(),r=(0,t.computed)(()=>!!n.default),i=e,a={[o.RED]:`bg-red-100 text-red-700 border-red-200`,[o.GREEN]:`bg-green-100 text-green-700 border-green-200`,[o.BLUE]:`bg-blue-100 text-blue-700 border-blue-200`,[o.YELLOW]:`bg-yellow-100 text-yellow-700 border-yellow-200`,[o.GRAY]:`bg-gray-100 text-gray-700 border-gray-200`,[o.BLACK]:`bg-gray-800 text-gray-100 border-gray-700`,[o.NONE]:`bg-gray-50 text-gray-600 border-gray-200`},s=(0,t.computed)(()=>`inline-flex items-center gap-1 font-semibold text-xs leading-none px-3 py-1.5 rounded-full border ${i.color&&a[i.color]||d}`);return(e,n)=>r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)(s.value)},[(0,t.renderSlot)(e.$slots,`default`)],2)):(0,t.createCommentVNode)(``,!0)}}),p={class:`flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700`,"aria-label":`Breadcrumb`},m={class:`inline-flex items-center space-x-1 md:space-x-3`},h={class:`inline-flex items-center`,style:{"margin-left":`0`}},g=(0,t.defineComponent)({__name:`BaseBreadcrumb`,props:{items:{type:Array,required:!1,default:void 0},path:{type:String,required:!1,default:void 0}},setup(e){let i=e,a=(0,t.computed)(()=>{if(i.items&&i.items.length>0)return i.items;let e=(i.path??(typeof window<`u`?window.location.pathname:`/`)).split(`/`).filter(e=>e!==``),t=``;return e.map(e=>(t+=`/`+e,{name:Number.isNaN(Number(e))?(e.charAt(0).toUpperCase()+e.slice(1)).replaceAll(`-`,` `):e,url:t}))});return(e,i)=>{let o=(0,t.resolveComponent)(`router-link`);return(0,t.openBlock)(),(0,t.createElementBlock)(`nav`,p,[(0,t.createElementVNode)(`ol`,m,[(0,t.createElementVNode)(`li`,h,[(0,t.createVNode)(o,{to:`/`,class:`inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.HomeIcon),{class:`h-4 w-4 text-gray-500 mr-2`}),i[0]||=(0,t.createTextVNode)(` Home `,-1)]),_:1})]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r,class:`inline-flex items-center`,style:{"margin-left":`0`}},[(0,t.createVNode)((0,t.unref)(n.ChevronRightIcon),{class:`h-4 w-4 text-gray-500`}),(0,t.createVNode)(o,{to:e.url,class:`ml-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ml-2 dark:text-gray-400 dark:hover:text-white`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.name),1)]),_:2},1032,[`to`])]))),128))])])}}}),_=function(e){return e.RED=`RED`,e.BLUE=`BLUE`,e.WHITE=`WHITE`,e.DARK=`DARK`,e.GREEN=`GREEN`,e.EMERALD=`EMERALD`,e.YELLOW=`YELLOW`,e.PURPLE=`PURPLE`,e.SKY=`SKY`,e.GRAY=`GRAY`,e.AMBER=`AMBER`,e}({}),v=function(e){return e.EXTRA_SMALL=`EXTRA_SMALL`,e.SMALL=`SMALL`,e.BASE=`BASE`,e.LARGE=`LARGE`,e.EXTRA_LARGE=`EXTRA_LARGE`,e}({}),y=(0,t.ref)(!1),b=!1,x=`mgv-theme`;function S(e){if(b){e!==x&&console.warn(`[ui-lib] useTheme: storage key "${e}" ignored — theme already initialized with "${x}". Call initTheme({ storageKey }) before mounting any component.`);return}if(b=!0,x=e,typeof window<`u`){let e=window.localStorage?.getItem(x);e?y.value=e===`dark`:typeof window.matchMedia==`function`&&(y.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches)}typeof document<`u`&&(0,t.effectScope)(!0).run(()=>{(0,t.watch)(y,e=>{document.documentElement.classList.toggle(`dark`,e),window.localStorage?.setItem(x,e?`dark`:`light`)},{immediate:!0})})}function ee(e){S(e?.storageKey??x)}function C(e){S(e?.storageKey??x);function t(){y.value=!y.value}return{isDark:y,toggleTheme:t}}var te=[`type`,`disabled`,`onClick`],ne={key:0,class:`inline-flex items-center`},re={key:1},w={key:2},T=[`type`,`disabled`],E={key:0,class:`inline-flex items-center`},ie={key:1},ae={key:2},D=(0,t.defineComponent)({__name:`BaseButton`,props:{description:{type:String,required:!0},color:{type:String,required:!1,default:_.BLUE},to:{type:String,required:!1},type:{type:String,required:!1,default:`button`},iconLeft:{type:Boolean,required:!1,default:!1},isRounded:{type:Boolean,required:!1},outline:{type:Boolean,required:!1,default:!1},ghost:{type:Boolean,required:!1,default:!1},isDisable:{type:Boolean,required:!1},size:{type:String,required:!1},isLoading:{type:Boolean,required:!1}},setup(e){let{isDark:n}=C(),r=e;function i(){let e={[_.BLUE]:{light:`text-blue-700 border-blue-300 hover:bg-blue-50`,dark:`text-blue-400 border-blue-500/40 hover:bg-blue-500/10`},[_.GREEN]:{light:`text-green-700 border-green-300 hover:bg-green-50`,dark:`text-green-400 border-green-500/40 hover:bg-green-500/10`},[_.EMERALD]:{light:`text-emerald-700 border-emerald-300 hover:bg-emerald-50`,dark:`text-emerald-400 border-emerald-500/40 hover:bg-emerald-500/10`},[_.RED]:{light:`text-red-700 border-red-300 hover:bg-red-50`,dark:`text-red-400 border-red-500/40 hover:bg-red-500/10`},[_.YELLOW]:{light:`text-yellow-700 border-yellow-300 hover:bg-yellow-50`,dark:`text-yellow-400 border-yellow-500/40 hover:bg-yellow-500/10`},[_.PURPLE]:{light:`text-purple-700 border-purple-300 hover:bg-purple-50`,dark:`text-purple-400 border-purple-500/40 hover:bg-purple-500/10`},[_.SKY]:{light:`text-sky-700 border-sky-300 hover:bg-sky-50`,dark:`text-sky-400 border-sky-500/40 hover:bg-sky-500/10`},[_.AMBER]:{light:`text-amber-700 border-amber-300 hover:bg-amber-50`,dark:`text-amber-400 border-amber-500/40 hover:bg-amber-500/10`},[_.GRAY]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`},[_.DARK]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`},[_.WHITE]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`}},t=e[r.color]??e[_.BLUE],i=n.value?t.dark:t.light;return r.isDisable||r.isLoading?`border bg-transparent ${i} opacity-50 cursor-not-allowed`:`focus:outline-none border bg-transparent ${i}`}function a(){let e={[_.BLUE]:{light:`text-blue-600 hover:bg-blue-50`,dark:`text-blue-400 hover:bg-blue-500/10`},[_.GREEN]:{light:`text-green-600 hover:bg-green-50`,dark:`text-green-400 hover:bg-green-500/10`},[_.EMERALD]:{light:`text-emerald-600 hover:bg-emerald-50`,dark:`text-emerald-400 hover:bg-emerald-500/10`},[_.SKY]:{light:`text-sky-600 hover:bg-sky-50`,dark:`text-sky-400 hover:bg-sky-500/10`},[_.RED]:{light:`text-red-500 hover:bg-red-50`,dark:`text-red-400 hover:bg-red-500/10`},[_.AMBER]:{light:`text-amber-700 hover:bg-amber-50`,dark:`text-amber-300 hover:bg-amber-500/10`},[_.YELLOW]:{light:`text-yellow-600 hover:bg-yellow-50`,dark:`text-yellow-400 hover:bg-yellow-500/10`},[_.PURPLE]:{light:`text-purple-600 hover:bg-purple-50`,dark:`text-purple-400 hover:bg-purple-500/10`},[_.GRAY]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`},[_.DARK]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`},[_.WHITE]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`}},t=e[r.color]??e[_.GRAY],i=n.value?t.dark:t.light;return r.isDisable||r.isLoading?`bg-transparent ${i} opacity-60 cursor-not-allowed`:`focus:outline-none bg-transparent ${i} cursor-pointer`}function o(){let e=r.isDisable||r.isLoading,t;switch(r.color){case _.BLUE:t=e?`text-white bg-blue-400 cursor-not-allowed`:`focus:outline-none text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300`;break;case _.WHITE:t=e?`text-gray-900 bg-gray-200 border border-gray-200 cursor-not-allowed`:`focus:outline-none text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-200`;break;case _.DARK:t=e?`text-white bg-gray-400 cursor-not-allowed`:`focus:outline-none text-white bg-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300`;break;case _.GREEN:t=e?`text-white bg-green-400 cursor-not-allowed`:`focus:outline-none text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300`;break;case _.EMERALD:t=e?`text-white bg-emerald-400 cursor-not-allowed`:`focus:outline-none text-white bg-emerald-600 hover:bg-emerald-700 focus:ring-4 focus:ring-emerald-300`;break;case _.RED:t=e?`text-white bg-red-400 cursor-not-allowed`:`focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300`;break;case _.YELLOW:t=e?`text-white bg-yellow-300 cursor-not-allowed`:`focus:outline-none text-white bg-yellow-400 hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300`;break;case _.PURPLE:t=e?`text-white bg-purple-400 cursor-not-allowed`:`focus:outline-none text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300`;break;case _.SKY:t=e?`text-white bg-sky-400 cursor-not-allowed`:`focus:outline-none text-white bg-sky-600 hover:bg-sky-700 focus:ring-4 focus:ring-sky-300`;break;case _.AMBER:t=e?`text-white bg-amber-300 cursor-not-allowed`:`focus:outline-none text-white bg-amber-500 hover:bg-amber-600 focus:ring-4 focus:ring-amber-300`;break;case _.GRAY:t=e?`text-white bg-gray-400 cursor-not-allowed`:`focus:outline-none text-white bg-gray-600 hover:bg-gray-700 focus:ring-4 focus:ring-gray-300`;break;default:t=e?`text-white bg-blue-400 cursor-not-allowed`:`focus:outline-none text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300`;break}r.outline&&(t=i()),r.ghost&&(t=a());let n=`px-5 py-2.5 mr-2 mb-2 text-sm`;switch(r.size){case v.EXTRA_SMALL:n=`px-3 py-2 text-xs`;break;case v.SMALL:n=`px-3 py-2 text-sm`;break;case v.BASE:n=`px-5 py-2.5 text-sm`;break;case v.LARGE:n=`px-5 py-3 text-base`;break;case v.EXTRA_LARGE:n=`px-6 py-3.5 text-base`;break}let o=`rounded-lg`;return r.isRounded&&(o=`rounded-full`),`inline-flex items-center `+n+` `+t+` font-medium `+o}return(n,i)=>{let a=(0,t.resolveComponent)(`router-link`);return e.to?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,to:e.to,custom:``},{default:(0,t.withCtx)(({navigate:a})=>[(0,t.createElementVNode)(`button`,{type:r.type,class:(0,t.normalizeClass)(o()),disabled:e.isDisable||e.isLoading,onClick:a},[e.isLoading?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ne,[...i[0]||=[(0,t.createElementVNode)(`svg`,{"aria-hidden":`true`,role:`status`,class:`inline w-4 h-4 me-3 animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},[(0,t.createElementVNode)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`#E5E7EB`}),(0,t.createElementVNode)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentColor`})],-1)]])):(0,t.createCommentVNode)(``,!0),e.iconLeft?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,re,(0,t.toDisplayString)(e.description),1)),(0,t.renderSlot)(n.$slots,`default`),e.iconLeft?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,w,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],10,te)]),_:3},8,[`to`])):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:r.type,class:(0,t.normalizeClass)(o()),disabled:e.isDisable||e.isLoading},[e.isLoading?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,E,[...i[1]||=[(0,t.createElementVNode)(`svg`,{"aria-hidden":`true`,role:`status`,class:`inline w-4 h-4 me-3 animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},[(0,t.createElementVNode)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`#E5E7EB`}),(0,t.createElementVNode)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentColor`})],-1)]])):(0,t.createCommentVNode)(``,!0),e.iconLeft?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ie,(0,t.toDisplayString)(e.description),1)),(0,t.renderSlot)(n.$slots,`default`),e.iconLeft?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ae,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],10,T))}}}),O=function(e){return e.BASE=`BASE`,e.BASE_SHORTER=`BASE_SHORTER`,e.SQUARE=`SQUARE`,e}({}),oe={key:0,class:`h-px my-8 bg-gray-200 border-0 dark:bg-gray-700`},se={key:1,class:`w-48 h-1 mx-auto my-4 bg-gray-100 border-0 rounded md:my-10 dark:bg-gray-700`},ce={key:2,class:`w-8 h-8 mx-auto my-8 bg-gray-200 border-0 rounded md:my-12 dark:bg-gray-700`},le=(0,t.defineComponent)({__name:`BaseLine`,props:{mode:{type:String,required:!1,default:O.BASE}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[e.mode===(0,t.unref)(O).BASE?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,oe)):(0,t.createCommentVNode)(``,!0),e.mode===(0,t.unref)(O).BASE_SHORTER?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,se)):(0,t.createCommentVNode)(``,!0),e.mode===(0,t.unref)(O).SQUARE?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,ce)):(0,t.createCommentVNode)(``,!0)],64))}}),k=function(e){return e.SMALL=`SMALL`,e.MEDIUM=`MEDIUM`,e.LARGE=`LARGE`,e}({}),ue=k,de=[`height`,`width`],fe=(0,t.defineComponent)({__name:`BaseLogo`,props:{size:{type:String,required:!1,default:k.MEDIUM}},setup(e){let n=e;function r(){let e=``;switch(n.size){case k.SMALL:e=`50px`;break;case k.MEDIUM:e=`100px`;break;case k.LARGE:e=`150px`;break}return e}return(e,n)=>{let i=(0,t.resolveComponent)(`router-link`);return(0,t.openBlock)(),(0,t.createBlock)(i,{to:`/`,class:`flex items-center mb-6 text-2xl font-semibold text-gray-900 dark:text-white`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{height:r(),width:r(),viewBox:`33.6 130.6 499.7 242.9`,xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`},[...n[0]||=[(0,t.createElementVNode)(`linearGradient`,{id:`a`},[(0,t.createElementVNode)(`stop`,{offset:`.085`,"stop-color":`#469e43`}),(0,t.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#132d13`})],-1),(0,t.createElementVNode)(`linearGradient`,{id:`b`,gradientUnits:`userSpaceOnUse`,x1:`64.863`,x2:`64.863`,"xlink:href":`#a`,y1:`288.291`,y2:`369.4`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`c`,gradientUnits:`userSpaceOnUse`,x1:`138.367`,x2:`138.367`,"xlink:href":`#a`,y1:`308.454`,y2:`370.601`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`d`,gradientUnits:`userSpaceOnUse`,x1:`195.475`,x2:`195.475`,"xlink:href":`#a`,y1:`288.291`,y2:`369.85`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`e`,gradientUnits:`userSpaceOnUse`,x1:`249.634`,x2:`249.634`,"xlink:href":`#a`,y1:`307.312`,y2:`369.511`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`f`,gradientUnits:`userSpaceOnUse`,x1:`302.884`,x2:`302.884`,"xlink:href":`#a`,y1:`288.291`,y2:`367.857`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`g`,gradientUnits:`userSpaceOnUse`,x1:`354.118`,x2:`354.118`,"xlink:href":`#a`,y1:`307.312`,y2:`369.511`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`h`,gradientUnits:`userSpaceOnUse`,x1:`428.02`,x2:`428.02`,"xlink:href":`#a`,y1:`306.156`,y2:`367.742`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`i`,gradientUnits:`userSpaceOnUse`,x1:`502.066`,x2:`502.066`,"xlink:href":`#a`,y1:`288.291`,y2:`369.4`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`j`,gradientUnits:`userSpaceOnUse`,x1:`283.264`,x2:`283.264`,"xlink:href":`#a`,y1:`131.629`,y2:`232.559`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`k`,gradientUnits:`userSpaceOnUse`,x1:`283.46`,x2:`283.46`,y1:`202.275`,y2:`183.785`},[(0,t.createElementVNode)(`stop`,{offset:`0`,"stop-color":`#969799`,"stop-opacity":`0`}),(0,t.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#808183`})],-1),(0,t.createElementVNode)(`path`,{d:`m65 307.2c-6.8 0-13.1 2.2-18.2 5.9v-24.8h-13.2v81.1h31.4c17.2 0 31.1-13.9 31.1-31.1s-13.9-31.1-31.1-31.1zm0 49.3h-18.2v-18.2c0-10.1 8.2-18.2 18.2-18.2 10.1 0 18.2 8.2 18.2 18.2.1 10.1-8.1 18.2-18.2 18.2z`,fill:`url(#b)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m168.8 343.9h-46.7c1.4 7.1 6.6 12 14.1 12.7 6.4.6 12.9.1 19.9.1v11.9c-15.2 4.9-33.3.5-42.1-10.4-3.8-4.7-17.3-34.7 11.5-47.4 39-11.4 45.3 22.4 43.3 33.1zm-14.2-12.7c-1.7-8.1-8.8-12.9-17.9-12.3-7.6.5-14 5.8-14.5 12.3z`,fill:`url(#c)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m195.5 320.2c0 10.5-.2 20 .1 29.6.2 5.8 4.4 8.4 13.2 8.6v10.5c-13.8 3.9-26.2-4.5-26.4-18-.2-18.7-.1-43.9-.1-62.6h14.1l-.3 18.5 12.7-.1v13.4h-13.3z`,fill:`url(#d)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m249.6 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z`,fill:`url(#e)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m296.4 288.3h13v79.6h-13z`,fill:`url(#f)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m354.1 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z`,fill:`url(#g)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m442.2 367.7c0-12.3.2-23.6 0-34.9-.2-3.4-3.6-13.8-14.1-13.4-10.3-.3-14.4 10-14.3 12.7.1 10.2.5 35.1.5 35.1l-13.6.1s-.3-25.7.2-36.2c.6-14.1 12.7-25 27.5-25 14.7 0 26.2 10.4 26.7 24.9.4 10.4.5 36.3.5 36.3z`,fill:`url(#h)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m501.9 307.2c6.8 0 13.1 2.2 18.2 5.9v-24.8h13.2v81.1h-31.4c-17.2 0-31.1-13.9-31.1-31.1s13.9-31.1 31.1-31.1zm0 49.3h18.2v-18.2c0-10.1-8.2-18.2-18.2-18.2-10.1 0-18.2 8.2-18.2 18.2 0 10.1 8.1 18.2 18.2 18.2z`,fill:`url(#i)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m309.2 180.6h-24v-24c0-12.6 10.2-24.1 22.8-25 14.8-1 27.1 11.3 26.1 26.1-.8 12.7-12.3 22.9-24.9 22.9zm-50.7-48.9c-14.8-1-27.1 11.3-26.1 26.1.8 12.6 12.4 22.8 25 22.8h23.9v-24c0-12.6-10.3-24.1-22.8-24.9zm50.7 51.9h-24v23.9c0 12.6 10.2 24.1 22.8 25 14.8 1 27.1-11.3 26.1-26.1-.8-12.6-12.3-22.8-24.9-22.8zm-52.4 0c-14 0-25.3 11.8-24.4 26 .8 12.2 10.7 22.1 22.9 22.9 14.2.9 26-10.4 26-24.4v-24.5z`,fill:`url(#j)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m281.7 183.8h3.6v18.5h-3.6z`,fill:`url(#k)`},null,-1)]],8,de))]),_:1})}}}),A=function(e){return e.DELETE=`DELETE`,e.SUCCESS=`SUCCESS`,e}({}),pe={key:0,class:`p-6 text-center`},me={class:`flex justify-center`},he={key:1,class:`p-6 text-center`},ge={key:0,class:`mb-5 text-sm text-gray-500`},_e={class:`flex justify-center`},j=(0,t.defineComponent)({__name:`BaseModal`,props:{title:{type:String,required:!0},description:{type:String,required:!1},to:{type:String,required:!1,default:`/`},mode:{type:String,required:!1,default:A.SUCCESS}},emits:[`closeModal`,`confirmModal`],setup(e,{emit:r}){let i=r,a=`modal-title-${Math.random().toString(36).slice(2,9)}`;function o(e){e.key===`Escape`&&i(`closeModal`)}return(0,t.onMounted)(()=>{document.addEventListener(`keydown`,o)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,o)}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{class:`fixed inset-0 w-full h-screen bg-black/75 z-40`,onClick:i[0]||=e=>r.$emit(`closeModal`)}),(0,t.createElementVNode)(`div`,{class:`fixed top-[20vh] left-1/2 -translate-x-1/2 w-96 z-50 rounded-xl shadow-lg bg-white overflow-hidden`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":a},[e.mode===(0,t.unref)(A).DELETE?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pe,[(0,t.createVNode)((0,t.unref)(n.ExclamationCircleIcon),{class:`w-12 h-12 text-gray-400 mx-auto mb-4`}),(0,t.createElementVNode)(`h3`,{id:a,class:`mb-5 text-lg font-normal text-gray-500 dark:text-gray-400`},` Are you sure you want to delete this `+(0,t.toDisplayString)(e.title)+`? `,1),(0,t.createElementVNode)(`div`,me,[(0,t.createVNode)(D,{color:(0,t.unref)(_).RED,onClick:i[1]||=e=>r.$emit(`confirmModal`),description:`Yes, I'm sure`},null,8,[`color`]),(0,t.createVNode)(D,{color:(0,t.unref)(_).WHITE,onClick:i[2]||=e=>r.$emit(`closeModal`),description:`No, cancel`},null,8,[`color`])])])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,he,[(0,t.createVNode)((0,t.unref)(n.CheckCircleIcon),{class:`w-12 h-12 text-green-500 mx-auto mb-4`}),(0,t.createElementVNode)(`h3`,{id:a,class:`mb-2 text-lg font-medium text-gray-900`},(0,t.toDisplayString)(e.title),1),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,ge,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`),(0,t.createElementVNode)(`div`,_e,[(0,t.createVNode)(D,{color:(0,t.unref)(_).BLUE,onClick:i[3]||=e=>r.$emit(`closeModal`),description:`OK`},null,8,[`color`])])]))])],64))}}),M=(0,t.defineComponent)({__name:`BaseRow`,props:{bgColor:{type:String,required:!1,default:`bg-white`}},setup(e){let n=e;function r(){return`block p-8 border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-700 `+n.bgColor}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(r())},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),N=(0,t.defineComponent)({__name:`BaseSpinner`,props:{size:{default:`sm`},color:{default:`blue`}},setup(e){let n=e,r=(0,t.computed)(()=>({sm:`w-4 h-4 border-2`,md:`w-6 h-6 border-2`,lg:`w-8 h-8 border-4`,xl:`w-12 h-12 border-4`})[n.size]),i=(0,t.computed)(()=>({blue:`border-t-blue-500`,emerald:`border-t-emerald-500`,sky:`border-t-sky-500`,indigo:`border-t-indigo-500`,teal:`border-t-teal-500`,purple:`border-t-purple-500`,red:`border-t-red-500`,amber:`border-t-amber-500`})[n.color]);return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`border-gray-200 rounded-full animate-spin`,[r.value,i.value]]),role:`status`,"aria-label":`Loading`},null,2))}}),P=function(e){return e.SUCCESS=`SUCCESS`,e.WARNING=`WARNING`,e.ERROR=`ERROR`,e}({}),F=function(e){return e.TOP_LEFT=`TOP_LEFT`,e.TOP_RIGHT=`TOP_RIGHT`,e.BOTTOM_LEFT=`BOTTOM_LEFT`,e.BOTTOM_RIGHT=`BOTTOM_RIGHT`,e}({}),I={class:`flex items-center w-full max-w-md p-4 mb-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800`},ve={class:`ml-3 text-sm font-normal`},ye=(0,t.defineComponent)({__name:`BaseToast`,props:{mode:{type:String,required:!0},description:{type:String,required:!0},hasCloseIcon:{type:Boolean,required:!1,default:!0},positioning:{type:String,required:!1,default:F.TOP_RIGHT},duration:{type:Number,required:!1,default:5e3}},setup(e){let r=e,i=(0,t.ref)(!0),a=null;function o(){i.value=!1,a&&=(clearTimeout(a),null)}(0,t.onMounted)(()=>{a=setTimeout(()=>i.value=!1,r.duration)}),(0,t.onUnmounted)(()=>{a&&clearTimeout(a)});function s(){let e=``;switch(r.mode){case P.ERROR:e=`text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200`;break;case P.SUCCESS:e=`text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200`;break;case P.WARNING:e=`text-orange-500 bg-orange-100 dark:bg-orange-700 dark:text-orange-200`;break;default:e=`text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-200`;break}return`inline-flex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg `+e}function c(){let e=`top-5 right-5`;switch(r.positioning){case F.BOTTOM_LEFT:e=`bottom-5 left-5`;break;case F.TOP_LEFT:e=`top-5 left-5`;break;case F.TOP_RIGHT:e=`top-5 right-5`;break;case F.BOTTOM_RIGHT:e=`bottom-5 right-5`;break}return`fixed flex items-center w-full max-w-md p-4 space-x-4 divide-x rounded-lg `+e}return(r,a)=>i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`toast-top-right`,class:(0,t.normalizeClass)(c()),role:`alert`},[(0,t.createElementVNode)(`div`,I,[e.mode==(0,t.unref)(P).ERROR?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.ExclamationCircleIcon),{class:`h-6 w-6 text-red-500`}),a[0]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Error icon`,-1)],2)):e.mode==(0,t.unref)(P).SUCCESS?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.CheckCircleIcon),{class:`h-6 w-6 text-green-500`}),a[1]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Check icon`,-1)],2)):e.mode==(0,t.unref)(P).WARNING?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:`h-6 w-6 text-yellow-500`}),a[2]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Warning icon`,-1)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ve,(0,t.toDisplayString)(e.description),1),e.hasCloseIcon?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,type:`button`,class:`ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex items-center justify-center h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700 cursor-pointer`,"aria-label":`Close`,onClick:o},[a[3]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1),(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`h-6 w-6 text-gray-500`})])):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0)}}),be={class:`w-13`},xe=(0,t.defineComponent)({__name:`ColoredSquares`,props:{color:{type:String,required:!1}},setup(e){let n=e,r=[`bg-slate-300`,`bg-zinc-300`,`bg-neutral-300`,`bg-stone-300`,`bg-blue-300`,`bg-green-300`,`bg-yellow-300`,`bg-purple-300`,`bg-pink-300`],i=(0,t.ref)(r[Math.floor(Math.random()*r.length)]);function a(){let e=`gray`;switch(n.color){case o.GREEN:e=`green`;break;case o.RED:e=`red`;break;case o.BLUE:e=`blue`;break;case o.YELLOW:e=`yellow`;break;case o.NONE:return`font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full`}return`font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full bg-`+e+`-100 text-`+e+`-800`}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,be,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`border border-gray-300 relative aspect-square rounded-lg bg-white shadow-sm overflow-hidden flex items-center justify-center text-center`,a()])},[(0,t.renderSlot)(e.$slots,`default`),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`absolute bottom-0 left-0 h-1 w-full`,i.value])},null,2)],2)]))}}),Se={class:`flex items-start justify-between`},Ce={class:`text-sm font-bold tracking-wide text-gray-800 dark:text-slate-200`},we=(0,t.defineComponent)({__name:`EarningsCard`,props:{title:{default:`TOTAL EARNINGS`},amount:{default:0},subtitle:{default:`Lifetime commission`},badge:{default:``},currency:{default:`$`},decimals:{default:2},accent:{default:`orange`}},setup(e){let n=e,r={orange:{border:`border-orange-300 dark:border-orange-700`,badge:`bg-orange-100 text-orange-500 dark:bg-orange-900/40 dark:text-orange-400`,amount:`text-gray-400 dark:text-slate-300`,subtitle:`text-orange-400 dark:text-orange-400`,iconBox:`bg-orange-50 dark:bg-orange-900/30`,icon:`text-orange-400`},emerald:{border:`border-emerald-300 dark:border-emerald-700`,badge:`bg-emerald-100 text-emerald-600 dark:bg-emerald-900/40 dark:text-emerald-400`,amount:`text-emerald-500 dark:text-emerald-400`,subtitle:`text-emerald-500 dark:text-emerald-400`,iconBox:`bg-emerald-50 dark:bg-emerald-900/30`,icon:`text-emerald-500`}},i=(0,t.computed)(()=>r[n.accent]),a=(0,t.computed)(()=>{let e=Number.isFinite(n.amount)?n.amount:0;return n.currency+e.toLocaleString(`en-US`,{minimumFractionDigits:n.decimals,maximumFractionDigits:n.decimals})});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`relative rounded-xl border-2 border-dashed bg-white p-6 dark:bg-slate-800`,i.value.border])},[e.badge?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`absolute right-4 top-4 rounded-md px-3 py-1 text-xs font-bold tracking-wide`,i.value.badge])},(0,t.toDisplayString)(e.badge),3)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Se,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Ce,(0,t.toDisplayString)(e.title),1),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`mt-1 text-4xl font-bold`,i.value.amount])},(0,t.toDisplayString)(a.value),3),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`mt-1 text-sm font-medium`,i.value.subtitle])},(0,t.toDisplayString)(e.subtitle),3)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`mt-6 flex h-12 w-12 items-center justify-center rounded-xl`,i.value.iconBox])},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.normalizeClass)([`h-6 w-6`,i.value.icon]),viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[...r[0]||=[(0,t.createElementVNode)(`polyline`,{points:`22 7 13.5 15.5 8.5 10.5 2 17`},null,-1),(0,t.createElementVNode)(`polyline`,{points:`16 7 22 7 22 13`},null,-1)]],2))],2)])],2))}}),Te={key:0,class:`font-bold text-green-800`},Ee={key:0},De={key:0},Oe=`font-bold`,ke=(0,t.defineComponent)({__name:`EuroAmount`,props:{amount:{type:Number,required:!1},beforeAmount:{type:Number,default:null,required:!1},showCurrency:{type:Boolean,default:!0,required:!1}},setup(e){let n=e,r=(0,t.computed)(()=>n.amount!==null&&n.amount!==void 0),i=(0,t.computed)(()=>r.value&&n.amount<0),a=(0,t.computed)(()=>n.beforeAmount===null||n.beforeAmount===void 0?!1:n.amount<n.beforeAmount),o=(0,t.computed)(()=>i.value||a.value),s=(0,t.computed)(()=>!i.value&&!a.value&&!(n.beforeAmount===null||n.beforeAmount===void 0));return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[r.value&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Te,[(0,t.createTextVNode)((0,t.toDisplayString)(e.amount)+` `,1),e.showCurrency?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ee,`€`)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),r.value&&!s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([Oe,o.value?`text-red-800`:`text-gray-800`])},[(0,t.createTextVNode)((0,t.toDisplayString)(e.amount)+` `,1),e.showCurrency?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,De,`€`)):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0)],64))}}),Ae={class:`flex list-none p-0 m-0`},je=[`onClick`,`onKeydown`],Me={key:1,class:`inline-block border border-gray-300 rounded-lg p-3 text-black cursor-not-allowed`},Ne=(0,t.defineComponent)({__name:`Pagination`,props:{totalItems:{type:Number,required:!0},itemsPerPage:{type:Number,default:20}},emits:[`page-changed`],setup(e,{emit:n}){let r=e,i=(0,t.ref)(1),a=(0,t.ref)(0),o=(0,t.ref)([]),s=n;function c(e){if(a.value<=5){o.value=Array.from({length:a.value},(e,t)=>t+1);return}let t=[],n=Math.max(1,e-2),r=Math.min(a.value,e+2);n>1&&(t.push(1),n>2&&t.push(0));for(let e=n;e<=r;e++)t.push(e);r<a.value&&(r<a.value-1&&t.push(0),t.push(a.value)),o.value=t}function l(e){e===i.value||e<1||e>a.value||(i.value=e,c(e),s(`page-changed`,e))}return(0,t.watch)(()=>[r.totalItems,r.itemsPerPage],()=>{a.value=Math.ceil(r.totalItems/r.itemsPerPage),i.value>a.value&&(i.value=Math.max(1,a.value)),c(i.value)},{immediate:!0}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createElementVNode)(`ul`,Ae,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:n,class:`mr-1`},[e===0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Me,`...`)):((0,t.openBlock)(),(0,t.createElementBlock)(`a`,{key:0,role:`button`,tabindex:`0`,onClick:t=>l(e),onKeydown:(0,t.withKeys)(t=>l(e),[`enter`]),class:(0,t.normalizeClass)([`inline-block border border-gray-300 rounded-lg p-3 no-underline text-black cursor-pointer hover:bg-gray-300`,{"active font-bold bg-gray-200":e===i.value}])},(0,t.toDisplayString)(e),43,je))]))),128))])]))}}),Pe={key:0},Fe={key:0,class:`flex items-center space-x-2`},Ie={key:1,class:`flex items-center space-x-2`},Le={key:2,class:`flex items-center space-x-2`},Re=(0,t.defineComponent)({__name:`TrendArrow`,props:{number:{type:Number,required:!1},icon:{type:String,required:!1}},setup(e){let r=e,i=(0,t.computed)(()=>r.number!==null&&r.number!==void 0&&r.number<0),a=(0,t.computed)(()=>r.number===0);return(s,c)=>e.number!==null&&e.number!==void 0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pe,[i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fe,[(0,t.createVNode)(f,{color:(0,t.unref)(o).RED},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.ArrowDownIcon),{class:`h-5 w-5 text-red-500`})])):a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ie,[(0,t.createVNode)(f,{color:(0,t.unref)(o).GRAY},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.MinusIcon),{class:`h-5 w-5 text-gray-400`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Le,[(0,t.createVNode)(f,{color:(0,t.unref)(o).GREEN},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.ArrowUpIcon),{class:`h-5 w-5 text-green-500`})]))])):(0,t.createCommentVNode)(``,!0)}});function L(){let{isDark:e}=C();return{card:(0,t.computed)(()=>e.value?`bg-gray-800 border-gray-700`:`bg-white border-gray-200`),cardAlt:(0,t.computed)(()=>e.value?`bg-gray-900 border-gray-700`:`bg-white border-gray-200`),pageBg:(0,t.computed)(()=>e.value?`bg-gray-900`:`bg-gray-50`),border:(0,t.computed)(()=>e.value?`border-gray-700`:`border-gray-200`),divider:(0,t.computed)(()=>e.value?`border-gray-800`:`border-gray-100`),primaryText:(0,t.computed)(()=>e.value?`text-white`:`text-gray-900`),primaryTextSoft:(0,t.computed)(()=>e.value?`text-gray-100`:`text-gray-800`),bodyText:(0,t.computed)(()=>e.value?`text-gray-200`:`text-gray-700`),label:(0,t.computed)(()=>e.value?`text-gray-300`:`text-gray-700`),mutedText:(0,t.computed)(()=>e.value?`text-gray-400`:`text-gray-600`),subtleText:(0,t.computed)(()=>e.value?`text-gray-500`:`text-gray-600`),dimText:(0,t.computed)(()=>e.value?`text-gray-500`:`text-gray-400`),dimTextAlt:(0,t.computed)(()=>e.value?`text-gray-400`:`text-gray-500`),illustration:(0,t.computed)(()=>e.value?`text-gray-600`:`text-gray-300`),input:(0,t.computed)(()=>e.value?`bg-gray-700 border-gray-600 text-white`:`bg-gray-50 border-gray-300 text-gray-900`),inputWithPlaceholder:(0,t.computed)(()=>e.value?`bg-gray-700 border-gray-600 text-white placeholder-gray-400`:`bg-gray-50 border-gray-300 text-gray-900 placeholder-gray-500`),ghostButton:(0,t.computed)(()=>e.value?`bg-gray-800 text-gray-200 border-gray-600 hover:bg-gray-700`:`bg-white text-gray-700 border-gray-300 hover:bg-gray-50`),emeraldText:(0,t.computed)(()=>e.value?`text-emerald-400`:`text-emerald-600`),amberText:(0,t.computed)(()=>e.value?`text-amber-400`:`text-amber-600`),amberTextStrong:(0,t.computed)(()=>e.value?`text-amber-300`:`text-amber-700`),redText:(0,t.computed)(()=>e.value?`text-red-400`:`text-red-500`)}}function R(e){function n(t){t.key===`Escape`&&e()}(0,t.onMounted)(()=>document.addEventListener(`keydown`,n)),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`keydown`,n))}var ze={class:`flex items-start gap-4 min-w-0`},Be={class:`flex-1 min-w-0`},Ve={class:`p-6 overflow-y-auto flex-1`},He={class:`p-6`},Ue={class:`flex items-start gap-4`},We={class:`flex-1`},Ge={class:`mt-4`},Ke={class:`mt-6 flex gap-3 justify-end`},z=(0,t.defineComponent)({__name:`BaseModalShell`,props:{title:{},maxWidthClass:{default:`max-w-md`},manualClose:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},subtitle:{default:``}},emits:[`cancel`,`backdrop`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=`modal-title-${Math.random().toString(36).slice(2,9)}`,c=(0,t.computed)(()=>a.value?`bg-gray-900 border border-gray-700`:`bg-white border border-gray-200`);function l(){i(`backdrop`),r.manualClose||i(`cancel`)}return R(()=>{r.manualClose||i(`cancel`)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createElementVNode)(`div`,{class:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":s,onClick:l},[e.scrollable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`relative w-full mx-4 rounded-lg shadow-xl max-h-[90vh] flex flex-col`,[e.maxWidthClass,c.value]]),onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex items-start justify-between gap-4 p-6 border-b shrink-0`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`div`,ze,[(0,t.renderSlot)(n.$slots,`icon`),(0,t.createElementVNode)(`div`,Be,[(0,t.createElementVNode)(`h3`,{id:s,class:(0,t.normalizeClass)([`text-lg font-medium`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm mt-1 break-all`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)])]),(0,t.renderSlot)(n.$slots,`header-actions`)],2),(0,t.createElementVNode)(`div`,Ve,[(0,t.renderSlot)(n.$slots,`default`)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`flex gap-3 justify-end p-6 border-t shrink-0`,(0,t.unref)(o).border])},[(0,t.renderSlot)(n.$slots,`footer`)],2)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`relative w-full mx-4 rounded-lg shadow-xl`,[e.maxWidthClass,c.value]]),onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,He,[(0,t.createElementVNode)(`div`,Ue,[(0,t.renderSlot)(n.$slots,`icon`),(0,t.createElementVNode)(`div`,We,[(0,t.createElementVNode)(`h3`,{id:s,class:(0,t.normalizeClass)([`text-lg font-medium`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3)])]),(0,t.createElementVNode)(`div`,Ge,[(0,t.renderSlot)(n.$slots,`default`)]),(0,t.createElementVNode)(`div`,Ke,[(0,t.renderSlot)(n.$slots,`footer`)])])],2))])]))}}),qe=[`aria-expanded`],Je={class:`flex items-center gap-3`},Ye=(0,t.defineComponent)({__name:`BaseCollapsibleSection`,props:{title:{},collapsed:{type:Boolean},badge:{},bodyClass:{}},emits:[`toggle`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=(0,t.computed)(()=>a.value?`text-gray-100`:`text-gray-700`),c=(0,t.computed)(()=>a.value?`bg-gray-800/50 hover:bg-gray-800 border-gray-700`:`bg-gray-50 hover:bg-gray-100 border-gray-200`),l=(0,t.computed)(()=>a.value?`bg-emerald-500/15 text-emerald-400`:`bg-emerald-50 text-emerald-700`),u=(0,t.computed)(()=>r.bodyClass===void 0?a.value?`bg-gray-800`:`bg-white`:r.bodyClass);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{class:(0,t.normalizeClass)([`rounded-xl border overflow-hidden transition-colors`,(0,t.unref)(o).cardAlt])},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`w-full flex items-center justify-between p-4 text-left transition-colors`,c.value]),"aria-expanded":!e.collapsed,onClick:r[0]||=e=>i(`toggle`)},[(0,t.createElementVNode)(`div`,Je,[(0,t.createElementVNode)(`h2`,{class:(0,t.normalizeClass)([`text-base font-semibold`,s.value])},(0,t.toDisplayString)(e.title),3),e.badge?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`text-xs px-2 py-0.5 rounded-full`,l.value])},(0,t.toDisplayString)(e.badge),3)):(0,t.createCommentVNode)(``,!0)]),((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.normalizeClass)([`w-5 h-5 transition-transform`,[e.collapsed?``:`rotate-180`,(0,t.unref)(o).dimTextAlt]]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`},[...r[1]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],10,qe),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`p-6 border-t`,[(0,t.unref)(o).border,u.value]])},[(0,t.renderSlot)(n.$slots,`default`)],2),[[t.vShow,!e.collapsed]])],2))}}),Xe=[`disabled`],Ze=[`disabled`],Qe={key:0,class:`w-4 h-4 animate-spin`,fill:`none`,viewBox:`0 0 24 24`,"aria-hidden":`true`},$e=(0,t.defineComponent)({__name:`BaseConfirmModal`,props:{title:{},message:{},confirmText:{default:`Yes, I'm sure`},cancelText:{default:`No, cancel`},submittingText:{default:`Working...`},variant:{default:`danger`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L();function c(){i.submitting||a(`confirm`)}function l(){i.submitting||a(`cancel`)}return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":e.submitting,onCancel:l},{icon:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,[e.variant===`danger`?(0,t.unref)(o)?`bg-red-900/30`:`bg-red-50`:(0,t.unref)(o)?`bg-amber-900/30`:`bg-amber-50`]])},[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:(0,t.normalizeClass)([`h-6 w-6`,e.variant===`danger`?`text-red-600`:`text-amber-600`]),"aria-hidden":`true`},null,8,[`class`])],2)]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150`,[(0,t.unref)(s).ghostButton,e.submitting?`opacity-60 cursor-not-allowed`:`cursor-pointer`]]),onClick:l},(0,t.toDisplayString)(e.cancelText),11,Xe),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-2 px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,[e.variant===`danger`?e.submitting?`bg-red-400 cursor-not-allowed`:`bg-red-600 hover:bg-red-700 cursor-pointer`:e.submitting?`bg-emerald-400 cursor-not-allowed`:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`]]),onClick:c},[e.submitting?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Qe,[...i[0]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z`},null,-1)]])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),1)],10,Ze)]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`message`,{},()=>[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3)]),(0,t.renderSlot)(r.$slots,`default`)]),_:3},8,[`title`,`manual-close`]))}}),et={class:`mt-4`},tt=[`placeholder`],nt=[`disabled`],rt=(0,t.defineComponent)({__name:`BaseTextInputModal`,props:{title:{},message:{},initialValue:{default:``},placeholder:{default:`Enter value...`},inputLabel:{default:`Name`},confirmText:{default:`Confirm`},cancelText:{default:`Cancel`},submittingText:{default:`Working...`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L(),c=(0,t.ref)(i.initialValue),l=(0,t.ref)(null);(0,t.onMounted)(async()=>{await(0,t.nextTick)(),l.value?.focus()});function u(){!c.value.trim()||i.submitting||a(`confirm`,c.value.trim())}function d(){a(`cancel`)}function f(){c.value.trim()===(i.initialValue??``).trim()&&d()}return R(d),(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":``,onBackdrop:f},{icon:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`icon`,{},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,(0,t.unref)(o)?`bg-emerald-900/30`:`bg-emerald-50`])},[(0,t.createVNode)((0,t.unref)(n.DocumentDuplicateIcon),{class:`h-6 w-6 text-emerald-600`,"aria-hidden":`true`})],2)])]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150`,(0,t.unref)(s).ghostButton]),onClick:d},(0,t.toDisplayString)(e.cancelText),3),(0,t.createElementVNode)(`button`,{type:`button`,disabled:!c.value.trim()||e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,[!c.value.trim()||e.submitting?`bg-emerald-400 cursor-not-allowed`:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`]]),onClick:u},(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),11,nt)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3),(0,t.createElementVNode)(`div`,et,[(0,t.createElementVNode)(`label`,{class:(0,t.normalizeClass)([`block text-sm font-medium mb-1`,(0,t.unref)(s).label])},(0,t.toDisplayString)(e.inputLabel),3),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`nameInput`,ref:l,"onUpdate:modelValue":i[0]||=e=>c.value=e,type:`text`,placeholder:e.placeholder,class:(0,t.normalizeClass)([`w-full px-3 py-2 rounded-md border text-sm transition-colors`,(0,t.unref)(o)?`bg-gray-800 border-gray-600 text-gray-100 placeholder-gray-500 focus:outline-none focus:border-emerald-500`:`bg-white border-gray-300 text-gray-900 placeholder-gray-400 focus:outline-none focus:border-emerald-500`]),onKeyup:(0,t.withKeys)(u,[`enter`])},null,42,tt),[[t.vModelText,c.value]])])]),_:3},8,[`title`]))}}),it={class:`flex items-center justify-center min-h-[60vh]`},at={class:`text-center px-6`},ot=(0,t.defineComponent)({__name:`BaseNotFoundPage`,props:{code:{default:`404`},message:{default:`Page not found`},homeRouteName:{default:`home`},homeLabel:{default:`Go home`}},setup(e){let r=e,a=(0,i.useRouter)(),{isDark:o}=C(),s=L();function c(){a.push({name:r.homeRouteName})}return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,it,[(0,t.createElementVNode)(`div`,at,[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:(0,t.normalizeClass)([`w-16 h-16 mx-auto mb-4`,(0,t.unref)(s).illustration])},null,8,[`class`]),(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-4xl font-bold mb-2`,(0,t.unref)(o)?`text-gray-200`:`text-gray-800`])},(0,t.toDisplayString)(e.code),3),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-lg mb-6`,(0,t.unref)(s).dimTextAlt])},(0,t.toDisplayString)(e.message),3),(0,t.createElementVNode)(`button`,{onClick:c,class:(0,t.normalizeClass)([`inline-flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium text-white transition-colors cursor-pointer`,(0,t.unref)(o)?`bg-emerald-600 hover:bg-emerald-500`:`bg-emerald-600 hover:bg-emerald-700`])},(0,t.toDisplayString)(e.homeLabel),3)])]))}}),B=(0,t.ref)(!1);function V(){function e(){B.value=!0}function t(){B.value=!1}function n(){B.value=!B.value}return{mobileOpen:B,open:e,close:t,toggle:n}}var H=(0,t.ref)(!1),U=!1,W=`mgv-sidebar-collapsed`;function st(e){if(!U&&(U=!0,W=e,typeof window<`u`)){let e=window.localStorage?.getItem(W);e&&(H.value=e===`true`),(0,t.effectScope)(!0).run(()=>{(0,t.watch)(H,e=>{window.localStorage?.setItem(W,String(e))})})}}function G(e){st(e?.storageKey??W);function t(){H.value=!0}function n(){H.value=!1}function r(){H.value=!H.value}return{collapsed:H,collapse:t,expand:n,toggle:r}}var K=(0,t.ref)([]),q=(0,t.ref)(!1),ct=(0,t.computed)(()=>K.value.filter(e=>!e.read).length);function J(){function e(){q.value=!0}function t(){q.value=!1}function n(){q.value=!q.value}function r(e){K.value=e}function i(e){K.value=[e,...K.value]}function a(e){K.value=K.value.filter(t=>t.id!==e)}function o(e){K.value=K.value.map(t=>t.id===e?{...t,read:!0}:t)}function s(){K.value=K.value.map(e=>e.read?e:{...e,read:!0})}function c(){K.value=[]}return{notifications:K,unreadCount:ct,open:q,openPanel:e,closePanel:t,togglePanel:n,setNotifications:r,add:i,remove:a,markRead:o,markAllRead:s,clear:c}}var lt=[`aria-label`,`aria-expanded`],ut={class:`flex flex-col h-full`},dt={class:`flex-1 overflow-y-auto px-3 space-y-6`},ft={class:`space-y-0.5`},pt=[`aria-current`,`title`,`onClick`],mt=[`aria-label`],ht={class:`relative shrink-0`},gt={key:0,class:`absolute -top-1.5 -right-1.5 min-w-4 h-4 px-1 rounded-full bg-red-500 text-white text-[10px] font-semibold leading-4 text-center`},_t=[`title`,`aria-label`,`aria-pressed`],vt=[`title`,`aria-label`,`aria-pressed`],yt=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,t.defineComponent)({__name:`BaseSidebar`,props:{sections:{},homeRouteName:{default:`home`},appName:{default:``},version:{default:``},showThemeToggle:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},showNotifications:{type:Boolean,default:!1}},setup(e){let r=e,a=(0,i.useRouter)(),o=(0,i.useRoute)(),{isDark:s,toggleTheme:c}=C(),{mobileOpen:l,close:u,toggle:d}=V(),{collapsed:f,toggle:p}=G(),{unreadCount:m,togglePanel:h}=J(),g=(0,t.computed)(()=>r.collapsible&&f.value),_=(0,t.ref)(null),v=null;(0,t.watch)(l,async e=>{e?(v=document.activeElement instanceof HTMLElement?document.activeElement:null,await(0,t.nextTick)(),_.value?.focus()):(v?.focus(),v=null)});function y(){a.push({name:r.homeRouteName}),u()}function b(e){return o.name===e}function x(e){a.push({name:e}),u()}return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`mobile-topbar fixed top-0 inset-x-0 z-30 flex items-center justify-between px-4 py-3 border-b transition-colors`,(0,t.unref)(s)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:y,class:`cursor-pointer`,"aria-label":`Go to home`},[(0,t.renderSlot)(r.$slots,`logo`,{size:28},void 0,!0)]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[0]||=(...e)=>(0,t.unref)(d)&&(0,t.unref)(d)(...e),class:(0,t.normalizeClass)([`p-2 rounded-lg cursor-pointer`,(0,t.unref)(s)?`text-gray-400 hover:bg-gray-800`:`text-gray-600 hover:bg-gray-100`]),"aria-label":(0,t.unref)(l)?`Close navigation menu`:`Open navigation menu`,"aria-expanded":(0,t.unref)(l)},[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.XMarkIcon),{key:1,class:`w-6 h-6`,"aria-hidden":`true`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Bars3Icon),{key:0,class:`w-6 h-6`,"aria-hidden":`true`}))],10,lt)],2),(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`mobile-overlay fixed inset-0 z-40 bg-black/50`,"aria-hidden":`true`,onClick:i[1]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e)})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`aside`,{role:`navigation`,"aria-label":`Main navigation`,class:(0,t.normalizeClass)([`fixed top-0 left-0 h-screen w-60 flex flex-col border-r transition-all duration-300 lg:pointer-events-auto`,[(0,t.unref)(s)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`,(0,t.unref)(l)?`translate-x-0 z-50`:`-translate-x-full max-lg:pointer-events-none lg:translate-x-0 z-50`,e.collapsible&&(0,t.unref)(f)?`lg:w-16`:`lg:w-60`]])},[(0,t.createElementVNode)(`div`,ut,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`px-5 pt-5 pb-4 flex items-center justify-center relative`,{"lg:px-2":g.value}])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:y,class:`cursor-pointer`,"aria-label":`Go to home`},[(0,t.renderSlot)(r.$slots,`logo`,{size:g.value?36:52},void 0,!0)]),(0,t.createElementVNode)(`button`,{ref_key:`closeMobileButton`,ref:_,type:`button`,onClick:i[2]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),class:(0,t.normalizeClass)([`lg:hidden p-1.5 rounded-lg cursor-pointer absolute right-3 top-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,(0,t.unref)(s)?`text-gray-400 hover:bg-gray-800`:`text-gray-500 hover:bg-gray-100`]),"aria-label":`Close navigation menu`},[(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`w-5 h-5`,"aria-hidden":`true`})],2)],2),(0,t.createElementVNode)(`nav`,dt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.sections,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.title},[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`px-2 mb-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500`,{"lg:hidden":g.value}])},(0,t.toDisplayString)(e.title),3),(0,t.createElementVNode)(`ul`,ft,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.name},[(0,t.createElementVNode)(`button`,{type:`button`,"aria-current":b(e.name)?`page`:void 0,title:g.value?e.label:void 0,onClick:t=>x(e.name),class:(0,t.normalizeClass)([`flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition-colors w-full text-left cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[b(e.name)?(0,t.unref)(s)?`bg-emerald-500/15 text-emerald-300`:`bg-emerald-50 text-emerald-700`:(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icon),{class:`w-[18px] h-[18px] shrink-0`})),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},(0,t.toDisplayString)(e.label),3)],10,pt)]))),128))])]))),128))]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`px-4 py-4 border-t transition-colors space-y-3`,(0,t.unref)(s)?`border-gray-800`:`border-gray-200`])},[e.showNotifications?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,onClick:i[3]||=(...e)=>(0,t.unref)(h)&&(0,t.unref)(h)(...e),title:`Notifications`,"aria-label":(0,t.unref)(m)>0?`Notifications, ${(0,t.unref)(m)} unread`:`Notifications`,class:(0,t.normalizeClass)([`relative flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[(0,t.createElementVNode)(`span`,ht,[(0,t.createVNode)((0,t.unref)(n.BellIcon),{class:`w-[18px] h-[18px]`,"aria-hidden":`true`}),(0,t.unref)(m)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gt,(0,t.toDisplayString)((0,t.unref)(m)>99?`99+`:(0,t.unref)(m)),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},`Notifications`,2)],10,mt)):(0,t.createCommentVNode)(``,!0),e.showThemeToggle?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,onClick:i[4]||=(...e)=>(0,t.unref)(c)&&(0,t.unref)(c)(...e),title:(0,t.unref)(s)?`Switch to light mode`:`Switch to dark mode`,"aria-label":(0,t.unref)(s)?`Switch to light mode`:`Switch to dark mode`,"aria-pressed":(0,t.unref)(s),class:(0,t.normalizeClass)([`flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(s)?(0,t.unref)(n.SunIcon):(0,t.unref)(n.MoonIcon)),{class:(0,t.normalizeClass)([`hidden w-[18px] h-[18px] shrink-0`,{"lg:block":g.value}]),"aria-hidden":`true`},null,8,[`class`])),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},(0,t.toDisplayString)((0,t.unref)(s)?`Switch to light`:`Switch to dark`),3),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`ml-auto relative w-9 h-5 rounded-full transition-colors`,[(0,t.unref)(s)?`bg-emerald-600`:`bg-gray-300`,{"lg:hidden":g.value}]])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300`,(0,t.unref)(s)?`translate-x-4`:`translate-x-0`])},null,2)],2)],10,_t)):(0,t.createCommentVNode)(``,!0),e.collapsible?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,onClick:i[5]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),title:(0,t.unref)(f)?`Expand sidebar`:`Collapse sidebar`,"aria-label":(0,t.unref)(f)?`Expand sidebar`:`Collapse sidebar`,"aria-pressed":(0,t.unref)(f),class:(0,t.normalizeClass)([`hidden lg:flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(f)?(0,t.unref)(n.ChevronDoubleRightIcon):(0,t.unref)(n.ChevronDoubleLeftIcon)),{class:`w-[18px] h-[18px] shrink-0`,"aria-hidden":`true`})),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},`Collapse`,2)],10,vt)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},[(0,t.renderSlot)(r.$slots,`status`,{},void 0,!0)],2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},[(0,t.renderSlot)(r.$slots,`footer`,{},()=>[e.appName||e.version?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`flex items-center justify-center gap-2 text-xs`,((0,t.unref)(s),`text-gray-500`)])},[(0,t.createElementVNode)(`span`,null,[(0,t.createTextVNode)((0,t.toDisplayString)(e.appName),1),e.appName&&e.version?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[],64)):(0,t.createCommentVNode)(``,!0),e.version?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)(`v`+(0,t.toDisplayString)(e.version),1)],64)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0)],!0)],2)],2)])],2)]))}}),[[`__scopeId`,`data-v-6fca021f`]]),bt={key:1,class:`mt-4 flex justify-center py-6`},xt={key:2,class:`mt-4 text-sm text-red-500`,role:`alert`},St={key:3,class:`mt-4`},Ct={class:`relative`},wt=[`placeholder`],Tt={key:4,class:`mt-3 max-h-64 overflow-y-auto`},Et=[`onClick`],Dt={class:`flex-1 min-w-0`},Ot={key:0,class:`text-center py-6`},kt={key:1,class:`text-center py-6`},At=[`disabled`],jt=[`disabled`],Mt=(0,t.defineComponent)({__name:`BaseEntityPickerModal`,props:{title:{},message:{},items:{default:()=>[]},loader:{},excludeId:{},variant:{default:`emerald`},searchPlaceholder:{default:`Search...`},emptyMessage:{default:`No items available.`},noMatchMessage:{default:`No items match your search.`},confirmText:{default:`Select`},cancelText:{default:`Cancel`},submittingText:{default:`Working...`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L(),c=(0,t.ref)([]),l=(0,t.ref)(!1),u=(0,t.ref)(``),d=(0,t.ref)(null),f=(0,t.ref)(``),p=(0,t.ref)(null),m=(0,t.computed)(()=>{let e=i.loader?c.value:i.items;return i.excludeId?e.filter(e=>e.id!==i.excludeId):e}),h=(0,t.computed)(()=>m.value.filter(e=>e.label.toLowerCase().includes(f.value.toLowerCase()))),g={emerald:{iconBg:`bg-emerald-50`,iconText:`text-emerald-600`,inputFocus:`focus:border-emerald-500`,selectedRow:`bg-emerald-50 border border-emerald-200`,checkBg:`bg-emerald-600`,confirmActive:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`,confirmDisabled:`bg-emerald-400 cursor-not-allowed`},purple:{iconBg:`bg-purple-50`,iconText:`text-purple-600`,inputFocus:`focus:border-purple-500`,selectedRow:`bg-purple-50 border border-purple-200`,checkBg:`bg-purple-600`,confirmActive:`bg-purple-600 hover:bg-purple-700 cursor-pointer`,confirmDisabled:`bg-purple-400 cursor-not-allowed`},blue:{iconBg:`bg-blue-50`,iconText:`text-blue-600`,inputFocus:`focus:border-blue-500`,selectedRow:`bg-blue-50 border border-blue-200`,checkBg:`bg-blue-600`,confirmActive:`bg-blue-600 hover:bg-blue-700 cursor-pointer`,confirmDisabled:`bg-blue-400 cursor-not-allowed`},red:{iconBg:`bg-red-50`,iconText:`text-red-600`,inputFocus:`focus:border-red-500`,selectedRow:`bg-red-50 border border-red-200`,checkBg:`bg-red-600`,confirmActive:`bg-red-600 hover:bg-red-700 cursor-pointer`,confirmDisabled:`bg-red-400 cursor-not-allowed`},amber:{iconBg:`bg-amber-50`,iconText:`text-amber-600`,inputFocus:`focus:border-amber-500`,selectedRow:`bg-amber-50 border border-amber-200`,checkBg:`bg-amber-600`,confirmActive:`bg-amber-600 hover:bg-amber-700 cursor-pointer`,confirmDisabled:`bg-amber-400 cursor-not-allowed`}},_={emerald:{iconBg:`bg-emerald-900/30`,iconText:`text-emerald-400`,inputFocus:`focus:border-emerald-500`,selectedRow:`bg-emerald-500/15 border border-emerald-500/30`,checkBg:`bg-emerald-600`,confirmActive:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`,confirmDisabled:`bg-emerald-400 cursor-not-allowed`},purple:{iconBg:`bg-purple-900/30`,iconText:`text-purple-400`,inputFocus:`focus:border-purple-500`,selectedRow:`bg-purple-500/15 border border-purple-500/30`,checkBg:`bg-purple-600`,confirmActive:`bg-purple-600 hover:bg-purple-700 cursor-pointer`,confirmDisabled:`bg-purple-400 cursor-not-allowed`},blue:{iconBg:`bg-blue-900/30`,iconText:`text-blue-400`,inputFocus:`focus:border-blue-500`,selectedRow:`bg-blue-500/15 border border-blue-500/30`,checkBg:`bg-blue-600`,confirmActive:`bg-blue-600 hover:bg-blue-700 cursor-pointer`,confirmDisabled:`bg-blue-400 cursor-not-allowed`},red:{iconBg:`bg-red-900/30`,iconText:`text-red-400`,inputFocus:`focus:border-red-500`,selectedRow:`bg-red-500/15 border border-red-500/30`,checkBg:`bg-red-600`,confirmActive:`bg-red-600 hover:bg-red-700 cursor-pointer`,confirmDisabled:`bg-red-400 cursor-not-allowed`},amber:{iconBg:`bg-amber-900/30`,iconText:`text-amber-400`,inputFocus:`focus:border-amber-500`,selectedRow:`bg-amber-500/15 border border-amber-500/30`,checkBg:`bg-amber-600`,confirmActive:`bg-amber-600 hover:bg-amber-700 cursor-pointer`,confirmDisabled:`bg-amber-400 cursor-not-allowed`}},v=(0,t.computed)(()=>(o.value?_:g)[i.variant]);(0,t.onMounted)(async()=>{if(i.loader){l.value=!0;try{c.value=await i.loader()}catch{u.value=`Failed to load items`}finally{l.value=!1}}await(0,t.nextTick)(),p.value?.focus()});function y(){!d.value||i.submitting||a(`confirm`,d.value)}function b(){i.submitting||a(`cancel`)}return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":e.submitting,onCancel:b},{icon:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`icon`,{},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,v.value.iconBg])},[(0,t.createVNode)((0,t.unref)(n.FolderIcon),{class:(0,t.normalizeClass)([`h-6 w-6`,v.value.iconText]),"aria-hidden":`true`},null,8,[`class`])],2)])]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed`,(0,t.unref)(s).ghostButton]),onClick:b},(0,t.toDisplayString)(e.cancelText),11,At),(0,t.createElementVNode)(`button`,{type:`button`,disabled:!d.value||e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,!d.value||e.submitting?v.value.confirmDisabled:v.value.confirmActive]),onClick:y},(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),11,jt)]),default:(0,t.withCtx)(()=>[e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3)):(0,t.createCommentVNode)(``,!0),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bt,[(0,t.createVNode)(N,{color:`emerald`})])):u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xt,(0,t.toDisplayString)(u.value),1)):(0,t.createCommentVNode)(``,!0),!l.value&&!u.value&&m.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,St,[(0,t.createElementVNode)(`div`,Ct,[(0,t.createVNode)((0,t.unref)(n.MagnifyingGlassIcon),{class:(0,t.normalizeClass)([`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4`,(0,t.unref)(s).dimText]),"aria-hidden":`true`},null,8,[`class`]),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`searchInputRef`,ref:p,"onUpdate:modelValue":i[0]||=e=>f.value=e,type:`text`,placeholder:e.searchPlaceholder,class:(0,t.normalizeClass)([`w-full pl-9 pr-3 py-2 text-sm rounded-md border outline-none transition-colors`,[(0,t.unref)(o)?`bg-gray-800 border-gray-600 text-gray-200 placeholder-gray-500`:`bg-white border-gray-300 text-gray-700 placeholder-gray-400`,v.value.inputFocus]])},null,10,wt),[[t.vModelText,f.value]])])])):(0,t.createCommentVNode)(``,!0),!l.value&&!u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(h.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`flex items-center gap-3 px-3 py-2.5 rounded-lg cursor-pointer transition-colors`,[d.value===e.id?v.value.selectedRow:(0,t.unref)(o)?`hover:bg-gray-800 border border-transparent`:`hover:bg-gray-50 border border-transparent`]]),onClick:t=>d.value=e.id},[(0,t.createVNode)((0,t.unref)(n.FolderIcon),{class:(0,t.normalizeClass)([`w-5 h-5 flex-shrink-0`,(0,t.unref)(s).dimText])},null,8,[`class`]),(0,t.createElementVNode)(`div`,Dt,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm font-medium truncate`,(0,t.unref)(s).bodyText])},(0,t.toDisplayString)(e.label),3)]),d.value===e.id?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center`,v.value.checkBg])},[...i[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-white`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`3`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M5 13l4 4L19 7`})],-1)]],2)):(0,t.createCommentVNode)(``,!0)],10,Et))),128)),m.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ot,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(s).dimText])},(0,t.toDisplayString)(e.emptyMessage),3)])):h.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kt,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(s).dimText])},(0,t.toDisplayString)(e.noMatchMessage),3)])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`title`,`manual-close`]))}}),Nt={href:`#main-content`,class:`sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:px-3 focus:py-2 focus:rounded-md focus:bg-emerald-600 focus:text-white focus:shadow-lg`},Pt=[`inert`],Ft=(0,t.defineComponent)({__name:`BaseAppLayout`,props:{showSidebar:{type:Boolean,default:!0},skipLinkLabel:{default:`Skip to main content`}},setup(e){let n=e,{isDark:r}=C(),{mobileOpen:i}=V(),{collapsed:a}=G(),o=(0,t.computed)(()=>n.showSidebar);return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`min-h-screen transition-colors duration-300`,(0,t.unref)(r)?`bg-gray-950 text-gray-100`:`bg-gray-50 text-gray-800`])},[(0,t.createElementVNode)(`a`,Nt,(0,t.toDisplayString)(e.skipLinkLabel),1),o.value?(0,t.renderSlot)(n.$slots,`sidebar`,{key:0}):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`main`,{id:`main-content`,tabindex:`-1`,inert:o.value&&(0,t.unref)(i)?!0:void 0,class:(0,t.normalizeClass)([`transition-all duration-300`,o.value?(0,t.unref)(a)?`pt-14 lg:pt-0 lg:ml-16`:`pt-14 lg:pt-0 lg:ml-60`:``])},[(0,t.renderSlot)(n.$slots,`default`)],10,Pt)],2))}}),It={class:`flex flex-wrap items-center justify-between gap-3 mb-8`},Lt={class:`flex items-center gap-3 min-w-0`},Rt={class:`flex items-center gap-2`},zt=(0,t.defineComponent)({__name:`BasePageHeader`,props:{title:{},subtitle:{default:``},iconColor:{default:`emerald`},maxWidthClass:{default:`max-w-4xl`}},setup(e){let n=e,{isDark:r}=C(),i=L(),a=(0,t.computed)(()=>{let e={emerald:{dark:`bg-emerald-500/10`,light:`bg-emerald-50`},sky:{dark:`bg-sky-500/10`,light:`bg-sky-50`},red:{dark:`bg-red-500/10`,light:`bg-red-50`},amber:{dark:`bg-amber-500/10`,light:`bg-amber-50`}}[n.iconColor];return r.value?e.dark:e.light}),o=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400`,light:`text-emerald-600`},sky:{dark:`text-sky-400`,light:`text-sky-600`},red:{dark:`text-red-400`,light:`text-red-500`},amber:{dark:`text-amber-400`,light:`text-amber-600`}}[n.iconColor];return r.value?e.dark:e.light});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`mx-auto px-4 sm:px-6`,e.maxWidthClass])},[(0,t.createElementVNode)(`div`,It,[(0,t.createElementVNode)(`div`,Lt,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`w-10 h-10 rounded-lg flex items-center justify-center`,a.value])},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:o.value})],2),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-2xl font-bold`,(0,t.unref)(i).primaryTextSoft])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(i).dimTextAlt])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,Rt,[(0,t.renderSlot)(n.$slots,`actions`)])])],2))}}),Bt=[`type`,`disabled`,`title`],Vt={key:0},Ht=(0,t.defineComponent)({__name:`BaseToolbarButton`,props:{label:{default:``},variant:{default:`neutral`},disabled:{type:Boolean,default:!1},title:{default:void 0},type:{default:`button`}},emits:[`click`],setup(e){let n=e,{isDark:r}=C(),i=(0,t.computed)(()=>{let e={neutral:{dark:`bg-gray-800 text-gray-100 border-gray-700 hover:bg-gray-700`,light:`bg-white text-gray-700 border-gray-200 hover:bg-gray-100`},danger:{dark:`bg-red-600 text-white border-red-600 hover:bg-red-500`,light:`bg-red-600 text-white border-red-600 hover:bg-red-700`}}[n.variant];return r.value?e.dark:e.light});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:e.type,disabled:e.disabled,title:e.title,class:(0,t.normalizeClass)([`inline-flex shrink-0 items-center gap-2 px-3 py-2 rounded-lg text-sm font-medium border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap`,i.value]),onClick:r[0]||=e=>n.$emit(`click`,e)},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:`w-4 h-4`}),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Vt,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,Bt))}}),Ut=[`type`,`disabled`,`title`,`aria-label`],Wt={key:0},Gt=(0,t.defineComponent)({__name:`BaseActionButton`,props:{label:{default:``},color:{default:`emerald`},disabled:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},title:{default:void 0},ariaLabel:{default:void 0},type:{default:`button`}},emits:[`click`],setup(e){let n=e,{isDark:r}=C(),i=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400 hover:bg-emerald-500/10`,light:`text-emerald-600 hover:bg-emerald-50`},sky:{dark:`text-sky-400 hover:bg-sky-500/10`,light:`text-sky-600 hover:bg-sky-50`},indigo:{dark:`text-indigo-400 hover:bg-indigo-500/10`,light:`text-indigo-600 hover:bg-indigo-50`},teal:{dark:`text-teal-400 hover:bg-teal-500/10`,light:`text-teal-600 hover:bg-teal-50`},purple:{dark:`text-purple-400 hover:bg-purple-500/10`,light:`text-purple-600 hover:bg-purple-50`},red:{dark:`text-red-400 hover:bg-red-500/10`,light:`text-red-500 hover:bg-red-50`},amber:{dark:`text-amber-400 hover:bg-amber-500/10`,light:`text-amber-600 hover:bg-amber-50`},amberStrong:{dark:`text-amber-300 hover:bg-amber-500/10`,light:`text-amber-700 hover:bg-amber-50`}}[n.color];return r.value?e.dark:e.light}),a=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400`,light:`text-emerald-600`},sky:{dark:`text-sky-400`,light:`text-sky-600`},indigo:{dark:`text-indigo-400`,light:`text-indigo-600`},teal:{dark:`text-teal-400`,light:`text-teal-600`},purple:{dark:`text-purple-400`,light:`text-purple-600`},red:{dark:`text-red-400`,light:`text-red-500`},amber:{dark:`text-amber-400`,light:`text-amber-600`},amberStrong:{dark:`text-amber-300`,light:`text-amber-700`}}[n.color];return r.value?e.dark:e.light}),o=(0,t.computed)(()=>n.disabled?`${a.value} opacity-50 cursor-not-allowed`:`${i.value} cursor-pointer`);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:e.type,disabled:e.disabled,title:e.title,"aria-label":e.ariaLabel,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium transition-colors`,[e.fullWidth?`flex-1`:``,o.value]]),onClick:r[0]||=e=>n.$emit(`click`,e)},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:`w-4 h-4`}),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wt,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,Ut))}}),Kt=[`title`,`aria-label`],qt=(0,t.defineComponent)({__name:`BaseCopyButton`,props:{text:{},label:{default:``},variant:{default:`ghost`},resetMs:{default:1500},iconClass:{default:`w-4 h-4`}},emits:[`copied`,`error`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=(0,t.ref)(!1),c=null,l=(0,t.computed)(()=>s.value?`Copied!`:i.label?`Copy ${i.label}`:`Copy`),u=(0,t.computed)(()=>i.label?`Copy ${i.label}`:`Copy`),d=(0,t.computed)(()=>i.variant===`bordered`?`inline-flex items-center justify-center w-9 h-9 rounded-lg border transition-colors cursor-pointer shrink-0 ${s.value?o.value?`border-emerald-500/40 bg-emerald-500/10 text-emerald-400`:`border-emerald-300 bg-emerald-50 text-emerald-600`:o.value?`border-gray-600 text-gray-400 hover:text-gray-200 hover:bg-gray-800`:`border-gray-300 text-gray-400 hover:text-gray-600 hover:bg-gray-50`}`:`p-1 rounded transition-colors cursor-pointer ${o.value?`text-gray-400 hover:text-emerald-300 hover:bg-emerald-500/10`:`text-gray-500 hover:text-emerald-600 hover:bg-emerald-50`}`);async function f(e){try{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);if(document.body.removeChild(t),!n)throw Error(`Copy command was rejected`)}async function p(){try{await f(i.text),s.value=!0,c&&clearTimeout(c),c=setTimeout(()=>{s.value=!1},i.resetMs),a(`copied`)}catch(e){a(`error`,e)}}return(0,t.onUnmounted)(()=>{c&&clearTimeout(c)}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,title:l.value,"aria-label":u.value,class:(0,t.normalizeClass)(d.value),onClick:p},[s.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ClipboardDocumentCheckIcon),{key:0,class:(0,t.normalizeClass)(e.iconClass),"aria-hidden":`true`},null,8,[`class`])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ClipboardDocumentIcon),{key:1,class:(0,t.normalizeClass)(e.iconClass),"aria-hidden":`true`},null,8,[`class`]))],10,Kt))}}),Jt=[`disabled`,`aria-busy`],Yt={key:0,class:`w-5 h-5 animate-spin shrink-0`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},Xt={key:1,class:`w-5 h-5 shrink-0`,viewBox:`0 0 48 48`,"aria-hidden":`true`},Y=(0,t.defineComponent)({__name:`BaseGoogleSignInButton`,props:{label:{default:`Sign in with Google`},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!0}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=(0,t.computed)(()=>r.disabled||r.loading);function s(){o.value||i(`click`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,disabled:o.value,"aria-busy":e.loading,onClick:s,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-3 h-11 px-4 rounded-lg border text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed`,[e.block?`w-full`:``,(0,t.unref)(a)?`bg-gray-900 border-gray-700 text-gray-100 hover:bg-gray-800`:`bg-white border-gray-300 text-gray-700 hover:bg-gray-50`]])},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Yt,[...r[0]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Xt,[...r[1]||=[(0,t.createStaticVNode)(`<path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path>`,5)]])),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],10,Jt))}}),Zt={key:0,class:`flex justify-center mb-6`},Qt={class:`mb-6 text-center`},$t={class:`flex items-center gap-3 my-5`},en=[`disabled`],tn={class:`flex items-center justify-between mb-1.5`},nn={class:`relative`},rn=[`type`,`disabled`],an=[`aria-label`,`aria-pressed`],on=[`disabled`],sn=[`disabled`,`aria-busy`],cn={key:0,class:`w-4 h-4 animate-spin`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},ln=(0,t.defineComponent)({__name:`BaseLoginForm`,props:{title:{default:`Sign in`},subtitle:{default:``},submitLabel:{default:`Sign in`},loading:{type:Boolean,default:!1},googleLoading:{type:Boolean,default:!1},error:{default:``},showGoogle:{type:Boolean,default:!0},showRemember:{type:Boolean,default:!1}},emits:[`submit`,`google-sign-in`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=(0,t.ref)(``),c=(0,t.ref)(``),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.computed)(()=>r.loading||r.googleLoading);function f(){d.value||i(`submit`,{email:s.value,password:c.value,...r.showRemember?{remember:l.value}:{}})}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`w-full max-w-sm mx-auto rounded-xl border shadow-sm p-6 sm:p-8`,(0,t.unref)(o).card])},[n.$slots.logo?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zt,[(0,t.renderSlot)(n.$slots,`logo`)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Qt,[(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-xl font-semibold`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`mt-1 text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)]),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,role:`alert`,class:(0,t.normalizeClass)([`mb-4 rounded-lg border px-3 py-2 text-sm`,(0,t.unref)(a)?`bg-red-500/10 border-red-500/30 text-red-300`:`bg-red-50 border-red-200 text-red-700`])},(0,t.toDisplayString)(e.error),3)):(0,t.createCommentVNode)(``,!0),e.showGoogle?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createVNode)(Y,{loading:e.googleLoading,disabled:e.loading,onClick:r[0]||=e=>i(`google-sign-in`)},null,8,[`loading`,`disabled`]),(0,t.createElementVNode)(`div`,$t,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`h-px flex-1`,(0,t.unref)(a)?`bg-gray-700`:`bg-gray-200`])},null,2),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-xs uppercase tracking-wider`,(0,t.unref)(o).dimTextAlt])},`or`,2),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`h-px flex-1`,(0,t.unref)(a)?`bg-gray-700`:`bg-gray-200`])},null,2)])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`form`,{class:`space-y-4`,onSubmit:(0,t.withModifiers)(f,[`prevent`])},[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`label`,{for:`login-email`,class:(0,t.normalizeClass)([`block mb-1.5 text-sm font-medium`,(0,t.unref)(o).label])},` Email `,2),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{id:`login-email`,"onUpdate:modelValue":r[1]||=e=>s.value=e,type:`email`,name:`email`,autocomplete:`email`,required:``,disabled:d.value,placeholder:`you@example.com`,class:(0,t.normalizeClass)([`w-full h-11 px-3 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60`,(0,t.unref)(o).inputWithPlaceholder])},null,10,en),[[t.vModelText,s.value]])]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`div`,tn,[(0,t.createElementVNode)(`label`,{for:`login-password`,class:(0,t.normalizeClass)([`block text-sm font-medium`,(0,t.unref)(o).label])},` Password `,2),(0,t.renderSlot)(n.$slots,`forgot`)]),(0,t.createElementVNode)(`div`,nn,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{id:`login-password`,"onUpdate:modelValue":r[2]||=e=>c.value=e,type:u.value?`text`:`password`,name:`password`,autocomplete:`current-password`,required:``,disabled:d.value,placeholder:`••••••••`,class:(0,t.normalizeClass)([`w-full h-11 pl-3 pr-16 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60`,(0,t.unref)(o).inputWithPlaceholder])},null,10,rn),[[t.vModelDynamic,c.value]]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[3]||=e=>u.value=!u.value,"aria-label":u.value?`Hide password`:`Show password`,"aria-pressed":u.value,class:(0,t.normalizeClass)([`absolute inset-y-0 right-0 px-3 text-xs font-medium cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 rounded-r-lg`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(u.value?`Hide`:`Show`),11,an)])]),e.showRemember?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:(0,t.normalizeClass)([`flex items-center gap-2 text-sm cursor-pointer select-none`,(0,t.unref)(o).bodyText])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[4]||=e=>l.value=e,type:`checkbox`,disabled:d.value,class:`w-4 h-4 rounded border-gray-300 text-emerald-600 focus:ring-emerald-500`},null,8,on),[[t.vModelCheckbox,l.value]]),r[5]||=(0,t.createTextVNode)(` Remember me `,-1)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`submit`,disabled:d.value,"aria-busy":e.loading,class:`inline-flex items-center justify-center gap-2 w-full h-11 px-4 rounded-lg text-sm font-semibold text-white bg-emerald-600 hover:bg-emerald-700 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed`},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,cn,[...r[6]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z`},null,-1)]])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.submitLabel),1)],8,sn)],32),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:(0,t.normalizeClass)([`mt-6 text-center text-sm`,(0,t.unref)(o).mutedText])},[(0,t.renderSlot)(n.$slots,`footer`)],2)):(0,t.createCommentVNode)(``,!0)],2))}}),un=[`aria-label`],dn={class:`flex-1 overflow-y-auto`},fn={key:0,class:`flex flex-col items-center justify-center text-center px-6 py-16 gap-3`},pn=[`onClick`],mn={class:`min-w-0 flex-1`},hn={class:`flex items-baseline justify-between gap-2`},gn=(0,t.defineComponent)({__name:`BaseNotificationPanel`,props:{title:{default:`Notifications`},emptyText:{default:`You have no notifications.`},showMarkAllRead:{type:Boolean,default:!0}},emits:[`select`],setup(e,{emit:r}){let i=r,{isDark:a}=C(),o=L(),{notifications:s,unreadCount:c,open:l,closePanel:u,markAllRead:d,markRead:f}=J(),p={info:`bg-sky-500`,success:`bg-emerald-500`,warning:`bg-amber-500`,error:`bg-red-500`},m=(0,t.computed)(()=>s.value.length);function h(e){f(e),i(`select`,e)}return R(()=>{l.value&&u()}),(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{"enter-active-class":`transition-opacity duration-200`,"enter-from-class":`opacity-0`,"leave-active-class":`transition-opacity duration-200`,"leave-to-class":`opacity-0`},{default:(0,t.withCtx)(()=>[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fixed inset-0 z-[60] bg-black/50`,"aria-hidden":`true`,onClick:i[0]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e)})):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createVNode)(t.Transition,{"enter-active-class":`transition-transform duration-300 ease-out`,"enter-from-class":`-translate-x-full`,"leave-active-class":`transition-transform duration-300 ease-in`,"leave-to-class":`-translate-x-full`},{default:(0,t.withCtx)(()=>[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,{key:0,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,class:(0,t.normalizeClass)([`fixed top-0 left-0 z-[70] h-screen w-full max-w-sm flex flex-col border-r shadow-xl`,(0,t.unref)(a)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex items-center justify-between gap-3 px-5 py-4 border-b shrink-0`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`h2`,{class:(0,t.normalizeClass)([`text-lg font-semibold flex items-center gap-2`,(0,t.unref)(o).primaryText])},[(0,t.createTextVNode)((0,t.toDisplayString)(e.title)+` `,1),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-sm font-normal`,(0,t.unref)(o).dimTextAlt])},`— `+(0,t.toDisplayString)(m.value),3)],2),(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[1]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),"aria-label":`Close notifications`,class:(0,t.normalizeClass)([`p-1.5 rounded-lg cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,(0,t.unref)(a)?`text-gray-400 hover:bg-gray-800`:`text-gray-500 hover:bg-gray-100`])},[(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`w-5 h-5`,"aria-hidden":`true`})],2)],2),e.showMarkAllRead&&(0,t.unref)(c)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`px-5 py-2 border-b shrink-0 flex justify-end`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[2]||=(...e)=>(0,t.unref)(d)&&(0,t.unref)(d)(...e),class:(0,t.normalizeClass)([`text-xs font-medium cursor-pointer transition-colors focus:outline-none focus-visible:underline`,(0,t.unref)(o).emeraldText])},` Mark all as read `,2)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,dn,[m.value===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fn,[(0,t.createVNode)((0,t.unref)(n.BellIcon),{class:(0,t.normalizeClass)([`w-10 h-10`,(0,t.unref)(o).illustration]),"aria-hidden":`true`},null,8,[`class`]),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.emptyText),3)])):((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,{key:1,class:(0,t.normalizeClass)([`divide-y`,(0,t.unref)(a)?`divide-gray-800`:`divide-gray-100`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(s),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.id},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:t=>h(e.id),class:(0,t.normalizeClass)([`w-full text-left px-5 py-4 flex gap-3 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500`,[e.read?``:(0,t.unref)(a)?`bg-emerald-500/5`:`bg-emerald-50/60`,(0,t.unref)(a)?`hover:bg-gray-800`:`hover:bg-gray-50`]])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`mt-1.5 w-2 h-2 rounded-full shrink-0`,e.read?(0,t.unref)(a)?`bg-gray-700`:`bg-gray-300`:p[e.type??`info`]]),"aria-hidden":`true`},null,2),(0,t.createElementVNode)(`span`,mn,[(0,t.createElementVNode)(`span`,hn,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-sm truncate`,[e.read?`font-medium`:`font-semibold`,(0,t.unref)(o).primaryTextSoft]])},(0,t.toDisplayString)(e.title),3),e.time?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`text-xs shrink-0`,(0,t.unref)(o).dimText])},(0,t.toDisplayString)(e.time),3)):(0,t.createCommentVNode)(``,!0)]),e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`mt-0.5 block text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.message),3)):(0,t.createCommentVNode)(``,!0)])],10,pn)]))),128))],2))])],10,un)):(0,t.createCommentVNode)(``,!0)]),_:1})]))}});function _n(e,n=300){let r=(0,t.ref)(e.value),i=null;return(0,t.watch)(e,e=>{i&&clearTimeout(i),i=setTimeout(()=>{r.value=e,i=null},n)}),(0,t.onScopeDispose)(()=>{i&&=(clearTimeout(i),null)}),r}function vn(e=3e3){let n=(0,t.ref)(!1),r=(0,t.ref)(``),i=(0,t.ref)(P.SUCCESS),a=null;function o(){a&&=(clearTimeout(a),null)}function s(t,s=P.SUCCESS,c=e){r.value=t,i.value=s,n.value=!0,o(),a=setTimeout(()=>{n.value=!1,a=null},c)}return(0,t.onScopeDispose)(()=>{o()}),{showToast:n,toastMessage:r,toastType:i,showToastMessage:s}}var yn=function(e){return e.WIN=`WIN`,e.LOSE=`LOSE`,e}({}),bn={GET:`bg-blue-600`,POST:`bg-emerald-600`,PUT:`bg-amber-600`,DELETE:`bg-red-600`,PATCH:`bg-purple-600`,HEAD:`bg-gray-600`},xn={GET:`bg-blue-500`,POST:`bg-green-500`,PUT:`bg-yellow-500`,DELETE:`bg-red-500`,PATCH:`bg-purple-500`,HEAD:`bg-gray-500`};function Sn(e){return e?bn[e.toUpperCase()]??`bg-gray-600`:`bg-gray-600`}function X(e){return e?xn[e.toUpperCase()]??`bg-gray-500`:`bg-gray-500`}function Cn(e){let t=e??0;return t>=200&&t<300?`bg-emerald-600`:t>=300&&t<400?`bg-blue-600`:t>=400&&t<500?`bg-amber-600`:t>=500?`bg-red-600`:`bg-gray-600`}function wn(e,t){let n=e??200;return t?n>=200&&n<300?`bg-green-500/15 text-green-400`:n>=300&&n<400?`bg-blue-500/15 text-blue-400`:n>=400&&n<500?`bg-yellow-500/15 text-yellow-400`:`bg-red-500/15 text-red-400`:n>=200&&n<300?`bg-green-100 text-green-800`:n>=300&&n<400?`bg-blue-100 text-blue-800`:n>=400&&n<500?`bg-yellow-100 text-yellow-800`:`bg-red-100 text-red-800`}var Tn=new Set([`A`,`B`,`STRONG`,`I`,`EM`,`CODE`,`PRE`,`BR`,`P`,`UL`,`OL`,`LI`,`SPAN`,`DIV`]),En=new Set([`SCRIPT`,`STYLE`,`IFRAME`,`OBJECT`,`EMBED`,`NOSCRIPT`,`TEMPLATE`]),Dn={A:new Set([`href`,`title`])};function Z(e){let t=e.trim().toLowerCase();return t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`mailto:`)||t.startsWith(`tel:`)||t.startsWith(`/`)||t.startsWith(`#`)||t===``}function Q(e){if(e.nodeType!==Node.ELEMENT_NODE)return;let t=e,n=t.tagName.toUpperCase();if(!Tn.has(n)){En.has(n)?t.remove():t.replaceWith(document.createTextNode(t.textContent??``));return}let r=Dn[n]??new Set;for(let e of Array.from(t.attributes)){if(!r.has(e.name.toLowerCase())){t.removeAttribute(e.name);continue}n===`A`&&e.name.toLowerCase()===`href`&&!Z(e.value)&&t.removeAttribute(e.name)}n===`A`&&t.hasAttribute(`href`)&&(t.setAttribute(`rel`,`noopener noreferrer`),t.setAttribute(`target`,`_blank`));for(let e of Array.from(t.childNodes))Q(e)}function On(e){if(!e)return``;let t=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`).body.firstElementChild;if(!t)return``;for(let e of Array.from(t.childNodes))Q(e);return t.innerHTML}var $=`—`;function kn(e,t=4){if(e==null||typeof e==`string`&&e.trim()===``)return $;let n=typeof e==`string`?Number(e):e;return isFinite(n)?n.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t}):$}function An(e){if(e==null||e===``)return $;let t=new Date(e);return isNaN(t.getTime())?String(e):t.toLocaleString()}function jn(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Mn(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function Nn(e){if(!isFinite(e)||e===0)return e.toFixed(2);let t=Math.abs(e),n=2;return t<1e-4?n=8:t<.01?n=6:t<1?n=4:t<100&&(n=3),e.toLocaleString(void 0,{minimumFractionDigits:n,maximumFractionDigits:n})}function Pn(e,t=2){return`${e>=0?`+`:``}${e.toFixed(t)}%`}function Fn(e){return`${e<0?`-`:`+`}$${Math.abs(e).toFixed(2)}`}function In(e){if(e.buyPrice==null||e.lastPrice==null||e.filledQty==null)return{pnlUsd:null,pnlPct:null};let t=Number(e.buyPrice),n=Number(e.lastPrice),r=Number(e.filledQty);return!isFinite(t)||!isFinite(n)||!isFinite(r)||t<=0||n<=0?{pnlUsd:null,pnlPct:null}:{pnlUsd:(n-t)*r,pnlPct:(n-t)/t*100}}e.AlertEnum=a,e.BaseActionButton=Gt,e.BaseAlert=u,e.BaseAppLayout=Ft,e.BaseBadge=f,e.BaseBadgeEnum=yn,e.BaseBreadcrumb=g,e.BaseButton=D,e.BaseButtonEnum=_,e.BaseButtonSizeEnum=v,e.BaseCollapsibleSection=Ye,e.BaseConfirmModal=$e,e.BaseCopyButton=qt,e.BaseEntityPickerModal=Mt,e.BaseGoogleSignInButton=Y,e.BaseLine=le,e.BaseLoginEnum=ue,e.BaseLoginForm=ln,e.BaseLogo=fe,e.BaseLogoEnum=k,e.BaseModal=j,e.BaseModalEnum=A,e.BaseModalShell=z,e.BaseNotFoundPage=ot,e.BaseNotificationPanel=gn,e.BasePageHeader=zt,e.BaseRow=M,e.BaseSidebar=yt,e.BaseSpinner=N,e.BaseTextInputModal=rt,e.BaseToast=ye,e.BaseToastEnum=P,e.BaseToolbarButton=Ht,e.ColoredSquares=xe,e.ColorsEnums=o,e.EarningsCard=we,e.EuroAmount=ke,e.LineEnum=O,e.Pagination=Ne,e.PositioningEnum=F,e.TrendArrow=Re,e.computePnL=In,e.fmtDate=An,e.fmtDateShort=Mn,e.fmtDateTime=jn,e.fmtNumber=kn,e.fmtPct=Pn,e.fmtPrice=Nn,e.fmtUsd=Fn,e.getBaseColor=s,e.getBaseColorOf=c,e.initTheme=ee,e.isSafeHref=Z,e.methodBadgeBright=X,e.methodBadgeSolid=Sn,e.sanitizeHtml=On,e.statusBadgeSolid=Cn,e.statusBadgeTinted=wn,e.useDebouncedRef=_n,e.useEscapeKey=R,e.useMobileSidebar=V,e.useNotifications=J,e.useSidebarCollapse=G,e.useTheme=C,e.useThemeClasses=L,e.useToast=vn});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("@heroicons/vue/24/outline"),require("@heroicons/vue/24/solid"),require("vue-router")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@heroicons/vue/24/outline`,`@heroicons/vue/24/solid`,`vue-router`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UiLib={},e.Vue,e.HeroiconsOutline,e.HeroiconsSolid,e.VueRouter))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var a=function(e){return e.WARNING=`WARNING`,e.ERROR=`ERROR`,e.SUCCESS=`SUCCESS`,e.INFO=`INFO`,e}({}),o=function(e){return e.NONE=`NONE`,e.RED=`RED`,e.YELLOW=`YELLOW`,e.BLACK=`BLACK`,e.GRAY=`GRAY`,e.GREEN=`GREEN`,e.BLUE=`BLUE`,e}({});function s(e){let t=`red`;switch(e){case a.ERROR:t=`red`;break;case a.SUCCESS:t=`green`;break;case a.INFO:t=`gray`;break;case a.WARNING:t=`yellow`;break}return t}function c(e){let t=`red`;switch(e){case o.GREEN:t=`green`;break;case o.RED:t=`red`;break;case o.BLUE:t=`blue`;break;case o.YELLOW:t=`yellow`;break;case o.BLACK:t=`black`;break;case o.GRAY:t=`gray`;break;case o.NONE:t=``;break}return t}var l={class:`font-medium pl-1`},u=(0,t.defineComponent)({__name:`BaseAlert`,props:{title:{type:String,required:!1,default:``},color:{type:String,required:!1,default:a.ERROR}},setup(e){let r=e,i=(0,t.computed)(()=>{switch(r.color){case a.SUCCESS:return n.CheckCircleIcon;case a.WARNING:return n.ExclamationTriangleIcon;case a.INFO:return n.InformationCircleIcon;default:return n.ExclamationCircleIcon}}),o=(0,t.computed)(()=>{switch(r.color){case a.SUCCESS:return`text-green-500`;case a.WARNING:return`text-yellow-500`;case a.INFO:return`text-gray-500`;default:return`text-red-500`}});function c(){let e=s(r.color);return`flex items-center p-4 mb-4 text-sm text-`+e+`-800 border border-`+e+`-300 rounded-lg bg-`+e+`-50 dark:bg-gray-800 dark:text-`+e+`-400 dark:border-`+e+`-800`}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(c()),role:`alert`},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(i.value),{class:(0,t.normalizeClass)([`w-6 h-6 flex-shrink-0`,o.value])},null,8,[`class`])),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`span`,l,(0,t.toDisplayString)(e.title),1)])],2))}}),d=`bg-red-100 text-red-700 border-red-200`,f=(0,t.defineComponent)({__name:`BaseBadge`,props:{color:{type:String,required:!1}},setup(e){let n=(0,t.useSlots)(),r=(0,t.computed)(()=>!!n.default),i=e,a={[o.RED]:`bg-red-100 text-red-700 border-red-200`,[o.GREEN]:`bg-green-100 text-green-700 border-green-200`,[o.BLUE]:`bg-blue-100 text-blue-700 border-blue-200`,[o.YELLOW]:`bg-yellow-100 text-yellow-700 border-yellow-200`,[o.GRAY]:`bg-gray-100 text-gray-700 border-gray-200`,[o.BLACK]:`bg-gray-800 text-gray-100 border-gray-700`,[o.NONE]:`bg-gray-50 text-gray-600 border-gray-200`},s=(0,t.computed)(()=>`inline-flex items-center gap-1 font-semibold text-xs leading-none px-3 py-1.5 rounded-full border ${i.color&&a[i.color]||d}`);return(e,n)=>r.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)(s.value)},[(0,t.renderSlot)(e.$slots,`default`)],2)):(0,t.createCommentVNode)(``,!0)}}),p={class:`flex px-5 py-3 text-gray-700 border border-gray-200 rounded-lg bg-gray-50 dark:bg-gray-800 dark:border-gray-700`,"aria-label":`Breadcrumb`},m={class:`inline-flex items-center space-x-1 md:space-x-3`},h={class:`inline-flex items-center`,style:{"margin-left":`0`}},g=(0,t.defineComponent)({__name:`BaseBreadcrumb`,props:{items:{type:Array,required:!1,default:void 0},path:{type:String,required:!1,default:void 0}},setup(e){let i=e,a=(0,t.computed)(()=>{if(i.items&&i.items.length>0)return i.items;let e=(i.path??(typeof window<`u`?window.location.pathname:`/`)).split(`/`).filter(e=>e!==``),t=``;return e.map(e=>(t+=`/`+e,{name:Number.isNaN(Number(e))?(e.charAt(0).toUpperCase()+e.slice(1)).replaceAll(`-`,` `):e,url:t}))});return(e,i)=>{let o=(0,t.resolveComponent)(`router-link`);return(0,t.openBlock)(),(0,t.createElementBlock)(`nav`,p,[(0,t.createElementVNode)(`ol`,m,[(0,t.createElementVNode)(`li`,h,[(0,t.createVNode)(o,{to:`/`,class:`inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.HomeIcon),{class:`h-4 w-4 text-gray-500 mr-2`}),i[0]||=(0,t.createTextVNode)(` Home `,-1)]),_:1})]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r,class:`inline-flex items-center`,style:{"margin-left":`0`}},[(0,t.createVNode)((0,t.unref)(n.ChevronRightIcon),{class:`h-4 w-4 text-gray-500`}),(0,t.createVNode)(o,{to:e.url,class:`ml-1 text-sm font-medium text-gray-700 hover:text-blue-600 md:ml-2 dark:text-gray-400 dark:hover:text-white`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.name),1)]),_:2},1032,[`to`])]))),128))])])}}}),_=function(e){return e.RED=`RED`,e.BLUE=`BLUE`,e.WHITE=`WHITE`,e.DARK=`DARK`,e.GREEN=`GREEN`,e.EMERALD=`EMERALD`,e.YELLOW=`YELLOW`,e.PURPLE=`PURPLE`,e.SKY=`SKY`,e.GRAY=`GRAY`,e.AMBER=`AMBER`,e}({}),v=function(e){return e.EXTRA_SMALL=`EXTRA_SMALL`,e.SMALL=`SMALL`,e.BASE=`BASE`,e.LARGE=`LARGE`,e.EXTRA_LARGE=`EXTRA_LARGE`,e}({}),y=(0,t.ref)(!1),b=!1,x=`mgv-theme`;function S(e){if(b){e!==x&&console.warn(`[ui-lib] useTheme: storage key "${e}" ignored — theme already initialized with "${x}". Call initTheme({ storageKey }) before mounting any component.`);return}if(b=!0,x=e,typeof window<`u`){let e=window.localStorage?.getItem(x);e?y.value=e===`dark`:typeof window.matchMedia==`function`&&(y.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches)}typeof document<`u`&&(0,t.effectScope)(!0).run(()=>{(0,t.watch)(y,e=>{document.documentElement.classList.toggle(`dark`,e),window.localStorage?.setItem(x,e?`dark`:`light`)},{immediate:!0})})}function ee(e){S(e?.storageKey??x)}function C(e){S(e?.storageKey??x);function t(){y.value=!y.value}return{isDark:y,toggleTheme:t}}var te=[`type`,`disabled`,`onClick`],ne={key:0,class:`inline-flex items-center`},re={key:1},w={key:2},T=[`type`,`disabled`],E={key:0,class:`inline-flex items-center`},ie={key:1},ae={key:2},D=(0,t.defineComponent)({__name:`BaseButton`,props:{description:{type:String,required:!0},color:{type:String,required:!1,default:_.BLUE},to:{type:String,required:!1},type:{type:String,required:!1,default:`button`},iconLeft:{type:Boolean,required:!1,default:!1},isRounded:{type:Boolean,required:!1},outline:{type:Boolean,required:!1,default:!1},ghost:{type:Boolean,required:!1,default:!1},isDisable:{type:Boolean,required:!1},size:{type:String,required:!1},isLoading:{type:Boolean,required:!1}},setup(e){let{isDark:n}=C(),r=e;function i(){let e={[_.BLUE]:{light:`text-blue-700 border-blue-300 hover:bg-blue-50`,dark:`text-blue-400 border-blue-500/40 hover:bg-blue-500/10`},[_.GREEN]:{light:`text-green-700 border-green-300 hover:bg-green-50`,dark:`text-green-400 border-green-500/40 hover:bg-green-500/10`},[_.EMERALD]:{light:`text-emerald-700 border-emerald-300 hover:bg-emerald-50`,dark:`text-emerald-400 border-emerald-500/40 hover:bg-emerald-500/10`},[_.RED]:{light:`text-red-700 border-red-300 hover:bg-red-50`,dark:`text-red-400 border-red-500/40 hover:bg-red-500/10`},[_.YELLOW]:{light:`text-yellow-700 border-yellow-300 hover:bg-yellow-50`,dark:`text-yellow-400 border-yellow-500/40 hover:bg-yellow-500/10`},[_.PURPLE]:{light:`text-purple-700 border-purple-300 hover:bg-purple-50`,dark:`text-purple-400 border-purple-500/40 hover:bg-purple-500/10`},[_.SKY]:{light:`text-sky-700 border-sky-300 hover:bg-sky-50`,dark:`text-sky-400 border-sky-500/40 hover:bg-sky-500/10`},[_.AMBER]:{light:`text-amber-700 border-amber-300 hover:bg-amber-50`,dark:`text-amber-400 border-amber-500/40 hover:bg-amber-500/10`},[_.GRAY]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`},[_.DARK]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`},[_.WHITE]:{light:`text-gray-700 border-gray-300 hover:bg-gray-50`,dark:`text-gray-300 border-gray-600 hover:bg-gray-800`}},t=e[r.color]??e[_.BLUE],i=n.value?t.dark:t.light;return r.isDisable||r.isLoading?`border bg-transparent ${i} opacity-50 cursor-not-allowed`:`focus:outline-none border bg-transparent ${i}`}function a(){let e={[_.BLUE]:{light:`text-blue-600 hover:bg-blue-50`,dark:`text-blue-400 hover:bg-blue-500/10`},[_.GREEN]:{light:`text-green-600 hover:bg-green-50`,dark:`text-green-400 hover:bg-green-500/10`},[_.EMERALD]:{light:`text-emerald-600 hover:bg-emerald-50`,dark:`text-emerald-400 hover:bg-emerald-500/10`},[_.SKY]:{light:`text-sky-600 hover:bg-sky-50`,dark:`text-sky-400 hover:bg-sky-500/10`},[_.RED]:{light:`text-red-500 hover:bg-red-50`,dark:`text-red-400 hover:bg-red-500/10`},[_.AMBER]:{light:`text-amber-700 hover:bg-amber-50`,dark:`text-amber-300 hover:bg-amber-500/10`},[_.YELLOW]:{light:`text-yellow-600 hover:bg-yellow-50`,dark:`text-yellow-400 hover:bg-yellow-500/10`},[_.PURPLE]:{light:`text-purple-600 hover:bg-purple-50`,dark:`text-purple-400 hover:bg-purple-500/10`},[_.GRAY]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`},[_.DARK]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`},[_.WHITE]:{light:`text-gray-500 hover:bg-gray-100`,dark:`text-gray-400 hover:bg-gray-800`}},t=e[r.color]??e[_.GRAY],i=n.value?t.dark:t.light;return r.isDisable||r.isLoading?`bg-transparent ${i} opacity-60 cursor-not-allowed`:`focus:outline-none bg-transparent ${i} cursor-pointer`}function o(){let e=r.isDisable||r.isLoading,t;switch(r.color){case _.BLUE:t=e?`text-white bg-blue-400 cursor-not-allowed`:`focus:outline-none text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300`;break;case _.WHITE:t=e?`text-gray-900 bg-gray-200 border border-gray-200 cursor-not-allowed`:`focus:outline-none text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-200`;break;case _.DARK:t=e?`text-white bg-gray-400 cursor-not-allowed`:`focus:outline-none text-white bg-gray-800 hover:bg-gray-900 focus:ring-4 focus:ring-gray-300`;break;case _.GREEN:t=e?`text-white bg-green-400 cursor-not-allowed`:`focus:outline-none text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300`;break;case _.EMERALD:t=e?`text-white bg-emerald-400 cursor-not-allowed`:`focus:outline-none text-white bg-emerald-600 hover:bg-emerald-700 focus:ring-4 focus:ring-emerald-300`;break;case _.RED:t=e?`text-white bg-red-400 cursor-not-allowed`:`focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300`;break;case _.YELLOW:t=e?`text-white bg-yellow-300 cursor-not-allowed`:`focus:outline-none text-white bg-yellow-400 hover:bg-yellow-500 focus:ring-4 focus:ring-yellow-300`;break;case _.PURPLE:t=e?`text-white bg-purple-400 cursor-not-allowed`:`focus:outline-none text-white bg-purple-700 hover:bg-purple-800 focus:ring-4 focus:ring-purple-300`;break;case _.SKY:t=e?`text-white bg-sky-400 cursor-not-allowed`:`focus:outline-none text-white bg-sky-600 hover:bg-sky-700 focus:ring-4 focus:ring-sky-300`;break;case _.AMBER:t=e?`text-white bg-amber-300 cursor-not-allowed`:`focus:outline-none text-white bg-amber-500 hover:bg-amber-600 focus:ring-4 focus:ring-amber-300`;break;case _.GRAY:t=e?`text-white bg-gray-400 cursor-not-allowed`:`focus:outline-none text-white bg-gray-600 hover:bg-gray-700 focus:ring-4 focus:ring-gray-300`;break;default:t=e?`text-white bg-blue-400 cursor-not-allowed`:`focus:outline-none text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300`;break}r.outline&&(t=i()),r.ghost&&(t=a());let n=`px-5 py-2.5 mr-2 mb-2 text-sm`;switch(r.size){case v.EXTRA_SMALL:n=`px-3 py-2 text-xs`;break;case v.SMALL:n=`px-3 py-2 text-sm`;break;case v.BASE:n=`px-5 py-2.5 text-sm`;break;case v.LARGE:n=`px-5 py-3 text-base`;break;case v.EXTRA_LARGE:n=`px-6 py-3.5 text-base`;break}let o=`rounded-lg`;return r.isRounded&&(o=`rounded-full`),`inline-flex items-center `+n+` `+t+` font-medium `+o}return(n,i)=>{let a=(0,t.resolveComponent)(`router-link`);return e.to?((0,t.openBlock)(),(0,t.createBlock)(a,{key:0,to:e.to,custom:``},{default:(0,t.withCtx)(({navigate:a})=>[(0,t.createElementVNode)(`button`,{type:r.type,class:(0,t.normalizeClass)(o()),disabled:e.isDisable||e.isLoading,onClick:a},[e.isLoading?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ne,[...i[0]||=[(0,t.createElementVNode)(`svg`,{"aria-hidden":`true`,role:`status`,class:`inline w-4 h-4 me-3 animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},[(0,t.createElementVNode)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`#E5E7EB`}),(0,t.createElementVNode)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentColor`})],-1)]])):(0,t.createCommentVNode)(``,!0),e.iconLeft?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,re,(0,t.toDisplayString)(e.description),1)),(0,t.renderSlot)(n.$slots,`default`),e.iconLeft?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,w,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],10,te)]),_:3},8,[`to`])):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:r.type,class:(0,t.normalizeClass)(o()),disabled:e.isDisable||e.isLoading},[e.isLoading?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,E,[...i[1]||=[(0,t.createElementVNode)(`svg`,{"aria-hidden":`true`,role:`status`,class:`inline w-4 h-4 me-3 animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},[(0,t.createElementVNode)(`path`,{d:`M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z`,fill:`#E5E7EB`}),(0,t.createElementVNode)(`path`,{d:`M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z`,fill:`currentColor`})],-1)]])):(0,t.createCommentVNode)(``,!0),e.iconLeft?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ie,(0,t.toDisplayString)(e.description),1)),(0,t.renderSlot)(n.$slots,`default`),e.iconLeft?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ae,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0)],10,T))}}}),O=function(e){return e.BASE=`BASE`,e.BASE_SHORTER=`BASE_SHORTER`,e.SQUARE=`SQUARE`,e}({}),oe={key:0,class:`h-px my-8 bg-gray-200 border-0 dark:bg-gray-700`},se={key:1,class:`w-48 h-1 mx-auto my-4 bg-gray-100 border-0 rounded md:my-10 dark:bg-gray-700`},ce={key:2,class:`w-8 h-8 mx-auto my-8 bg-gray-200 border-0 rounded md:my-12 dark:bg-gray-700`},le=(0,t.defineComponent)({__name:`BaseLine`,props:{mode:{type:String,required:!1,default:O.BASE}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[e.mode===(0,t.unref)(O).BASE?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,oe)):(0,t.createCommentVNode)(``,!0),e.mode===(0,t.unref)(O).BASE_SHORTER?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,se)):(0,t.createCommentVNode)(``,!0),e.mode===(0,t.unref)(O).SQUARE?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,ce)):(0,t.createCommentVNode)(``,!0)],64))}}),k=function(e){return e.SMALL=`SMALL`,e.MEDIUM=`MEDIUM`,e.LARGE=`LARGE`,e}({}),ue=k,de=[`height`,`width`],fe=(0,t.defineComponent)({__name:`BaseLogo`,props:{size:{type:String,required:!1,default:k.MEDIUM}},setup(e){let n=e;function r(){let e=``;switch(n.size){case k.SMALL:e=`50px`;break;case k.MEDIUM:e=`100px`;break;case k.LARGE:e=`150px`;break}return e}return(e,n)=>{let i=(0,t.resolveComponent)(`router-link`);return(0,t.openBlock)(),(0,t.createBlock)(i,{to:`/`,class:`flex items-center mb-6 text-2xl font-semibold text-gray-900 dark:text-white`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{height:r(),width:r(),viewBox:`33.6 130.6 499.7 242.9`,xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`},[...n[0]||=[(0,t.createElementVNode)(`linearGradient`,{id:`a`},[(0,t.createElementVNode)(`stop`,{offset:`.085`,"stop-color":`#469e43`}),(0,t.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#132d13`})],-1),(0,t.createElementVNode)(`linearGradient`,{id:`b`,gradientUnits:`userSpaceOnUse`,x1:`64.863`,x2:`64.863`,"xlink:href":`#a`,y1:`288.291`,y2:`369.4`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`c`,gradientUnits:`userSpaceOnUse`,x1:`138.367`,x2:`138.367`,"xlink:href":`#a`,y1:`308.454`,y2:`370.601`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`d`,gradientUnits:`userSpaceOnUse`,x1:`195.475`,x2:`195.475`,"xlink:href":`#a`,y1:`288.291`,y2:`369.85`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`e`,gradientUnits:`userSpaceOnUse`,x1:`249.634`,x2:`249.634`,"xlink:href":`#a`,y1:`307.312`,y2:`369.511`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`f`,gradientUnits:`userSpaceOnUse`,x1:`302.884`,x2:`302.884`,"xlink:href":`#a`,y1:`288.291`,y2:`367.857`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`g`,gradientUnits:`userSpaceOnUse`,x1:`354.118`,x2:`354.118`,"xlink:href":`#a`,y1:`307.312`,y2:`369.511`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`h`,gradientUnits:`userSpaceOnUse`,x1:`428.02`,x2:`428.02`,"xlink:href":`#a`,y1:`306.156`,y2:`367.742`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`i`,gradientUnits:`userSpaceOnUse`,x1:`502.066`,x2:`502.066`,"xlink:href":`#a`,y1:`288.291`,y2:`369.4`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`j`,gradientUnits:`userSpaceOnUse`,x1:`283.264`,x2:`283.264`,"xlink:href":`#a`,y1:`131.629`,y2:`232.559`},null,-1),(0,t.createElementVNode)(`linearGradient`,{id:`k`,gradientUnits:`userSpaceOnUse`,x1:`283.46`,x2:`283.46`,y1:`202.275`,y2:`183.785`},[(0,t.createElementVNode)(`stop`,{offset:`0`,"stop-color":`#969799`,"stop-opacity":`0`}),(0,t.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#808183`})],-1),(0,t.createElementVNode)(`path`,{d:`m65 307.2c-6.8 0-13.1 2.2-18.2 5.9v-24.8h-13.2v81.1h31.4c17.2 0 31.1-13.9 31.1-31.1s-13.9-31.1-31.1-31.1zm0 49.3h-18.2v-18.2c0-10.1 8.2-18.2 18.2-18.2 10.1 0 18.2 8.2 18.2 18.2.1 10.1-8.1 18.2-18.2 18.2z`,fill:`url(#b)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m168.8 343.9h-46.7c1.4 7.1 6.6 12 14.1 12.7 6.4.6 12.9.1 19.9.1v11.9c-15.2 4.9-33.3.5-42.1-10.4-3.8-4.7-17.3-34.7 11.5-47.4 39-11.4 45.3 22.4 43.3 33.1zm-14.2-12.7c-1.7-8.1-8.8-12.9-17.9-12.3-7.6.5-14 5.8-14.5 12.3z`,fill:`url(#c)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m195.5 320.2c0 10.5-.2 20 .1 29.6.2 5.8 4.4 8.4 13.2 8.6v10.5c-13.8 3.9-26.2-4.5-26.4-18-.2-18.7-.1-43.9-.1-62.6h14.1l-.3 18.5 12.7-.1v13.4h-13.3z`,fill:`url(#d)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m249.6 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z`,fill:`url(#e)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m296.4 288.3h13v79.6h-13z`,fill:`url(#f)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m354.1 307.3c-17.2 0-31.1 13.9-31.1 31.1s13.9 31.1 31.1 31.1h31.1v-31.1c0-17.2-13.9-31.1-31.1-31.1zm18.6 49.7h-18.5c-10.2 0-18.5-8.3-18.5-18.5s8.3-18.5 18.5-18.5 18.5 8.3 18.5 18.5z`,fill:`url(#g)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m442.2 367.7c0-12.3.2-23.6 0-34.9-.2-3.4-3.6-13.8-14.1-13.4-10.3-.3-14.4 10-14.3 12.7.1 10.2.5 35.1.5 35.1l-13.6.1s-.3-25.7.2-36.2c.6-14.1 12.7-25 27.5-25 14.7 0 26.2 10.4 26.7 24.9.4 10.4.5 36.3.5 36.3z`,fill:`url(#h)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m501.9 307.2c6.8 0 13.1 2.2 18.2 5.9v-24.8h13.2v81.1h-31.4c-17.2 0-31.1-13.9-31.1-31.1s13.9-31.1 31.1-31.1zm0 49.3h18.2v-18.2c0-10.1-8.2-18.2-18.2-18.2-10.1 0-18.2 8.2-18.2 18.2 0 10.1 8.1 18.2 18.2 18.2z`,fill:`url(#i)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m309.2 180.6h-24v-24c0-12.6 10.2-24.1 22.8-25 14.8-1 27.1 11.3 26.1 26.1-.8 12.7-12.3 22.9-24.9 22.9zm-50.7-48.9c-14.8-1-27.1 11.3-26.1 26.1.8 12.6 12.4 22.8 25 22.8h23.9v-24c0-12.6-10.3-24.1-22.8-24.9zm50.7 51.9h-24v23.9c0 12.6 10.2 24.1 22.8 25 14.8 1 27.1-11.3 26.1-26.1-.8-12.6-12.3-22.8-24.9-22.8zm-52.4 0c-14 0-25.3 11.8-24.4 26 .8 12.2 10.7 22.1 22.9 22.9 14.2.9 26-10.4 26-24.4v-24.5z`,fill:`url(#j)`},null,-1),(0,t.createElementVNode)(`path`,{d:`m281.7 183.8h3.6v18.5h-3.6z`,fill:`url(#k)`},null,-1)]],8,de))]),_:1})}}}),A=function(e){return e.DELETE=`DELETE`,e.SUCCESS=`SUCCESS`,e}({}),pe={key:0,class:`p-6 text-center`},me={class:`flex justify-center`},he={key:1,class:`p-6 text-center`},ge={key:0,class:`mb-5 text-sm text-gray-500`},_e={class:`flex justify-center`},j=(0,t.defineComponent)({__name:`BaseModal`,props:{title:{type:String,required:!0},description:{type:String,required:!1},to:{type:String,required:!1,default:`/`},mode:{type:String,required:!1,default:A.SUCCESS}},emits:[`closeModal`,`confirmModal`],setup(e,{emit:r}){let i=r,a=`modal-title-${Math.random().toString(36).slice(2,9)}`;function o(e){e.key===`Escape`&&i(`closeModal`)}return(0,t.onMounted)(()=>{document.addEventListener(`keydown`,o)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,o)}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{class:`fixed inset-0 w-full h-screen bg-black/75 z-40`,onClick:i[0]||=e=>r.$emit(`closeModal`)}),(0,t.createElementVNode)(`div`,{class:`fixed top-[20vh] left-1/2 -translate-x-1/2 w-96 z-50 rounded-xl shadow-lg bg-white overflow-hidden`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":a},[e.mode===(0,t.unref)(A).DELETE?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pe,[(0,t.createVNode)((0,t.unref)(n.ExclamationCircleIcon),{class:`w-12 h-12 text-gray-400 mx-auto mb-4`}),(0,t.createElementVNode)(`h3`,{id:a,class:`mb-5 text-lg font-normal text-gray-500 dark:text-gray-400`},` Are you sure you want to delete this `+(0,t.toDisplayString)(e.title)+`? `,1),(0,t.createElementVNode)(`div`,me,[(0,t.createVNode)(D,{color:(0,t.unref)(_).RED,onClick:i[1]||=e=>r.$emit(`confirmModal`),description:`Yes, I'm sure`},null,8,[`color`]),(0,t.createVNode)(D,{color:(0,t.unref)(_).WHITE,onClick:i[2]||=e=>r.$emit(`closeModal`),description:`No, cancel`},null,8,[`color`])])])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,he,[(0,t.createVNode)((0,t.unref)(n.CheckCircleIcon),{class:`w-12 h-12 text-green-500 mx-auto mb-4`}),(0,t.createElementVNode)(`h3`,{id:a,class:`mb-2 text-lg font-medium text-gray-900`},(0,t.toDisplayString)(e.title),1),e.description?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,ge,(0,t.toDisplayString)(e.description),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(r.$slots,`default`),(0,t.createElementVNode)(`div`,_e,[(0,t.createVNode)(D,{color:(0,t.unref)(_).BLUE,onClick:i[3]||=e=>r.$emit(`closeModal`),description:`OK`},null,8,[`color`])])]))])],64))}}),M=(0,t.defineComponent)({__name:`BaseRow`,props:{bgColor:{type:String,required:!1,default:`bg-white`}},setup(e){let n=e;function r(){return`block p-8 border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-700 `+n.bgColor}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(r())},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),N=(0,t.defineComponent)({__name:`BaseSpinner`,props:{size:{default:`sm`},color:{default:`blue`}},setup(e){let n=e,r=(0,t.computed)(()=>({sm:`w-4 h-4 border-2`,md:`w-6 h-6 border-2`,lg:`w-8 h-8 border-4`,xl:`w-12 h-12 border-4`})[n.size]),i=(0,t.computed)(()=>({blue:`border-t-blue-500`,emerald:`border-t-emerald-500`,sky:`border-t-sky-500`,indigo:`border-t-indigo-500`,teal:`border-t-teal-500`,purple:`border-t-purple-500`,red:`border-t-red-500`,amber:`border-t-amber-500`})[n.color]);return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`border-gray-200 rounded-full animate-spin`,[r.value,i.value]]),role:`status`,"aria-label":`Loading`},null,2))}}),P=function(e){return e.SUCCESS=`SUCCESS`,e.WARNING=`WARNING`,e.ERROR=`ERROR`,e}({}),F=function(e){return e.TOP_LEFT=`TOP_LEFT`,e.TOP_RIGHT=`TOP_RIGHT`,e.BOTTOM_LEFT=`BOTTOM_LEFT`,e.BOTTOM_RIGHT=`BOTTOM_RIGHT`,e}({}),I={class:`flex items-center w-full max-w-md p-4 mb-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800`},ve={class:`ml-3 text-sm font-normal`},ye=(0,t.defineComponent)({__name:`BaseToast`,props:{mode:{type:String,required:!0},description:{type:String,required:!0},hasCloseIcon:{type:Boolean,required:!1,default:!0},positioning:{type:String,required:!1,default:F.TOP_RIGHT},duration:{type:Number,required:!1,default:5e3}},setup(e){let r=e,i=(0,t.ref)(!0),a=null;function o(){i.value=!1,a&&=(clearTimeout(a),null)}(0,t.onMounted)(()=>{a=setTimeout(()=>i.value=!1,r.duration)}),(0,t.onUnmounted)(()=>{a&&clearTimeout(a)});function s(){let e=``;switch(r.mode){case P.ERROR:e=`text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200`;break;case P.SUCCESS:e=`text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200`;break;case P.WARNING:e=`text-orange-500 bg-orange-100 dark:bg-orange-700 dark:text-orange-200`;break;default:e=`text-gray-500 bg-gray-100 dark:bg-gray-800 dark:text-gray-200`;break}return`inline-flex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg `+e}function c(){let e=`top-5 right-5`;switch(r.positioning){case F.BOTTOM_LEFT:e=`bottom-5 left-5`;break;case F.TOP_LEFT:e=`top-5 left-5`;break;case F.TOP_RIGHT:e=`top-5 right-5`;break;case F.BOTTOM_RIGHT:e=`bottom-5 right-5`;break}return`fixed flex items-center w-full max-w-md p-4 space-x-4 divide-x rounded-lg `+e}return(r,a)=>i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`toast-top-right`,class:(0,t.normalizeClass)(c()),role:`alert`},[(0,t.createElementVNode)(`div`,I,[e.mode==(0,t.unref)(P).ERROR?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.ExclamationCircleIcon),{class:`h-6 w-6 text-red-500`}),a[0]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Error icon`,-1)],2)):e.mode==(0,t.unref)(P).SUCCESS?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.CheckCircleIcon),{class:`h-6 w-6 text-green-500`}),a[1]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Check icon`,-1)],2)):e.mode==(0,t.unref)(P).WARNING?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)(s())},[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:`h-6 w-6 text-yellow-500`}),a[2]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Warning icon`,-1)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ve,(0,t.toDisplayString)(e.description),1),e.hasCloseIcon?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:3,type:`button`,class:`ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex items-center justify-center h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700 cursor-pointer`,"aria-label":`Close`,onClick:o},[a[3]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1),(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`h-6 w-6 text-gray-500`})])):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0)}}),be={class:`w-13`},xe=(0,t.defineComponent)({__name:`ColoredSquares`,props:{color:{type:String,required:!1}},setup(e){let n=e,r=[`bg-slate-300`,`bg-zinc-300`,`bg-neutral-300`,`bg-stone-300`,`bg-blue-300`,`bg-green-300`,`bg-yellow-300`,`bg-purple-300`,`bg-pink-300`],i=(0,t.ref)(r[Math.floor(Math.random()*r.length)]);function a(){let e=`gray`;switch(n.color){case o.GREEN:e=`green`;break;case o.RED:e=`red`;break;case o.BLUE:e=`blue`;break;case o.YELLOW:e=`yellow`;break;case o.NONE:return`font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full`}return`font-bold text-xs mr-2 px-2.5 py-0.5 rounded-full bg-`+e+`-100 text-`+e+`-800`}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,be,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`border border-gray-300 relative aspect-square rounded-lg bg-white shadow-sm overflow-hidden flex items-center justify-center text-center`,a()])},[(0,t.renderSlot)(e.$slots,`default`),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`absolute bottom-0 left-0 h-1 w-full`,i.value])},null,2)],2)]))}}),Se={class:`flex items-start justify-between`},Ce={class:`text-sm font-bold tracking-wide text-gray-800 dark:text-slate-200`},we=(0,t.defineComponent)({__name:`EarningsCard`,props:{title:{default:`TOTAL EARNINGS`},amount:{default:0},subtitle:{default:`Lifetime commission`},badge:{default:``},currency:{default:`$`},decimals:{default:2},accent:{default:`orange`},signed:{type:Boolean,default:!1}},setup(e){let n=e,r={orange:{border:`border-orange-300 dark:border-orange-700`,badge:`bg-orange-100 text-orange-500 dark:bg-orange-900/40 dark:text-orange-400`,amount:`text-gray-400 dark:text-slate-300`,subtitle:`text-orange-400 dark:text-orange-400`,iconBox:`bg-orange-50 dark:bg-orange-900/30`,icon:`text-orange-400`},emerald:{border:`border-emerald-300 dark:border-emerald-700`,badge:`bg-emerald-100 text-emerald-600 dark:bg-emerald-900/40 dark:text-emerald-400`,amount:`text-emerald-500 dark:text-emerald-400`,subtitle:`text-emerald-500 dark:text-emerald-400`,iconBox:`bg-emerald-50 dark:bg-emerald-900/30`,icon:`text-emerald-500`},red:{border:`border-red-300 dark:border-red-700`,badge:`bg-red-100 text-red-600 dark:bg-red-900/40 dark:text-red-400`,amount:`text-red-500 dark:text-red-400`,subtitle:`text-red-500 dark:text-red-400`,iconBox:`bg-red-50 dark:bg-red-900/30`,icon:`text-red-500`}},i=(0,t.computed)(()=>{let e=Number(n.amount);return Number.isFinite(e)?e:0}),a=(0,t.computed)(()=>n.signed&&i.value<0),o=(0,t.computed)(()=>a.value?`red`:n.accent),s=(0,t.computed)(()=>r[o.value]),c=(0,t.computed)(()=>n.currency+i.value.toLocaleString(`en-US`,{minimumFractionDigits:n.decimals,maximumFractionDigits:n.decimals}));return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`relative rounded-xl border-2 border-dashed bg-white p-6 dark:bg-slate-800`,s.value.border])},[e.badge?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`absolute right-4 top-4 rounded-md px-3 py-1 text-xs font-bold tracking-wide`,s.value.badge])},(0,t.toDisplayString)(e.badge),3)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Se,[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`p`,Ce,(0,t.toDisplayString)(e.title),1),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`mt-1 text-4xl font-bold`,s.value.amount])},(0,t.toDisplayString)(c.value),3),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`mt-1 text-sm font-medium`,s.value.subtitle])},(0,t.toDisplayString)(e.subtitle),3)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`mt-6 flex h-12 w-12 items-center justify-center rounded-xl`,s.value.iconBox])},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.normalizeClass)([`h-6 w-6`,s.value.icon]),viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[a.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[r[0]||=(0,t.createElementVNode)(`polyline`,{points:`22 17 13.5 8.5 8.5 13.5 2 7`},null,-1),r[1]||=(0,t.createElementVNode)(`polyline`,{points:`16 17 22 17 22 11`},null,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[r[2]||=(0,t.createElementVNode)(`polyline`,{points:`22 7 13.5 15.5 8.5 10.5 2 17`},null,-1),r[3]||=(0,t.createElementVNode)(`polyline`,{points:`16 7 22 7 22 13`},null,-1)],64))],2))],2)])],2))}}),Te={key:0,class:`font-bold text-green-800`},Ee={key:0},De={key:0},Oe=`font-bold`,ke=(0,t.defineComponent)({__name:`EuroAmount`,props:{amount:{type:Number,required:!1},beforeAmount:{type:Number,default:null,required:!1},showCurrency:{type:Boolean,default:!0,required:!1}},setup(e){let n=e,r=(0,t.computed)(()=>n.amount!==null&&n.amount!==void 0),i=(0,t.computed)(()=>r.value&&n.amount<0),a=(0,t.computed)(()=>n.beforeAmount===null||n.beforeAmount===void 0?!1:n.amount<n.beforeAmount),o=(0,t.computed)(()=>i.value||a.value),s=(0,t.computed)(()=>!i.value&&!a.value&&!(n.beforeAmount===null||n.beforeAmount===void 0));return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[r.value&&s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Te,[(0,t.createTextVNode)((0,t.toDisplayString)(e.amount)+` `,1),e.showCurrency?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ee,`€`)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),r.value&&!s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([Oe,o.value?`text-red-800`:`text-gray-800`])},[(0,t.createTextVNode)((0,t.toDisplayString)(e.amount)+` `,1),e.showCurrency?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,De,`€`)):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0)],64))}}),Ae={class:`flex list-none p-0 m-0`},je=[`onClick`,`onKeydown`],Me={key:1,class:`inline-block border border-gray-300 rounded-lg p-3 text-black cursor-not-allowed`},Ne=(0,t.defineComponent)({__name:`Pagination`,props:{totalItems:{type:Number,required:!0},itemsPerPage:{type:Number,default:20}},emits:[`page-changed`],setup(e,{emit:n}){let r=e,i=(0,t.ref)(1),a=(0,t.ref)(0),o=(0,t.ref)([]),s=n;function c(e){if(a.value<=5){o.value=Array.from({length:a.value},(e,t)=>t+1);return}let t=[],n=Math.max(1,e-2),r=Math.min(a.value,e+2);n>1&&(t.push(1),n>2&&t.push(0));for(let e=n;e<=r;e++)t.push(e);r<a.value&&(r<a.value-1&&t.push(0),t.push(a.value)),o.value=t}function l(e){e===i.value||e<1||e>a.value||(i.value=e,c(e),s(`page-changed`,e))}return(0,t.watch)(()=>[r.totalItems,r.itemsPerPage],()=>{a.value=Math.ceil(r.totalItems/r.itemsPerPage),i.value>a.value&&(i.value=Math.max(1,a.value)),c(i.value)},{immediate:!0}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createElementVNode)(`ul`,Ae,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:n,class:`mr-1`},[e===0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Me,`...`)):((0,t.openBlock)(),(0,t.createElementBlock)(`a`,{key:0,role:`button`,tabindex:`0`,onClick:t=>l(e),onKeydown:(0,t.withKeys)(t=>l(e),[`enter`]),class:(0,t.normalizeClass)([`inline-block border border-gray-300 rounded-lg p-3 no-underline text-black cursor-pointer hover:bg-gray-300`,{"active font-bold bg-gray-200":e===i.value}])},(0,t.toDisplayString)(e),43,je))]))),128))])]))}}),Pe={key:0},Fe={key:0,class:`flex items-center space-x-2`},Ie={key:1,class:`flex items-center space-x-2`},Le={key:2,class:`flex items-center space-x-2`},Re=(0,t.defineComponent)({__name:`TrendArrow`,props:{number:{type:Number,required:!1},icon:{type:String,required:!1}},setup(e){let r=e,i=(0,t.computed)(()=>r.number!==null&&r.number!==void 0&&r.number<0),a=(0,t.computed)(()=>r.number===0);return(s,c)=>e.number!==null&&e.number!==void 0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pe,[i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fe,[(0,t.createVNode)(f,{color:(0,t.unref)(o).RED},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.ArrowDownIcon),{class:`h-5 w-5 text-red-500`})])):a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ie,[(0,t.createVNode)(f,{color:(0,t.unref)(o).GRAY},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.MinusIcon),{class:`h-5 w-5 text-gray-400`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Le,[(0,t.createVNode)(f,{color:(0,t.unref)(o).GREEN},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.number)+(0,t.toDisplayString)(r.icon),1)]),_:1},8,[`color`]),(0,t.createVNode)((0,t.unref)(n.ArrowUpIcon),{class:`h-5 w-5 text-green-500`})]))])):(0,t.createCommentVNode)(``,!0)}});function L(){let{isDark:e}=C();return{card:(0,t.computed)(()=>e.value?`bg-gray-800 border-gray-700`:`bg-white border-gray-200`),cardAlt:(0,t.computed)(()=>e.value?`bg-gray-900 border-gray-700`:`bg-white border-gray-200`),pageBg:(0,t.computed)(()=>e.value?`bg-gray-900`:`bg-gray-50`),border:(0,t.computed)(()=>e.value?`border-gray-700`:`border-gray-200`),divider:(0,t.computed)(()=>e.value?`border-gray-800`:`border-gray-100`),primaryText:(0,t.computed)(()=>e.value?`text-white`:`text-gray-900`),primaryTextSoft:(0,t.computed)(()=>e.value?`text-gray-100`:`text-gray-800`),bodyText:(0,t.computed)(()=>e.value?`text-gray-200`:`text-gray-700`),label:(0,t.computed)(()=>e.value?`text-gray-300`:`text-gray-700`),mutedText:(0,t.computed)(()=>e.value?`text-gray-400`:`text-gray-600`),subtleText:(0,t.computed)(()=>e.value?`text-gray-500`:`text-gray-600`),dimText:(0,t.computed)(()=>e.value?`text-gray-500`:`text-gray-400`),dimTextAlt:(0,t.computed)(()=>e.value?`text-gray-400`:`text-gray-500`),illustration:(0,t.computed)(()=>e.value?`text-gray-600`:`text-gray-300`),input:(0,t.computed)(()=>e.value?`bg-gray-700 border-gray-600 text-white`:`bg-gray-50 border-gray-300 text-gray-900`),inputWithPlaceholder:(0,t.computed)(()=>e.value?`bg-gray-700 border-gray-600 text-white placeholder-gray-400`:`bg-gray-50 border-gray-300 text-gray-900 placeholder-gray-500`),ghostButton:(0,t.computed)(()=>e.value?`bg-gray-800 text-gray-200 border-gray-600 hover:bg-gray-700`:`bg-white text-gray-700 border-gray-300 hover:bg-gray-50`),emeraldText:(0,t.computed)(()=>e.value?`text-emerald-400`:`text-emerald-600`),amberText:(0,t.computed)(()=>e.value?`text-amber-400`:`text-amber-600`),amberTextStrong:(0,t.computed)(()=>e.value?`text-amber-300`:`text-amber-700`),redText:(0,t.computed)(()=>e.value?`text-red-400`:`text-red-500`)}}function R(e){function n(t){t.key===`Escape`&&e()}(0,t.onMounted)(()=>document.addEventListener(`keydown`,n)),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`keydown`,n))}var ze={class:`flex items-start gap-4 min-w-0`},Be={class:`flex-1 min-w-0`},Ve={class:`p-6 overflow-y-auto flex-1`},He={class:`p-6`},Ue={class:`flex items-start gap-4`},We={class:`flex-1`},Ge={class:`mt-4`},Ke={class:`mt-6 flex gap-3 justify-end`},z=(0,t.defineComponent)({__name:`BaseModalShell`,props:{title:{},maxWidthClass:{default:`max-w-md`},manualClose:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},subtitle:{default:``}},emits:[`cancel`,`backdrop`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=`modal-title-${Math.random().toString(36).slice(2,9)}`,c=(0,t.computed)(()=>a.value?`bg-gray-900 border border-gray-700`:`bg-white border border-gray-200`);function l(){i(`backdrop`),r.manualClose||i(`cancel`)}return R(()=>{r.manualClose||i(`cancel`)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createElementVNode)(`div`,{class:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":s,onClick:l},[e.scrollable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`relative w-full mx-4 rounded-lg shadow-xl max-h-[90vh] flex flex-col`,[e.maxWidthClass,c.value]]),onClick:r[0]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex items-start justify-between gap-4 p-6 border-b shrink-0`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`div`,ze,[(0,t.renderSlot)(n.$slots,`icon`),(0,t.createElementVNode)(`div`,Be,[(0,t.createElementVNode)(`h3`,{id:s,class:(0,t.normalizeClass)([`text-lg font-medium`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm mt-1 break-all`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)])]),(0,t.renderSlot)(n.$slots,`header-actions`)],2),(0,t.createElementVNode)(`div`,Ve,[(0,t.renderSlot)(n.$slots,`default`)]),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`flex gap-3 justify-end p-6 border-t shrink-0`,(0,t.unref)(o).border])},[(0,t.renderSlot)(n.$slots,`footer`)],2)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`relative w-full mx-4 rounded-lg shadow-xl`,[e.maxWidthClass,c.value]]),onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,He,[(0,t.createElementVNode)(`div`,Ue,[(0,t.renderSlot)(n.$slots,`icon`),(0,t.createElementVNode)(`div`,We,[(0,t.createElementVNode)(`h3`,{id:s,class:(0,t.normalizeClass)([`text-lg font-medium`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3)])]),(0,t.createElementVNode)(`div`,Ge,[(0,t.renderSlot)(n.$slots,`default`)]),(0,t.createElementVNode)(`div`,Ke,[(0,t.renderSlot)(n.$slots,`footer`)])])],2))])]))}}),qe=[`aria-expanded`],Je={class:`flex items-center gap-3`},Ye=(0,t.defineComponent)({__name:`BaseCollapsibleSection`,props:{title:{},collapsed:{type:Boolean},badge:{},bodyClass:{}},emits:[`toggle`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=(0,t.computed)(()=>a.value?`text-gray-100`:`text-gray-700`),c=(0,t.computed)(()=>a.value?`bg-gray-800/50 hover:bg-gray-800 border-gray-700`:`bg-gray-50 hover:bg-gray-100 border-gray-200`),l=(0,t.computed)(()=>a.value?`bg-emerald-500/15 text-emerald-400`:`bg-emerald-50 text-emerald-700`),u=(0,t.computed)(()=>r.bodyClass===void 0?a.value?`bg-gray-800`:`bg-white`:r.bodyClass);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{class:(0,t.normalizeClass)([`rounded-xl border overflow-hidden transition-colors`,(0,t.unref)(o).cardAlt])},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`w-full flex items-center justify-between p-4 text-left transition-colors`,c.value]),"aria-expanded":!e.collapsed,onClick:r[0]||=e=>i(`toggle`)},[(0,t.createElementVNode)(`div`,Je,[(0,t.createElementVNode)(`h2`,{class:(0,t.normalizeClass)([`text-base font-semibold`,s.value])},(0,t.toDisplayString)(e.title),3),e.badge?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`text-xs px-2 py-0.5 rounded-full`,l.value])},(0,t.toDisplayString)(e.badge),3)):(0,t.createCommentVNode)(``,!0)]),((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.normalizeClass)([`w-5 h-5 transition-transform`,[e.collapsed?``:`rotate-180`,(0,t.unref)(o).dimTextAlt]]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2`,"aria-hidden":`true`},[...r[1]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],10,qe),(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`p-6 border-t`,[(0,t.unref)(o).border,u.value]])},[(0,t.renderSlot)(n.$slots,`default`)],2),[[t.vShow,!e.collapsed]])],2))}}),Xe=[`disabled`],Ze=[`disabled`],Qe={key:0,class:`w-4 h-4 animate-spin`,fill:`none`,viewBox:`0 0 24 24`,"aria-hidden":`true`},$e=(0,t.defineComponent)({__name:`BaseConfirmModal`,props:{title:{},message:{},confirmText:{default:`Yes, I'm sure`},cancelText:{default:`No, cancel`},submittingText:{default:`Working...`},variant:{default:`danger`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L();function c(){i.submitting||a(`confirm`)}function l(){i.submitting||a(`cancel`)}return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":e.submitting,onCancel:l},{icon:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,[e.variant===`danger`?(0,t.unref)(o)?`bg-red-900/30`:`bg-red-50`:(0,t.unref)(o)?`bg-amber-900/30`:`bg-amber-50`]])},[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:(0,t.normalizeClass)([`h-6 w-6`,e.variant===`danger`?`text-red-600`:`text-amber-600`]),"aria-hidden":`true`},null,8,[`class`])],2)]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150`,[(0,t.unref)(s).ghostButton,e.submitting?`opacity-60 cursor-not-allowed`:`cursor-pointer`]]),onClick:l},(0,t.toDisplayString)(e.cancelText),11,Xe),(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-2 px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,[e.variant===`danger`?e.submitting?`bg-red-400 cursor-not-allowed`:`bg-red-600 hover:bg-red-700 cursor-pointer`:e.submitting?`bg-emerald-400 cursor-not-allowed`:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`]]),onClick:c},[e.submitting?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Qe,[...i[0]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z`},null,-1)]])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),1)],10,Ze)]),default:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`message`,{},()=>[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3)]),(0,t.renderSlot)(r.$slots,`default`)]),_:3},8,[`title`,`manual-close`]))}}),et={class:`mt-4`},tt=[`placeholder`],nt=[`disabled`],rt=(0,t.defineComponent)({__name:`BaseTextInputModal`,props:{title:{},message:{},initialValue:{default:``},placeholder:{default:`Enter value...`},inputLabel:{default:`Name`},confirmText:{default:`Confirm`},cancelText:{default:`Cancel`},submittingText:{default:`Working...`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L(),c=(0,t.ref)(i.initialValue),l=(0,t.ref)(null);(0,t.onMounted)(async()=>{await(0,t.nextTick)(),l.value?.focus()});function u(){!c.value.trim()||i.submitting||a(`confirm`,c.value.trim())}function d(){a(`cancel`)}function f(){c.value.trim()===(i.initialValue??``).trim()&&d()}return R(d),(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":``,onBackdrop:f},{icon:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`icon`,{},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,(0,t.unref)(o)?`bg-emerald-900/30`:`bg-emerald-50`])},[(0,t.createVNode)((0,t.unref)(n.DocumentDuplicateIcon),{class:`h-6 w-6 text-emerald-600`,"aria-hidden":`true`})],2)])]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150`,(0,t.unref)(s).ghostButton]),onClick:d},(0,t.toDisplayString)(e.cancelText),3),(0,t.createElementVNode)(`button`,{type:`button`,disabled:!c.value.trim()||e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,[!c.value.trim()||e.submitting?`bg-emerald-400 cursor-not-allowed`:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`]]),onClick:u},(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),11,nt)]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3),(0,t.createElementVNode)(`div`,et,[(0,t.createElementVNode)(`label`,{class:(0,t.normalizeClass)([`block text-sm font-medium mb-1`,(0,t.unref)(s).label])},(0,t.toDisplayString)(e.inputLabel),3),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`nameInput`,ref:l,"onUpdate:modelValue":i[0]||=e=>c.value=e,type:`text`,placeholder:e.placeholder,class:(0,t.normalizeClass)([`w-full px-3 py-2 rounded-md border text-sm transition-colors`,(0,t.unref)(o)?`bg-gray-800 border-gray-600 text-gray-100 placeholder-gray-500 focus:outline-none focus:border-emerald-500`:`bg-white border-gray-300 text-gray-900 placeholder-gray-400 focus:outline-none focus:border-emerald-500`]),onKeyup:(0,t.withKeys)(u,[`enter`])},null,42,tt),[[t.vModelText,c.value]])])]),_:3},8,[`title`]))}}),it={class:`flex items-center justify-center min-h-[60vh]`},at={class:`text-center px-6`},ot=(0,t.defineComponent)({__name:`BaseNotFoundPage`,props:{code:{default:`404`},message:{default:`Page not found`},homeRouteName:{default:`home`},homeLabel:{default:`Go home`}},setup(e){let r=e,a=(0,i.useRouter)(),{isDark:o}=C(),s=L();function c(){a.push({name:r.homeRouteName})}return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,it,[(0,t.createElementVNode)(`div`,at,[(0,t.createVNode)((0,t.unref)(n.ExclamationTriangleIcon),{class:(0,t.normalizeClass)([`w-16 h-16 mx-auto mb-4`,(0,t.unref)(s).illustration])},null,8,[`class`]),(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-4xl font-bold mb-2`,(0,t.unref)(o)?`text-gray-200`:`text-gray-800`])},(0,t.toDisplayString)(e.code),3),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-lg mb-6`,(0,t.unref)(s).dimTextAlt])},(0,t.toDisplayString)(e.message),3),(0,t.createElementVNode)(`button`,{onClick:c,class:(0,t.normalizeClass)([`inline-flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium text-white transition-colors cursor-pointer`,(0,t.unref)(o)?`bg-emerald-600 hover:bg-emerald-500`:`bg-emerald-600 hover:bg-emerald-700`])},(0,t.toDisplayString)(e.homeLabel),3)])]))}}),B=(0,t.ref)(!1);function V(){function e(){B.value=!0}function t(){B.value=!1}function n(){B.value=!B.value}return{mobileOpen:B,open:e,close:t,toggle:n}}var H=(0,t.ref)(!1),U=!1,W=`mgv-sidebar-collapsed`;function st(e){if(!U&&(U=!0,W=e,typeof window<`u`)){let e=window.localStorage?.getItem(W);e&&(H.value=e===`true`),(0,t.effectScope)(!0).run(()=>{(0,t.watch)(H,e=>{window.localStorage?.setItem(W,String(e))})})}}function G(e){st(e?.storageKey??W);function t(){H.value=!0}function n(){H.value=!1}function r(){H.value=!H.value}return{collapsed:H,collapse:t,expand:n,toggle:r}}var K=(0,t.ref)([]),q=(0,t.ref)(!1),ct=(0,t.computed)(()=>K.value.filter(e=>!e.read).length);function J(){function e(){q.value=!0}function t(){q.value=!1}function n(){q.value=!q.value}function r(e){K.value=e}function i(e){K.value=[e,...K.value]}function a(e){K.value=K.value.filter(t=>t.id!==e)}function o(e){K.value=K.value.map(t=>t.id===e?{...t,read:!0}:t)}function s(){K.value=K.value.map(e=>e.read?e:{...e,read:!0})}function c(){K.value=[]}return{notifications:K,unreadCount:ct,open:q,openPanel:e,closePanel:t,togglePanel:n,setNotifications:r,add:i,remove:a,markRead:o,markAllRead:s,clear:c}}var lt=[`aria-label`,`aria-expanded`],ut={class:`flex flex-col h-full`},dt={class:`flex-1 overflow-y-auto px-3 space-y-6`},ft={class:`space-y-0.5`},pt=[`aria-current`,`title`,`onClick`],mt=[`aria-label`],ht={class:`relative shrink-0`},gt={key:0,class:`absolute -top-1.5 -right-1.5 min-w-4 h-4 px-1 rounded-full bg-red-500 text-white text-[10px] font-semibold leading-4 text-center`},_t=[`title`,`aria-label`,`aria-pressed`],vt=[`title`,`aria-label`,`aria-pressed`],yt=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,t.defineComponent)({__name:`BaseSidebar`,props:{sections:{},homeRouteName:{default:`home`},appName:{default:``},version:{default:``},showThemeToggle:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},showNotifications:{type:Boolean,default:!1}},setup(e){let r=e,a=(0,i.useRouter)(),o=(0,i.useRoute)(),{isDark:s,toggleTheme:c}=C(),{mobileOpen:l,close:u,toggle:d}=V(),{collapsed:f,toggle:p}=G(),{unreadCount:m,togglePanel:h}=J(),g=(0,t.computed)(()=>r.collapsible&&f.value),_=(0,t.ref)(null),v=null;(0,t.watch)(l,async e=>{e?(v=document.activeElement instanceof HTMLElement?document.activeElement:null,await(0,t.nextTick)(),_.value?.focus()):(v?.focus(),v=null)});function y(){a.push({name:r.homeRouteName}),u()}function b(e){return o.name===e}function x(e){a.push({name:e}),u()}return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`mobile-topbar fixed top-0 inset-x-0 z-30 flex items-center justify-between px-4 py-3 border-b transition-colors`,(0,t.unref)(s)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:y,class:`cursor-pointer`,"aria-label":`Go to home`},[(0,t.renderSlot)(r.$slots,`logo`,{size:28},void 0,!0)]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[0]||=(...e)=>(0,t.unref)(d)&&(0,t.unref)(d)(...e),class:(0,t.normalizeClass)([`p-2 rounded-lg cursor-pointer`,(0,t.unref)(s)?`text-gray-400 hover:bg-gray-800`:`text-gray-600 hover:bg-gray-100`]),"aria-label":(0,t.unref)(l)?`Close navigation menu`:`Open navigation menu`,"aria-expanded":(0,t.unref)(l)},[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.XMarkIcon),{key:1,class:`w-6 h-6`,"aria-hidden":`true`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Bars3Icon),{key:0,class:`w-6 h-6`,"aria-hidden":`true`}))],10,lt)],2),(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`mobile-overlay fixed inset-0 z-40 bg-black/50`,"aria-hidden":`true`,onClick:i[1]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e)})):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`aside`,{role:`navigation`,"aria-label":`Main navigation`,class:(0,t.normalizeClass)([`fixed top-0 left-0 h-screen w-60 flex flex-col border-r transition-all duration-300 lg:pointer-events-auto`,[(0,t.unref)(s)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`,(0,t.unref)(l)?`translate-x-0 z-50`:`-translate-x-full max-lg:pointer-events-none lg:translate-x-0 z-50`,e.collapsible&&(0,t.unref)(f)?`lg:w-16`:`lg:w-60`]])},[(0,t.createElementVNode)(`div`,ut,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`px-5 pt-5 pb-4 flex items-center justify-center relative`,{"lg:px-2":g.value}])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:y,class:`cursor-pointer`,"aria-label":`Go to home`},[(0,t.renderSlot)(r.$slots,`logo`,{size:g.value?36:52},void 0,!0)]),(0,t.createElementVNode)(`button`,{ref_key:`closeMobileButton`,ref:_,type:`button`,onClick:i[2]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),class:(0,t.normalizeClass)([`lg:hidden p-1.5 rounded-lg cursor-pointer absolute right-3 top-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,(0,t.unref)(s)?`text-gray-400 hover:bg-gray-800`:`text-gray-500 hover:bg-gray-100`]),"aria-label":`Close navigation menu`},[(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`w-5 h-5`,"aria-hidden":`true`})],2)],2),(0,t.createElementVNode)(`nav`,dt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.sections,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.title},[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`px-2 mb-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500`,{"lg:hidden":g.value}])},(0,t.toDisplayString)(e.title),3),(0,t.createElementVNode)(`ul`,ft,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.name},[(0,t.createElementVNode)(`button`,{type:`button`,"aria-current":b(e.name)?`page`:void 0,title:g.value?e.label:void 0,onClick:t=>x(e.name),class:(0,t.normalizeClass)([`flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium transition-colors w-full text-left cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[b(e.name)?(0,t.unref)(s)?`bg-emerald-500/15 text-emerald-300`:`bg-emerald-50 text-emerald-700`:(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icon),{class:`w-[18px] h-[18px] shrink-0`})),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},(0,t.toDisplayString)(e.label),3)],10,pt)]))),128))])]))),128))]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`px-4 py-4 border-t transition-colors space-y-3`,(0,t.unref)(s)?`border-gray-800`:`border-gray-200`])},[e.showNotifications?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,type:`button`,onClick:i[3]||=(...e)=>(0,t.unref)(h)&&(0,t.unref)(h)(...e),title:`Notifications`,"aria-label":(0,t.unref)(m)>0?`Notifications, ${(0,t.unref)(m)} unread`:`Notifications`,class:(0,t.normalizeClass)([`relative flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[(0,t.createElementVNode)(`span`,ht,[(0,t.createVNode)((0,t.unref)(n.BellIcon),{class:`w-[18px] h-[18px]`,"aria-hidden":`true`}),(0,t.unref)(m)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gt,(0,t.toDisplayString)((0,t.unref)(m)>99?`99+`:(0,t.unref)(m)),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},`Notifications`,2)],10,mt)):(0,t.createCommentVNode)(``,!0),e.showThemeToggle?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,onClick:i[4]||=(...e)=>(0,t.unref)(c)&&(0,t.unref)(c)(...e),title:(0,t.unref)(s)?`Switch to light mode`:`Switch to dark mode`,"aria-label":(0,t.unref)(s)?`Switch to light mode`:`Switch to dark mode`,"aria-pressed":(0,t.unref)(s),class:(0,t.normalizeClass)([`flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(s)?(0,t.unref)(n.SunIcon):(0,t.unref)(n.MoonIcon)),{class:(0,t.normalizeClass)([`hidden w-[18px] h-[18px] shrink-0`,{"lg:block":g.value}]),"aria-hidden":`true`},null,8,[`class`])),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},(0,t.toDisplayString)((0,t.unref)(s)?`Switch to light`:`Switch to dark`),3),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`ml-auto relative w-9 h-5 rounded-full transition-colors`,[(0,t.unref)(s)?`bg-emerald-600`:`bg-gray-300`,{"lg:hidden":g.value}]])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`absolute top-0.5 left-0.5 w-4 h-4 rounded-full bg-white shadow-sm transition-transform duration-300`,(0,t.unref)(s)?`translate-x-4`:`translate-x-0`])},null,2)],2)],10,_t)):(0,t.createCommentVNode)(``,!0),e.collapsible?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,type:`button`,onClick:i[5]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),title:(0,t.unref)(f)?`Expand sidebar`:`Collapse sidebar`,"aria-label":(0,t.unref)(f)?`Expand sidebar`:`Collapse sidebar`,"aria-pressed":(0,t.unref)(f),class:(0,t.normalizeClass)([`hidden lg:flex items-center gap-3 w-full px-3 py-2.5 rounded-lg text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,[(0,t.unref)(s)?`text-gray-400 hover:text-gray-100 hover:bg-gray-800`:`text-gray-600 hover:text-gray-900 hover:bg-gray-100`,{"lg:justify-center":g.value}]])},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(f)?(0,t.unref)(n.ChevronDoubleRightIcon):(0,t.unref)(n.ChevronDoubleLeftIcon)),{class:`w-[18px] h-[18px] shrink-0`,"aria-hidden":`true`})),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},`Collapse`,2)],10,vt)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},[(0,t.renderSlot)(r.$slots,`status`,{},void 0,!0)],2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)({"lg:hidden":g.value})},[(0,t.renderSlot)(r.$slots,`footer`,{},()=>[e.appName||e.version?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`flex items-center justify-center gap-2 text-xs`,((0,t.unref)(s),`text-gray-500`)])},[(0,t.createElementVNode)(`span`,null,[(0,t.createTextVNode)((0,t.toDisplayString)(e.appName),1),e.appName&&e.version?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[],64)):(0,t.createCommentVNode)(``,!0),e.version?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)(`v`+(0,t.toDisplayString)(e.version),1)],64)):(0,t.createCommentVNode)(``,!0)])],2)):(0,t.createCommentVNode)(``,!0)],!0)],2)],2)])],2)]))}}),[[`__scopeId`,`data-v-6fca021f`]]),bt={key:1,class:`mt-4 flex justify-center py-6`},xt={key:2,class:`mt-4 text-sm text-red-500`,role:`alert`},St={key:3,class:`mt-4`},Ct={class:`relative`},wt=[`placeholder`],Tt={key:4,class:`mt-3 max-h-64 overflow-y-auto`},Et=[`onClick`],Dt={class:`flex-1 min-w-0`},Ot={key:0,class:`text-center py-6`},kt={key:1,class:`text-center py-6`},At=[`disabled`],jt=[`disabled`],Mt=(0,t.defineComponent)({__name:`BaseEntityPickerModal`,props:{title:{},message:{},items:{default:()=>[]},loader:{},excludeId:{},variant:{default:`emerald`},searchPlaceholder:{default:`Search...`},emptyMessage:{default:`No items available.`},noMatchMessage:{default:`No items match your search.`},confirmText:{default:`Select`},cancelText:{default:`Cancel`},submittingText:{default:`Working...`},submitting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=L(),c=(0,t.ref)([]),l=(0,t.ref)(!1),u=(0,t.ref)(``),d=(0,t.ref)(null),f=(0,t.ref)(``),p=(0,t.ref)(null),m=(0,t.computed)(()=>{let e=i.loader?c.value:i.items;return i.excludeId?e.filter(e=>e.id!==i.excludeId):e}),h=(0,t.computed)(()=>m.value.filter(e=>e.label.toLowerCase().includes(f.value.toLowerCase()))),g={emerald:{iconBg:`bg-emerald-50`,iconText:`text-emerald-600`,inputFocus:`focus:border-emerald-500`,selectedRow:`bg-emerald-50 border border-emerald-200`,checkBg:`bg-emerald-600`,confirmActive:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`,confirmDisabled:`bg-emerald-400 cursor-not-allowed`},purple:{iconBg:`bg-purple-50`,iconText:`text-purple-600`,inputFocus:`focus:border-purple-500`,selectedRow:`bg-purple-50 border border-purple-200`,checkBg:`bg-purple-600`,confirmActive:`bg-purple-600 hover:bg-purple-700 cursor-pointer`,confirmDisabled:`bg-purple-400 cursor-not-allowed`},blue:{iconBg:`bg-blue-50`,iconText:`text-blue-600`,inputFocus:`focus:border-blue-500`,selectedRow:`bg-blue-50 border border-blue-200`,checkBg:`bg-blue-600`,confirmActive:`bg-blue-600 hover:bg-blue-700 cursor-pointer`,confirmDisabled:`bg-blue-400 cursor-not-allowed`},red:{iconBg:`bg-red-50`,iconText:`text-red-600`,inputFocus:`focus:border-red-500`,selectedRow:`bg-red-50 border border-red-200`,checkBg:`bg-red-600`,confirmActive:`bg-red-600 hover:bg-red-700 cursor-pointer`,confirmDisabled:`bg-red-400 cursor-not-allowed`},amber:{iconBg:`bg-amber-50`,iconText:`text-amber-600`,inputFocus:`focus:border-amber-500`,selectedRow:`bg-amber-50 border border-amber-200`,checkBg:`bg-amber-600`,confirmActive:`bg-amber-600 hover:bg-amber-700 cursor-pointer`,confirmDisabled:`bg-amber-400 cursor-not-allowed`}},_={emerald:{iconBg:`bg-emerald-900/30`,iconText:`text-emerald-400`,inputFocus:`focus:border-emerald-500`,selectedRow:`bg-emerald-500/15 border border-emerald-500/30`,checkBg:`bg-emerald-600`,confirmActive:`bg-emerald-600 hover:bg-emerald-700 cursor-pointer`,confirmDisabled:`bg-emerald-400 cursor-not-allowed`},purple:{iconBg:`bg-purple-900/30`,iconText:`text-purple-400`,inputFocus:`focus:border-purple-500`,selectedRow:`bg-purple-500/15 border border-purple-500/30`,checkBg:`bg-purple-600`,confirmActive:`bg-purple-600 hover:bg-purple-700 cursor-pointer`,confirmDisabled:`bg-purple-400 cursor-not-allowed`},blue:{iconBg:`bg-blue-900/30`,iconText:`text-blue-400`,inputFocus:`focus:border-blue-500`,selectedRow:`bg-blue-500/15 border border-blue-500/30`,checkBg:`bg-blue-600`,confirmActive:`bg-blue-600 hover:bg-blue-700 cursor-pointer`,confirmDisabled:`bg-blue-400 cursor-not-allowed`},red:{iconBg:`bg-red-900/30`,iconText:`text-red-400`,inputFocus:`focus:border-red-500`,selectedRow:`bg-red-500/15 border border-red-500/30`,checkBg:`bg-red-600`,confirmActive:`bg-red-600 hover:bg-red-700 cursor-pointer`,confirmDisabled:`bg-red-400 cursor-not-allowed`},amber:{iconBg:`bg-amber-900/30`,iconText:`text-amber-400`,inputFocus:`focus:border-amber-500`,selectedRow:`bg-amber-500/15 border border-amber-500/30`,checkBg:`bg-amber-600`,confirmActive:`bg-amber-600 hover:bg-amber-700 cursor-pointer`,confirmDisabled:`bg-amber-400 cursor-not-allowed`}},v=(0,t.computed)(()=>(o.value?_:g)[i.variant]);(0,t.onMounted)(async()=>{if(i.loader){l.value=!0;try{c.value=await i.loader()}catch{u.value=`Failed to load items`}finally{l.value=!1}}await(0,t.nextTick)(),p.value?.focus()});function y(){!d.value||i.submitting||a(`confirm`,d.value)}function b(){i.submitting||a(`cancel`)}return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(z,{title:e.title,"manual-close":e.submitting,onCancel:b},{icon:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`icon`,{},()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex-shrink-0 flex h-12 w-12 items-center justify-center rounded-full`,v.value.iconBg])},[(0,t.createVNode)((0,t.unref)(n.FolderIcon),{class:(0,t.normalizeClass)([`h-6 w-6`,v.value.iconText]),"aria-hidden":`true`},null,8,[`class`])],2)])]),footer:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,disabled:e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border rounded-md shadow-sm text-sm font-medium transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed`,(0,t.unref)(s).ghostButton]),onClick:b},(0,t.toDisplayString)(e.cancelText),11,At),(0,t.createElementVNode)(`button`,{type:`button`,disabled:!d.value||e.submitting,class:(0,t.normalizeClass)([`inline-flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white transition-colors duration-150`,!d.value||e.submitting?v.value.confirmDisabled:v.value.confirmActive]),onClick:y},(0,t.toDisplayString)(e.submitting?e.submittingText:e.confirmText),11,jt)]),default:(0,t.withCtx)(()=>[e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o)?`text-gray-300`:`text-gray-600`])},(0,t.toDisplayString)(e.message),3)):(0,t.createCommentVNode)(``,!0),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bt,[(0,t.createVNode)(N,{color:`emerald`})])):u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xt,(0,t.toDisplayString)(u.value),1)):(0,t.createCommentVNode)(``,!0),!l.value&&!u.value&&m.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,St,[(0,t.createElementVNode)(`div`,Ct,[(0,t.createVNode)((0,t.unref)(n.MagnifyingGlassIcon),{class:(0,t.normalizeClass)([`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4`,(0,t.unref)(s).dimText]),"aria-hidden":`true`},null,8,[`class`]),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`searchInputRef`,ref:p,"onUpdate:modelValue":i[0]||=e=>f.value=e,type:`text`,placeholder:e.searchPlaceholder,class:(0,t.normalizeClass)([`w-full pl-9 pr-3 py-2 text-sm rounded-md border outline-none transition-colors`,[(0,t.unref)(o)?`bg-gray-800 border-gray-600 text-gray-200 placeholder-gray-500`:`bg-white border-gray-300 text-gray-700 placeholder-gray-400`,v.value.inputFocus]])},null,10,wt),[[t.vModelText,f.value]])])])):(0,t.createCommentVNode)(``,!0),!l.value&&!u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(h.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`flex items-center gap-3 px-3 py-2.5 rounded-lg cursor-pointer transition-colors`,[d.value===e.id?v.value.selectedRow:(0,t.unref)(o)?`hover:bg-gray-800 border border-transparent`:`hover:bg-gray-50 border border-transparent`]]),onClick:t=>d.value=e.id},[(0,t.createVNode)((0,t.unref)(n.FolderIcon),{class:(0,t.normalizeClass)([`w-5 h-5 flex-shrink-0`,(0,t.unref)(s).dimText])},null,8,[`class`]),(0,t.createElementVNode)(`div`,Dt,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm font-medium truncate`,(0,t.unref)(s).bodyText])},(0,t.toDisplayString)(e.label),3)]),d.value===e.id?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center`,v.value.checkBg])},[...i[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-white`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`3`,"aria-hidden":`true`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M5 13l4 4L19 7`})],-1)]],2)):(0,t.createCommentVNode)(``,!0)],10,Et))),128)),m.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ot,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(s).dimText])},(0,t.toDisplayString)(e.emptyMessage),3)])):h.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kt,[(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(s).dimText])},(0,t.toDisplayString)(e.noMatchMessage),3)])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`title`,`manual-close`]))}}),Nt={href:`#main-content`,class:`sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:px-3 focus:py-2 focus:rounded-md focus:bg-emerald-600 focus:text-white focus:shadow-lg`},Pt=[`inert`],Ft=(0,t.defineComponent)({__name:`BaseAppLayout`,props:{showSidebar:{type:Boolean,default:!0},skipLinkLabel:{default:`Skip to main content`}},setup(e){let n=e,{isDark:r}=C(),{mobileOpen:i}=V(),{collapsed:a}=G(),o=(0,t.computed)(()=>n.showSidebar);return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`min-h-screen transition-colors duration-300`,(0,t.unref)(r)?`bg-gray-950 text-gray-100`:`bg-gray-50 text-gray-800`])},[(0,t.createElementVNode)(`a`,Nt,(0,t.toDisplayString)(e.skipLinkLabel),1),o.value?(0,t.renderSlot)(n.$slots,`sidebar`,{key:0}):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`main`,{id:`main-content`,tabindex:`-1`,inert:o.value&&(0,t.unref)(i)?!0:void 0,class:(0,t.normalizeClass)([`transition-all duration-300`,o.value?(0,t.unref)(a)?`pt-14 lg:pt-0 lg:ml-16`:`pt-14 lg:pt-0 lg:ml-60`:``])},[(0,t.renderSlot)(n.$slots,`default`)],10,Pt)],2))}}),It={class:`flex flex-wrap items-center justify-between gap-3 mb-8`},Lt={class:`flex items-center gap-3 min-w-0`},Rt={class:`flex items-center gap-2`},zt=(0,t.defineComponent)({__name:`BasePageHeader`,props:{title:{},subtitle:{default:``},iconColor:{default:`emerald`},maxWidthClass:{default:`max-w-4xl`}},setup(e){let n=e,{isDark:r}=C(),i=L(),a=(0,t.computed)(()=>{let e={emerald:{dark:`bg-emerald-500/10`,light:`bg-emerald-50`},sky:{dark:`bg-sky-500/10`,light:`bg-sky-50`},red:{dark:`bg-red-500/10`,light:`bg-red-50`},amber:{dark:`bg-amber-500/10`,light:`bg-amber-50`}}[n.iconColor];return r.value?e.dark:e.light}),o=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400`,light:`text-emerald-600`},sky:{dark:`text-sky-400`,light:`text-sky-600`},red:{dark:`text-red-400`,light:`text-red-500`},amber:{dark:`text-amber-400`,light:`text-amber-600`}}[n.iconColor];return r.value?e.dark:e.light});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`mx-auto px-4 sm:px-6`,e.maxWidthClass])},[(0,t.createElementVNode)(`div`,It,[(0,t.createElementVNode)(`div`,Lt,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`w-10 h-10 rounded-lg flex items-center justify-center`,a.value])},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:o.value})],2),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-2xl font-bold`,(0,t.unref)(i).primaryTextSoft])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(i).dimTextAlt])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,Rt,[(0,t.renderSlot)(n.$slots,`actions`)])])],2))}}),Bt=[`type`,`disabled`,`title`],Vt={key:0},Ht=(0,t.defineComponent)({__name:`BaseToolbarButton`,props:{label:{default:``},variant:{default:`neutral`},disabled:{type:Boolean,default:!1},title:{default:void 0},type:{default:`button`}},emits:[`click`],setup(e){let n=e,{isDark:r}=C(),i=(0,t.computed)(()=>{let e={neutral:{dark:`bg-gray-800 text-gray-100 border-gray-700 hover:bg-gray-700`,light:`bg-white text-gray-700 border-gray-200 hover:bg-gray-100`},danger:{dark:`bg-red-600 text-white border-red-600 hover:bg-red-500`,light:`bg-red-600 text-white border-red-600 hover:bg-red-700`}}[n.variant];return r.value?e.dark:e.light});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:e.type,disabled:e.disabled,title:e.title,class:(0,t.normalizeClass)([`inline-flex shrink-0 items-center gap-2 px-3 py-2 rounded-lg text-sm font-medium border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap`,i.value]),onClick:r[0]||=e=>n.$emit(`click`,e)},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:`w-4 h-4`}),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Vt,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,Bt))}}),Ut=[`type`,`disabled`,`title`,`aria-label`],Wt={key:0},Gt=(0,t.defineComponent)({__name:`BaseActionButton`,props:{label:{default:``},color:{default:`emerald`},disabled:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},title:{default:void 0},ariaLabel:{default:void 0},type:{default:`button`}},emits:[`click`],setup(e){let n=e,{isDark:r}=C(),i=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400 hover:bg-emerald-500/10`,light:`text-emerald-600 hover:bg-emerald-50`},sky:{dark:`text-sky-400 hover:bg-sky-500/10`,light:`text-sky-600 hover:bg-sky-50`},indigo:{dark:`text-indigo-400 hover:bg-indigo-500/10`,light:`text-indigo-600 hover:bg-indigo-50`},teal:{dark:`text-teal-400 hover:bg-teal-500/10`,light:`text-teal-600 hover:bg-teal-50`},purple:{dark:`text-purple-400 hover:bg-purple-500/10`,light:`text-purple-600 hover:bg-purple-50`},red:{dark:`text-red-400 hover:bg-red-500/10`,light:`text-red-500 hover:bg-red-50`},amber:{dark:`text-amber-400 hover:bg-amber-500/10`,light:`text-amber-600 hover:bg-amber-50`},amberStrong:{dark:`text-amber-300 hover:bg-amber-500/10`,light:`text-amber-700 hover:bg-amber-50`}}[n.color];return r.value?e.dark:e.light}),a=(0,t.computed)(()=>{let e={emerald:{dark:`text-emerald-400`,light:`text-emerald-600`},sky:{dark:`text-sky-400`,light:`text-sky-600`},indigo:{dark:`text-indigo-400`,light:`text-indigo-600`},teal:{dark:`text-teal-400`,light:`text-teal-600`},purple:{dark:`text-purple-400`,light:`text-purple-600`},red:{dark:`text-red-400`,light:`text-red-500`},amber:{dark:`text-amber-400`,light:`text-amber-600`},amberStrong:{dark:`text-amber-300`,light:`text-amber-700`}}[n.color];return r.value?e.dark:e.light}),o=(0,t.computed)(()=>n.disabled?`${a.value} opacity-50 cursor-not-allowed`:`${i.value} cursor-pointer`);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:e.type,disabled:e.disabled,title:e.title,"aria-label":e.ariaLabel,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium transition-colors`,[e.fullWidth?`flex-1`:``,o.value]]),onClick:r[0]||=e=>n.$emit(`click`,e)},[(0,t.renderSlot)(n.$slots,`icon`,{iconClass:`w-4 h-4`}),e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Wt,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],10,Ut))}}),Kt=[`title`,`aria-label`],qt=(0,t.defineComponent)({__name:`BaseCopyButton`,props:{text:{},label:{default:``},variant:{default:`ghost`},resetMs:{default:1500},iconClass:{default:`w-4 h-4`}},emits:[`copied`,`error`],setup(e,{emit:r}){let i=e,a=r,{isDark:o}=C(),s=(0,t.ref)(!1),c=null,l=(0,t.computed)(()=>s.value?`Copied!`:i.label?`Copy ${i.label}`:`Copy`),u=(0,t.computed)(()=>i.label?`Copy ${i.label}`:`Copy`),d=(0,t.computed)(()=>i.variant===`bordered`?`inline-flex items-center justify-center w-9 h-9 rounded-lg border transition-colors cursor-pointer shrink-0 ${s.value?o.value?`border-emerald-500/40 bg-emerald-500/10 text-emerald-400`:`border-emerald-300 bg-emerald-50 text-emerald-600`:o.value?`border-gray-600 text-gray-400 hover:text-gray-200 hover:bg-gray-800`:`border-gray-300 text-gray-400 hover:text-gray-600 hover:bg-gray-50`}`:`p-1 rounded transition-colors cursor-pointer ${o.value?`text-gray-400 hover:text-emerald-300 hover:bg-emerald-500/10`:`text-gray-500 hover:text-emerald-600 hover:bg-emerald-50`}`);async function f(e){try{if(navigator.clipboard?.writeText){await navigator.clipboard.writeText(e);return}}catch{}let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);if(document.body.removeChild(t),!n)throw Error(`Copy command was rejected`)}async function p(){try{await f(i.text),s.value=!0,c&&clearTimeout(c),c=setTimeout(()=>{s.value=!1},i.resetMs),a(`copied`)}catch(e){a(`error`,e)}}return(0,t.onUnmounted)(()=>{c&&clearTimeout(c)}),(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,title:l.value,"aria-label":u.value,class:(0,t.normalizeClass)(d.value),onClick:p},[s.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ClipboardDocumentCheckIcon),{key:0,class:(0,t.normalizeClass)(e.iconClass),"aria-hidden":`true`},null,8,[`class`])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.ClipboardDocumentIcon),{key:1,class:(0,t.normalizeClass)(e.iconClass),"aria-hidden":`true`},null,8,[`class`]))],10,Kt))}}),Jt=[`disabled`,`aria-busy`],Yt={key:0,class:`w-5 h-5 animate-spin shrink-0`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},Xt={key:1,class:`w-5 h-5 shrink-0`,viewBox:`0 0 48 48`,"aria-hidden":`true`},Y=(0,t.defineComponent)({__name:`BaseGoogleSignInButton`,props:{label:{default:`Sign in with Google`},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},block:{type:Boolean,default:!0}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=(0,t.computed)(()=>r.disabled||r.loading);function s(){o.value||i(`click`)}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,disabled:o.value,"aria-busy":e.loading,onClick:s,class:(0,t.normalizeClass)([`inline-flex items-center justify-center gap-3 h-11 px-4 rounded-lg border text-sm font-medium transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed`,[e.block?`w-full`:``,(0,t.unref)(a)?`bg-gray-900 border-gray-700 text-gray-100 hover:bg-gray-800`:`bg-white border-gray-300 text-gray-700 hover:bg-gray-50`]])},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Yt,[...r[0]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Xt,[...r[1]||=[(0,t.createStaticVNode)(`<path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"></path><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z"></path><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"></path><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z"></path><path fill="none" d="M0 0h48v48H0z"></path>`,5)]])),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1)],10,Jt))}}),Zt={key:0,class:`flex justify-center mb-6`},Qt={class:`mb-6 text-center`},$t={class:`flex items-center gap-3 my-5`},en=[`disabled`],tn={class:`flex items-center justify-between mb-1.5`},nn={class:`relative`},rn=[`type`,`disabled`],an=[`aria-label`,`aria-pressed`],on=[`disabled`],sn=[`disabled`,`aria-busy`],cn={key:0,class:`w-4 h-4 animate-spin`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`},ln=(0,t.defineComponent)({__name:`BaseLoginForm`,props:{title:{default:`Sign in`},subtitle:{default:``},submitLabel:{default:`Sign in`},loading:{type:Boolean,default:!1},googleLoading:{type:Boolean,default:!1},error:{default:``},showGoogle:{type:Boolean,default:!0},showRemember:{type:Boolean,default:!1}},emits:[`submit`,`google-sign-in`],setup(e,{emit:n}){let r=e,i=n,{isDark:a}=C(),o=L(),s=(0,t.ref)(``),c=(0,t.ref)(``),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.computed)(()=>r.loading||r.googleLoading);function f(){d.value||i(`submit`,{email:s.value,password:c.value,...r.showRemember?{remember:l.value}:{}})}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`w-full max-w-sm mx-auto rounded-xl border shadow-sm p-6 sm:p-8`,(0,t.unref)(o).card])},[n.$slots.logo?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zt,[(0,t.renderSlot)(n.$slots,`logo`)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Qt,[(0,t.createElementVNode)(`h1`,{class:(0,t.normalizeClass)([`text-xl font-semibold`,(0,t.unref)(o).primaryText])},(0,t.toDisplayString)(e.title),3),e.subtitle?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,{key:0,class:(0,t.normalizeClass)([`mt-1 text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.subtitle),3)):(0,t.createCommentVNode)(``,!0)]),e.error?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,role:`alert`,class:(0,t.normalizeClass)([`mb-4 rounded-lg border px-3 py-2 text-sm`,(0,t.unref)(a)?`bg-red-500/10 border-red-500/30 text-red-300`:`bg-red-50 border-red-200 text-red-700`])},(0,t.toDisplayString)(e.error),3)):(0,t.createCommentVNode)(``,!0),e.showGoogle?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createVNode)(Y,{loading:e.googleLoading,disabled:e.loading,onClick:r[0]||=e=>i(`google-sign-in`)},null,8,[`loading`,`disabled`]),(0,t.createElementVNode)(`div`,$t,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`h-px flex-1`,(0,t.unref)(a)?`bg-gray-700`:`bg-gray-200`])},null,2),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-xs uppercase tracking-wider`,(0,t.unref)(o).dimTextAlt])},`or`,2),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`h-px flex-1`,(0,t.unref)(a)?`bg-gray-700`:`bg-gray-200`])},null,2)])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`form`,{class:`space-y-4`,onSubmit:(0,t.withModifiers)(f,[`prevent`])},[(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`label`,{for:`login-email`,class:(0,t.normalizeClass)([`block mb-1.5 text-sm font-medium`,(0,t.unref)(o).label])},` Email `,2),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{id:`login-email`,"onUpdate:modelValue":r[1]||=e=>s.value=e,type:`email`,name:`email`,autocomplete:`email`,required:``,disabled:d.value,placeholder:`you@example.com`,class:(0,t.normalizeClass)([`w-full h-11 px-3 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60`,(0,t.unref)(o).inputWithPlaceholder])},null,10,en),[[t.vModelText,s.value]])]),(0,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`div`,tn,[(0,t.createElementVNode)(`label`,{for:`login-password`,class:(0,t.normalizeClass)([`block text-sm font-medium`,(0,t.unref)(o).label])},` Password `,2),(0,t.renderSlot)(n.$slots,`forgot`)]),(0,t.createElementVNode)(`div`,nn,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{id:`login-password`,"onUpdate:modelValue":r[2]||=e=>c.value=e,type:u.value?`text`:`password`,name:`password`,autocomplete:`current-password`,required:``,disabled:d.value,placeholder:`••••••••`,class:(0,t.normalizeClass)([`w-full h-11 pl-3 pr-16 rounded-lg border text-sm transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60`,(0,t.unref)(o).inputWithPlaceholder])},null,10,rn),[[t.vModelDynamic,c.value]]),(0,t.createElementVNode)(`button`,{type:`button`,onClick:r[3]||=e=>u.value=!u.value,"aria-label":u.value?`Hide password`:`Show password`,"aria-pressed":u.value,class:(0,t.normalizeClass)([`absolute inset-y-0 right-0 px-3 text-xs font-medium cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 rounded-r-lg`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(u.value?`Hide`:`Show`),11,an)])]),e.showRemember?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,class:(0,t.normalizeClass)([`flex items-center gap-2 text-sm cursor-pointer select-none`,(0,t.unref)(o).bodyText])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[4]||=e=>l.value=e,type:`checkbox`,disabled:d.value,class:`w-4 h-4 rounded border-gray-300 text-emerald-600 focus:ring-emerald-500`},null,8,on),[[t.vModelCheckbox,l.value]]),r[5]||=(0,t.createTextVNode)(` Remember me `,-1)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`submit`,disabled:d.value,"aria-busy":e.loading,class:`inline-flex items-center justify-center gap-2 w-full h-11 px-4 rounded-lg text-sm font-semibold text-white bg-emerald-600 hover:bg-emerald-700 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-60 disabled:cursor-not-allowed`},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,cn,[...r[6]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 0 1 8-8V0C5.4 0 0 5.4 0 12h4z`},null,-1)]])):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.submitLabel),1)],8,sn)],32),n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:(0,t.normalizeClass)([`mt-6 text-center text-sm`,(0,t.unref)(o).mutedText])},[(0,t.renderSlot)(n.$slots,`footer`)],2)):(0,t.createCommentVNode)(``,!0)],2))}}),un=[`aria-label`],dn={class:`flex-1 overflow-y-auto`},fn={key:0,class:`flex flex-col items-center justify-center text-center px-6 py-16 gap-3`},pn=[`onClick`],mn={class:`min-w-0 flex-1`},hn={class:`flex items-baseline justify-between gap-2`},gn=(0,t.defineComponent)({__name:`BaseNotificationPanel`,props:{title:{default:`Notifications`},emptyText:{default:`You have no notifications.`},showMarkAllRead:{type:Boolean,default:!0}},emits:[`select`],setup(e,{emit:r}){let i=r,{isDark:a}=C(),o=L(),{notifications:s,unreadCount:c,open:l,closePanel:u,markAllRead:d,markRead:f}=J(),p={info:`bg-sky-500`,success:`bg-emerald-500`,warning:`bg-amber-500`,error:`bg-red-500`},m=(0,t.computed)(()=>s.value.length);function h(e){f(e),i(`select`,e)}return R(()=>{l.value&&u()}),(r,i)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.createVNode)(t.Transition,{"enter-active-class":`transition-opacity duration-200`,"enter-from-class":`opacity-0`,"leave-active-class":`transition-opacity duration-200`,"leave-to-class":`opacity-0`},{default:(0,t.withCtx)(()=>[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fixed inset-0 z-[60] bg-black/50`,"aria-hidden":`true`,onClick:i[0]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e)})):(0,t.createCommentVNode)(``,!0)]),_:1}),(0,t.createVNode)(t.Transition,{"enter-active-class":`transition-transform duration-300 ease-out`,"enter-from-class":`-translate-x-full`,"leave-active-class":`transition-transform duration-300 ease-in`,"leave-to-class":`-translate-x-full`},{default:(0,t.withCtx)(()=>[(0,t.unref)(l)?((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,{key:0,role:`dialog`,"aria-modal":`true`,"aria-label":e.title,class:(0,t.normalizeClass)([`fixed top-0 left-0 z-[70] h-screen w-full max-w-sm flex flex-col border-r shadow-xl`,(0,t.unref)(a)?`bg-gray-900 border-gray-800`:`bg-white border-gray-200`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`flex items-center justify-between gap-3 px-5 py-4 border-b shrink-0`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`h2`,{class:(0,t.normalizeClass)([`text-lg font-semibold flex items-center gap-2`,(0,t.unref)(o).primaryText])},[(0,t.createTextVNode)((0,t.toDisplayString)(e.title)+` `,1),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-sm font-normal`,(0,t.unref)(o).dimTextAlt])},`— `+(0,t.toDisplayString)(m.value),3)],2),(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[1]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),"aria-label":`Close notifications`,class:(0,t.normalizeClass)([`p-1.5 rounded-lg cursor-pointer transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-emerald-500`,(0,t.unref)(a)?`text-gray-400 hover:bg-gray-800`:`text-gray-500 hover:bg-gray-100`])},[(0,t.createVNode)((0,t.unref)(n.XMarkIcon),{class:`w-5 h-5`,"aria-hidden":`true`})],2)],2),e.showMarkAllRead&&(0,t.unref)(c)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`px-5 py-2 border-b shrink-0 flex justify-end`,(0,t.unref)(o).border])},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:i[2]||=(...e)=>(0,t.unref)(d)&&(0,t.unref)(d)(...e),class:(0,t.normalizeClass)([`text-xs font-medium cursor-pointer transition-colors focus:outline-none focus-visible:underline`,(0,t.unref)(o).emeraldText])},` Mark all as read `,2)],2)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,dn,[m.value===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fn,[(0,t.createVNode)((0,t.unref)(n.BellIcon),{class:(0,t.normalizeClass)([`w-10 h-10`,(0,t.unref)(o).illustration]),"aria-hidden":`true`},null,8,[`class`]),(0,t.createElementVNode)(`p`,{class:(0,t.normalizeClass)([`text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.emptyText),3)])):((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,{key:1,class:(0,t.normalizeClass)([`divide-y`,(0,t.unref)(a)?`divide-gray-800`:`divide-gray-100`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(s),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.id},[(0,t.createElementVNode)(`button`,{type:`button`,onClick:t=>h(e.id),class:(0,t.normalizeClass)([`w-full text-left px-5 py-4 flex gap-3 transition-colors cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-emerald-500`,[e.read?``:(0,t.unref)(a)?`bg-emerald-500/5`:`bg-emerald-50/60`,(0,t.unref)(a)?`hover:bg-gray-800`:`hover:bg-gray-50`]])},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`mt-1.5 w-2 h-2 rounded-full shrink-0`,e.read?(0,t.unref)(a)?`bg-gray-700`:`bg-gray-300`:p[e.type??`info`]]),"aria-hidden":`true`},null,2),(0,t.createElementVNode)(`span`,mn,[(0,t.createElementVNode)(`span`,hn,[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-sm truncate`,[e.read?`font-medium`:`font-semibold`,(0,t.unref)(o).primaryTextSoft]])},(0,t.toDisplayString)(e.title),3),e.time?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`text-xs shrink-0`,(0,t.unref)(o).dimText])},(0,t.toDisplayString)(e.time),3)):(0,t.createCommentVNode)(``,!0)]),e.message?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`mt-0.5 block text-sm`,(0,t.unref)(o).mutedText])},(0,t.toDisplayString)(e.message),3)):(0,t.createCommentVNode)(``,!0)])],10,pn)]))),128))],2))])],10,un)):(0,t.createCommentVNode)(``,!0)]),_:1})]))}});function _n(e,n=300){let r=(0,t.ref)(e.value),i=null;return(0,t.watch)(e,e=>{i&&clearTimeout(i),i=setTimeout(()=>{r.value=e,i=null},n)}),(0,t.onScopeDispose)(()=>{i&&=(clearTimeout(i),null)}),r}function vn(e=3e3){let n=(0,t.ref)(!1),r=(0,t.ref)(``),i=(0,t.ref)(P.SUCCESS),a=null;function o(){a&&=(clearTimeout(a),null)}function s(t,s=P.SUCCESS,c=e){r.value=t,i.value=s,n.value=!0,o(),a=setTimeout(()=>{n.value=!1,a=null},c)}return(0,t.onScopeDispose)(()=>{o()}),{showToast:n,toastMessage:r,toastType:i,showToastMessage:s}}var yn=function(e){return e.WIN=`WIN`,e.LOSE=`LOSE`,e}({}),bn={GET:`bg-blue-600`,POST:`bg-emerald-600`,PUT:`bg-amber-600`,DELETE:`bg-red-600`,PATCH:`bg-purple-600`,HEAD:`bg-gray-600`},xn={GET:`bg-blue-500`,POST:`bg-green-500`,PUT:`bg-yellow-500`,DELETE:`bg-red-500`,PATCH:`bg-purple-500`,HEAD:`bg-gray-500`};function Sn(e){return e?bn[e.toUpperCase()]??`bg-gray-600`:`bg-gray-600`}function X(e){return e?xn[e.toUpperCase()]??`bg-gray-500`:`bg-gray-500`}function Cn(e){let t=e??0;return t>=200&&t<300?`bg-emerald-600`:t>=300&&t<400?`bg-blue-600`:t>=400&&t<500?`bg-amber-600`:t>=500?`bg-red-600`:`bg-gray-600`}function wn(e,t){let n=e??200;return t?n>=200&&n<300?`bg-green-500/15 text-green-400`:n>=300&&n<400?`bg-blue-500/15 text-blue-400`:n>=400&&n<500?`bg-yellow-500/15 text-yellow-400`:`bg-red-500/15 text-red-400`:n>=200&&n<300?`bg-green-100 text-green-800`:n>=300&&n<400?`bg-blue-100 text-blue-800`:n>=400&&n<500?`bg-yellow-100 text-yellow-800`:`bg-red-100 text-red-800`}var Tn=new Set([`A`,`B`,`STRONG`,`I`,`EM`,`CODE`,`PRE`,`BR`,`P`,`UL`,`OL`,`LI`,`SPAN`,`DIV`]),En=new Set([`SCRIPT`,`STYLE`,`IFRAME`,`OBJECT`,`EMBED`,`NOSCRIPT`,`TEMPLATE`]),Dn={A:new Set([`href`,`title`])};function Z(e){let t=e.trim().toLowerCase();return t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`mailto:`)||t.startsWith(`tel:`)||t.startsWith(`/`)||t.startsWith(`#`)||t===``}function Q(e){if(e.nodeType!==Node.ELEMENT_NODE)return;let t=e,n=t.tagName.toUpperCase();if(!Tn.has(n)){En.has(n)?t.remove():t.replaceWith(document.createTextNode(t.textContent??``));return}let r=Dn[n]??new Set;for(let e of Array.from(t.attributes)){if(!r.has(e.name.toLowerCase())){t.removeAttribute(e.name);continue}n===`A`&&e.name.toLowerCase()===`href`&&!Z(e.value)&&t.removeAttribute(e.name)}n===`A`&&t.hasAttribute(`href`)&&(t.setAttribute(`rel`,`noopener noreferrer`),t.setAttribute(`target`,`_blank`));for(let e of Array.from(t.childNodes))Q(e)}function On(e){if(!e)return``;let t=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`).body.firstElementChild;if(!t)return``;for(let e of Array.from(t.childNodes))Q(e);return t.innerHTML}var $=`—`;function kn(e,t=4){if(e==null||typeof e==`string`&&e.trim()===``)return $;let n=typeof e==`string`?Number(e):e;return isFinite(n)?n.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t}):$}function An(e){if(e==null||e===``)return $;let t=new Date(e);return isNaN(t.getTime())?String(e):t.toLocaleString()}function jn(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Mn(e){return new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function Nn(e){if(!isFinite(e)||e===0)return e.toFixed(2);let t=Math.abs(e),n=2;return t<1e-4?n=8:t<.01?n=6:t<1?n=4:t<100&&(n=3),e.toLocaleString(void 0,{minimumFractionDigits:n,maximumFractionDigits:n})}function Pn(e,t=2){return`${e>=0?`+`:``}${e.toFixed(t)}%`}function Fn(e){return`${e<0?`-`:`+`}$${Math.abs(e).toFixed(2)}`}function In(e){if(e.buyPrice==null||e.lastPrice==null||e.filledQty==null)return{pnlUsd:null,pnlPct:null};let t=Number(e.buyPrice),n=Number(e.lastPrice),r=Number(e.filledQty);return!isFinite(t)||!isFinite(n)||!isFinite(r)||t<=0||n<=0?{pnlUsd:null,pnlPct:null}:{pnlUsd:(n-t)*r,pnlPct:(n-t)/t*100}}e.AlertEnum=a,e.BaseActionButton=Gt,e.BaseAlert=u,e.BaseAppLayout=Ft,e.BaseBadge=f,e.BaseBadgeEnum=yn,e.BaseBreadcrumb=g,e.BaseButton=D,e.BaseButtonEnum=_,e.BaseButtonSizeEnum=v,e.BaseCollapsibleSection=Ye,e.BaseConfirmModal=$e,e.BaseCopyButton=qt,e.BaseEntityPickerModal=Mt,e.BaseGoogleSignInButton=Y,e.BaseLine=le,e.BaseLoginEnum=ue,e.BaseLoginForm=ln,e.BaseLogo=fe,e.BaseLogoEnum=k,e.BaseModal=j,e.BaseModalEnum=A,e.BaseModalShell=z,e.BaseNotFoundPage=ot,e.BaseNotificationPanel=gn,e.BasePageHeader=zt,e.BaseRow=M,e.BaseSidebar=yt,e.BaseSpinner=N,e.BaseTextInputModal=rt,e.BaseToast=ye,e.BaseToastEnum=P,e.BaseToolbarButton=Ht,e.ColoredSquares=xe,e.ColorsEnums=o,e.EarningsCard=we,e.EuroAmount=ke,e.LineEnum=O,e.Pagination=Ne,e.PositioningEnum=F,e.TrendArrow=Re,e.computePnL=In,e.fmtDate=An,e.fmtDateShort=Mn,e.fmtDateTime=jn,e.fmtNumber=kn,e.fmtPct=Pn,e.fmtPrice=Nn,e.fmtUsd=Fn,e.getBaseColor=s,e.getBaseColorOf=c,e.initTheme=ee,e.isSafeHref=Z,e.methodBadgeBright=X,e.methodBadgeSolid=Sn,e.sanitizeHtml=On,e.statusBadgeSolid=Cn,e.statusBadgeTinted=wn,e.useDebouncedRef=_n,e.useEscapeKey=R,e.useMobileSidebar=V,e.useNotifications=J,e.useSidebarCollapse=G,e.useTheme=C,e.useThemeClasses=L,e.useToast=vn});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mgv-backoffice",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "Shared Vue 3 UI component library",
5
5
  "type": "module",
6
6
  "main": "./dist/ui-lib.umd.cjs",
@@ -30,4 +30,61 @@ describe('EarningsCard', () => {
30
30
  expect(w.html()).toContain('border-emerald-300')
31
31
  expect(w.html()).not.toContain('border-orange-300')
32
32
  })
33
+
34
+ it('applies the red accent when requested explicitly', () => {
35
+ const w = mount(EarningsCard, { props: { amount: 1, accent: 'red' } })
36
+ expect(w.html()).toContain('border-red-300')
37
+ })
38
+
39
+ describe('signed (P&L) mode', () => {
40
+ // The "up-trend" arrowhead the default glyph uses; absent in the loss glyph.
41
+ const UP_GLYPH = 'points="16 7 22 7 22 13"'
42
+ const DOWN_GLYPH = 'points="16 17 22 17 22 11"'
43
+
44
+ it('renders the red loss theme and a downward glyph for a negative amount', () => {
45
+ const w = mount(EarningsCard, {
46
+ props: { amount: -5, signed: true, accent: 'emerald' },
47
+ })
48
+ const html = w.html()
49
+ expect(html).toContain('border-red-300') // loss recolour overrides emerald
50
+ expect(html).not.toContain('border-emerald-300')
51
+ expect(html).toContain(DOWN_GLYPH)
52
+ expect(html).not.toContain(UP_GLYPH)
53
+ // Existing convention is currency-then-value, so a negative reads "$-5.00".
54
+ expect(w.text()).toContain('$-5.00')
55
+ })
56
+
57
+ it('keeps the chosen accent and upward glyph for a non-negative amount', () => {
58
+ const w = mount(EarningsCard, {
59
+ props: { amount: 5, signed: true, accent: 'emerald' },
60
+ })
61
+ const html = w.html()
62
+ expect(html).toContain('border-emerald-300')
63
+ expect(html).not.toContain('border-red-300')
64
+ expect(html).toContain(UP_GLYPH)
65
+ })
66
+
67
+ it('treats exactly zero as non-negative (no loss theme)', () => {
68
+ const w = mount(EarningsCard, { props: { amount: 0, signed: true, accent: 'emerald' } })
69
+ expect(w.html()).not.toContain('border-red-300')
70
+ expect(w.html()).toContain('border-emerald-300')
71
+ })
72
+
73
+ it('does NOT apply the loss theme to a negative amount unless signed is set', () => {
74
+ // Backward compatibility: without `signed`, a negative amount is just a
75
+ // number rendered in the normal accent (no auto-red).
76
+ const w = mount(EarningsCard, { props: { amount: -5, accent: 'emerald' } })
77
+ expect(w.html()).not.toContain('border-red-300')
78
+ expect(w.html()).toContain('border-emerald-300')
79
+ })
80
+
81
+ it('coerces a stringified negative amount before the sign check', () => {
82
+ const w = mount(EarningsCard, {
83
+ // The API can hand back numbers as JSON strings.
84
+ props: { amount: '-0.01' as unknown as number, signed: true, accent: 'emerald' },
85
+ })
86
+ expect(w.html()).toContain('border-red-300')
87
+ expect(w.text()).toContain('$-0.01')
88
+ })
89
+ })
33
90
  })
@@ -3,13 +3,14 @@ import { computed } from 'vue'
3
3
 
4
4
  /**
5
5
  * Accent colour of the card. Defaults to `orange` so existing consumers are
6
- * unaffected; `emerald` lets a host app tint the card to a green-themed brand.
7
- * Each accent carries the full literal Tailwind class strings (rather than a
8
- * single interpolated hue) so the classes are statically detectable and the
9
- * two themes can differ in more than hue e.g. orange renders the amount in
10
- * neutral grey while emerald renders it in the accent itself.
6
+ * unaffected; `emerald` lets a host app tint the card to a green-themed brand,
7
+ * and `red` renders a loss/negative theme (also selected automatically by
8
+ * `signed`, see below). Each accent carries the full literal Tailwind class
9
+ * strings (rather than a single interpolated hue) so the classes are statically
10
+ * detectable and the themes can differ in more than hue — e.g. orange renders
11
+ * the amount in neutral grey while emerald/red render it in the accent itself.
11
12
  */
12
- type Accent = 'orange' | 'emerald'
13
+ type Accent = 'orange' | 'emerald' | 'red'
13
14
 
14
15
  interface Props {
15
16
  title?: string
@@ -19,6 +20,15 @@ interface Props {
19
20
  currency?: string
20
21
  decimals?: number
21
22
  accent?: Accent
23
+ /**
24
+ * Treat the card as a signed P&L figure. When `true` and the amount is
25
+ * negative, the card renders the loss theme automatically: the `red` accent
26
+ * (border / amount / subtitle / icon-box recoloured) AND the trend glyph
27
+ * flipped to point DOWN. A non-negative amount keeps the chosen `accent` and
28
+ * the upward glyph. Defaults to `false` so existing consumers — which use the
29
+ * card for always-positive totals like lifetime earnings — are unaffected.
30
+ */
31
+ signed?: boolean
22
32
  }
23
33
 
24
34
  const props = withDefaults(defineProps<Props>(), {
@@ -29,6 +39,7 @@ const props = withDefaults(defineProps<Props>(), {
29
39
  currency: '$',
30
40
  decimals: 2,
31
41
  accent: 'orange',
42
+ signed: false,
32
43
  })
33
44
 
34
45
  const ACCENTS: Record<Accent, {
@@ -55,22 +66,40 @@ const ACCENTS: Record<Accent, {
55
66
  iconBox: 'bg-emerald-50 dark:bg-emerald-900/30',
56
67
  icon: 'text-emerald-500',
57
68
  },
69
+ red: {
70
+ border: 'border-red-300 dark:border-red-700',
71
+ badge: 'bg-red-100 text-red-600 dark:bg-red-900/40 dark:text-red-400',
72
+ amount: 'text-red-500 dark:text-red-400',
73
+ subtitle: 'text-red-500 dark:text-red-400',
74
+ iconBox: 'bg-red-50 dark:bg-red-900/30',
75
+ icon: 'text-red-500',
76
+ },
58
77
  }
59
78
 
60
- const cls = computed(() => ACCENTS[props.accent])
79
+ // Coerce once: the amount can arrive as a JSON string (e.g. "-0.01"); fall back
80
+ // to 0 for non-finite input (NaN/Infinity) so the card never renders "NaN".
81
+ const numericAmount = computed(() => {
82
+ const n = Number(props.amount)
83
+ return Number.isFinite(n) ? n : 0
84
+ })
85
+
86
+ // A loss only when the card is in signed mode and the value is below zero.
87
+ const isLoss = computed(() => props.signed && numericAmount.value < 0)
61
88
 
62
- const formattedAmount = computed(() => {
63
- // Guard against NaN/Infinity reaching toLocaleString (which would render the
64
- // literal "NaN"); fall back to a zeroed amount so the card stays readable.
65
- const amount = Number.isFinite(props.amount) ? props.amount : 0
66
- return (
89
+ // In signed mode a negative amount forces the red loss theme; otherwise the
90
+ // caller-chosen accent stands.
91
+ const effectiveAccent = computed<Accent>(() => (isLoss.value ? 'red' : props.accent))
92
+
93
+ const cls = computed(() => ACCENTS[effectiveAccent.value])
94
+
95
+ const formattedAmount = computed(
96
+ () =>
67
97
  props.currency +
68
- amount.toLocaleString('en-US', {
98
+ numericAmount.value.toLocaleString('en-US', {
69
99
  minimumFractionDigits: props.decimals,
70
100
  maximumFractionDigits: props.decimals,
71
- })
72
- )
73
- })
101
+ }),
102
+ )
74
103
  </script>
75
104
 
76
105
  <template>
@@ -121,8 +150,16 @@ const formattedAmount = computed(() => {
121
150
  stroke-linecap="round"
122
151
  stroke-linejoin="round"
123
152
  >
124
- <polyline points="22 7 13.5 15.5 8.5 10.5 2 17" />
125
- <polyline points="16 7 22 7 22 13" />
153
+ <!-- Loss: a downward trend line + down-right arrowhead (the upward
154
+ glyph mirrored vertically). Otherwise the standard up-trend. -->
155
+ <template v-if="isLoss">
156
+ <polyline points="22 17 13.5 8.5 8.5 13.5 2 7" />
157
+ <polyline points="16 17 22 17 22 11" />
158
+ </template>
159
+ <template v-else>
160
+ <polyline points="22 7 13.5 15.5 8.5 10.5 2 17" />
161
+ <polyline points="16 7 22 7 22 13" />
162
+ </template>
126
163
  </svg>
127
164
  </div>
128
165
  </div>