diff --git a/Readme.md b/Readme.md index c76d66c..04003b7 100644 --- a/Readme.md +++ b/Readme.md @@ -48,7 +48,7 @@ You can use SigPro UI in two ways: **Modular** (Recommended) or **Global** (Fast Import only the components you need: ```javascript -import { $, $mount, Button, Modal, Input, Alert } from "sigpro-ui"; +import { $, Mount, Button, Modal, Input, Alert } from "sigpro-ui"; import "sigpro-ui/css"; const App = () => { @@ -63,7 +63,7 @@ const App = () => { ); }; -$mount(App, "#app"); +Mount(App, "#app"); ``` ### 2. Global Approach (Zero-Import) @@ -85,7 +85,7 @@ const myApp = () => Table({ items: [], columns: [] }); ## Basic Example ```javascript -import { $, $mount, Button, Toast, Div, H1 } from "sigpro-ui"; +import { $, Mount, Button, Toast, Div, H1 } from "sigpro-ui"; import "sigpro-ui/css"; const App = () => { @@ -104,7 +104,7 @@ const App = () => { ]); }; -$mount(App, "#app"); +Mount(App, "#app"); ``` --- @@ -113,12 +113,12 @@ $mount(App, "#app"); ### Core Functions (from SigPro) - `$()` - Reactive signals -- `$watch()` - Watch reactive dependencies -- `$html()` - Create HTML elements with reactivity -- `$if()` - Conditional rendering -- `$for()` - List rendering -- `$router()` - Hash-based routing -- `$mount()` - Mount components to DOM +- `Watch()` - Watch reactive dependencies +- `Tag()` - Create HTML elements with reactivity +- `If()` - Conditional rendering +- `For()` - List rendering +- `Router()` - Hash-based routing +- `Mount()` - Mount components to DOM Explore [SigPro Core Docs](https://natxocc.github.io/sigpro/#/) for more information. diff --git a/css/sigpro.css b/css/sigpro.css index 2e5e9fa..c98c2b0 100644 --- a/css/sigpro.css +++ b/css/sigpro.css @@ -6969,6 +6969,49 @@ } } } +.input, .select, .textarea { + transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + &:focus, &:focus-within { + outline: 2px solid transparent !important; + outline-offset: 2px !important; + } + &:hover:not(:focus) { + background-color: oklch(from var(--color-base-100) calc(l - 0.03) c h); + } + &:focus { + --focus-color: var(--color-primary); + &[class*="-secondary"] { + --focus-color: var(--color-secondary); + } + &[class*="-accent"] { + --focus-color: var(--color-accent); + } + &[class*="-neutral"] { + --focus-color: var(--color-neutral); + } + &[class*="-ghost"] { + --focus-color: var(--color-base-content); + } + &[class*="-info"] { + --focus-color: var(--color-info); + } + &[class*="-success"] { + --focus-color: var(--color-success); + } + &[class*="-warning"] { + --focus-color: var(--color-warning); + } + &[class*="-error"] { + --focus-color: var(--color-error); + } + background-color: oklch(from var(--focus-color) l c h / 0.05); + border-color: var(--focus-color); + box-shadow: 0 0 0 4px oklch(from var(--focus-color) l c h / 0.25); + &[class*="-ghost"] { + border-width: 1px; + } + } +} @layer base { :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] { color-scheme: light; @@ -7215,6 +7258,107 @@ background-position-x: -115%; } } +@layer base { + :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme="light"] { + color-scheme: light; + --color-base-100: oklch(100% 0 0); + --color-base-200: oklch(98% 0 0); + --color-base-300: oklch(92% 0 0); + --color-base-content: oklch(25% 0.006 285); + --color-primary: oklch(25% 0.006 285); + --color-primary-content: oklch(98% 0 0); + --color-secondary: oklch(55% 0.046 257.417); + --color-secondary-content: oklch(98% 0 0); + --color-accent: oklch(96% 0 0); + --color-accent-content: oklch(25% 0.006 285); + --color-neutral: oklch(14% 0.005 285.823); + --color-neutral-content: oklch(92% 0.004 286.32); + --color-info: oklch(74% 0.16 232); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(62% 0.17 163); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(82% 0.18 84); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(60% 0.25 27); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.4rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} +@layer base { + @media (prefers-color-scheme: dark) { + :root:not([data-theme]) { + color-scheme: dark; + --color-base-100: oklch(15% 0.005 285.823); + --color-base-200: oklch(20% 0.005 285.823); + --color-base-300: oklch(30% 0.005 285.823); + --color-base-content: oklch(92% 0.004 286.32); + --color-primary: oklch(98% 0 0); + --color-primary-content: oklch(15% 0 0); + --color-secondary: oklch(65% 0.046 257.417); + --color-secondary-content: oklch(15% 0.005 285.823); + --color-accent: oklch(25% 0 0); + --color-accent-content: oklch(98% 0 0); + --color-neutral: oklch(92% 0.004 286.32); + --color-neutral-content: oklch(14% 0.005 285.823); + --color-info: oklch(70% 0.1 230); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(65% 0.15 160); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(85% 0.15 90); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(55% 0.2 27); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.4rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } + } +} +@layer base { + :root:has(input.theme-controller[value=dark]:checked),[data-theme="dark"] { + color-scheme: dark; + --color-base-100: oklch(15% 0.005 285.823); + --color-base-200: oklch(20% 0.005 285.823); + --color-base-300: oklch(30% 0.005 285.823); + --color-base-content: oklch(92% 0.004 286.32); + --color-primary: oklch(98% 0 0); + --color-primary-content: oklch(15% 0 0); + --color-secondary: oklch(65% 0.046 257.417); + --color-secondary-content: oklch(15% 0.005 285.823); + --color-accent: oklch(25% 0 0); + --color-accent-content: oklch(98% 0 0); + --color-neutral: oklch(92% 0.004 286.32); + --color-neutral-content: oklch(14% 0.005 285.823); + --color-info: oklch(70% 0.1 230); + --color-info-content: oklch(29% 0.066 243.157); + --color-success: oklch(65% 0.15 160); + --color-success-content: oklch(37% 0.077 168.94); + --color-warning: oklch(85% 0.15 90); + --color-warning-content: oklch(41% 0.112 45.904); + --color-error: oklch(55% 0.2 27); + --color-error-content: oklch(27% 0.105 12.094); + --radius-selector: 0.5rem; + --radius-field: 0.4rem; + --radius-box: 0.5rem; + --size-selector: 0.25rem; + --size-field: 0.25rem; + --border: 1px; + --depth: 1; + --noise: 0; + } +} @property --tw-translate-x { syntax: "*"; inherits: false; diff --git a/css/sigpro.min.css b/css/sigpro.min.css index 7455b10..5c855ab 100644 --- a/css/sigpro.min.css +++ b/css/sigpro.min.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@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-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-3xl:64px;--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;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}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fab-flower{--position:0rem;display:grid}.fab-flower>:nth-child(-n+2){--position:0rem}.fab-flower>*{--degree:180deg;--flip-degree:calc(180deg - var(--degree));transform:translateX(calc(cos(var(--degree)) * var(--position))) translateY(calc(sin(var(--degree)) * -1 * var(--position)));grid-area:1/1}[dir=rtl] :is(.fab-flower>*){transform:translateX(calc(cos(var(--flip-degree)) * var(--position))) translateY(calc(sin(var(--flip-degree)) * -1 * var(--position)))}.fab-flower>:nth-child(n+7){display:none}.fab-flower:has(:nth-child(3)){--position:140%}.fab-flower:has(:nth-child(3))>:nth-child(3){--degree:135deg}.fab-flower:has(:nth-child(4)){--position:140%}.fab-flower:has(:nth-child(4))>:nth-child(3){--degree:165deg}.fab-flower:has(:nth-child(4))>:nth-child(4){--degree:105deg}.fab-flower:has(:nth-child(5)){--position:180%}.fab-flower:has(:nth-child(5))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(5))>:nth-child(4){--degree:135deg}.fab-flower:has(:nth-child(5))>:nth-child(5){--degree:90deg}.fab-flower:has(:nth-child(6)){--position:220%}.fab-flower:has(:nth-child(6))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(6))>:nth-child(4){--degree:150deg}.fab-flower:has(:nth-child(6))>:nth-child(5){--degree:120deg}.fab-flower:has(:nth-child(6))>:nth-child(6){--degree:90deg}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px color-mix(in oklab, color-mix(in oklab, #000 20%, var(--alert-color,var(--color-base-200))) calc(var(--depth) * 20%), #0000), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.collapse-plus>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.collapse-plus>.collapse-title:after{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{--tw-content:"+";content:var(--tw-content);pointer-events:none;top:.9rem;inset-inline-end:1.4rem}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.loading-md{width:calc(var(--size-selector,.25rem) * 6)}.loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-ball{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E")}.loading-bars{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E")}.loading-dots{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}.loading-infinity{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E")}.loading-ring{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.mask-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.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:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-90{z-index:90}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);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-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * 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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100,.bg-base-100\/30{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/30{background-color:color-mix(in oklab, var(--color-base-100) 30%, transparent)}}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.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-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-20{--tw-leading:calc(var(--spacing) * 20);line-height:calc(var(--spacing) * 20)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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:"";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:"";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:"";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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@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-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-3xl:64px;--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;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}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fab-flower{--position:0rem;display:grid}.fab-flower>:nth-child(-n+2){--position:0rem}.fab-flower>*{--degree:180deg;--flip-degree:calc(180deg - var(--degree));transform:translateX(calc(cos(var(--degree)) * var(--position))) translateY(calc(sin(var(--degree)) * -1 * var(--position)));grid-area:1/1}[dir=rtl] :is(.fab-flower>*){transform:translateX(calc(cos(var(--flip-degree)) * var(--position))) translateY(calc(sin(var(--flip-degree)) * -1 * var(--position)))}.fab-flower>:nth-child(n+7){display:none}.fab-flower:has(:nth-child(3)){--position:140%}.fab-flower:has(:nth-child(3))>:nth-child(3){--degree:135deg}.fab-flower:has(:nth-child(4)){--position:140%}.fab-flower:has(:nth-child(4))>:nth-child(3){--degree:165deg}.fab-flower:has(:nth-child(4))>:nth-child(4){--degree:105deg}.fab-flower:has(:nth-child(5)){--position:180%}.fab-flower:has(:nth-child(5))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(5))>:nth-child(4){--degree:135deg}.fab-flower:has(:nth-child(5))>:nth-child(5){--degree:90deg}.fab-flower:has(:nth-child(6)){--position:220%}.fab-flower:has(:nth-child(6))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(6))>:nth-child(4){--degree:150deg}.fab-flower:has(:nth-child(6))>:nth-child(5){--degree:120deg}.fab-flower:has(:nth-child(6))>:nth-child(6){--degree:90deg}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px color-mix(in oklab, color-mix(in oklab, #000 20%, var(--alert-color,var(--color-base-200))) calc(var(--depth) * 20%), #0000), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.collapse-plus>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.collapse-plus>.collapse-title:after{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{--tw-content:"+";content:var(--tw-content);pointer-events:none;top:.9rem;inset-inline-end:1.4rem}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.loading-md{width:calc(var(--size-selector,.25rem) * 6)}.loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-ball{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E")}.loading-bars{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E")}.loading-dots{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}.loading-infinity{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E")}.loading-ring{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.mask-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.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:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-90{z-index:90}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);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-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * 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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100,.bg-base-100\/30{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/30{background-color:color-mix(in oklab, var(--color-base-100) 30%, transparent)}}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.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-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-20{--tw-leading:calc(var(--spacing) * 20);line-height:calc(var(--spacing) * 20)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}.input,.select,.textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}:is(.input,.select,.textarea):focus,:is(.input,.select,.textarea):focus-within{outline-offset:2px!important;outline:2px solid #0000!important}:is(.input,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}:is(.input,.select,.textarea):focus{--focus-color:var(--color-primary)}:is(.input,.select,.textarea):focus[class*=-secondary]{--focus-color:var(--color-secondary)}:is(.input,.select,.textarea):focus[class*=-accent]{--focus-color:var(--color-accent)}:is(.input,.select,.textarea):focus[class*=-neutral]{--focus-color:var(--color-neutral)}:is(.input,.select,.textarea):focus[class*=-ghost]{--focus-color:var(--color-base-content)}:is(.input,.select,.textarea):focus[class*=-info]{--focus-color:var(--color-info)}:is(.input,.select,.textarea):focus[class*=-success]{--focus-color:var(--color-success)}:is(.input,.select,.textarea):focus[class*=-warning]{--focus-color:var(--color-warning)}:is(.input,.select,.textarea):focus[class*=-error]{--focus-color:var(--color-error)}:is(.input,.select,.textarea):focus{background-color:oklch(from var(--focus-color) l c h / .05);border-color:var(--focus-color);box-shadow:0 0 0 4px oklch(from var(--focus-color) l c h / .25)}:is(.input,.select,.textarea):focus[class*=-ghost]{border-width:1px}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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:"";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:"";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:"";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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/dist/sigpro-ui.esm.js b/dist/sigpro-ui.esm.js index 2493eba..cf3b056 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -15,426 +15,424 @@ var currentOwner = null; var effectQueue = new Set; var isFlushing = false; var MOUNTED_NODES = new WeakMap; -var flush = () => { +var doc = document; +var isArr = Array.isArray; +var assign = Object.assign; +var createEl = (t) => doc.createElement(t); +var createText = (t) => doc.createTextNode(String(t ?? "")); +var isFunc = (f) => typeof f === "function"; +var isObj = (o) => typeof o === "object" && o !== null; +var runWithContext = (effect, callback) => { + const previousEffect = activeEffect; + activeEffect = effect; + try { + return callback(); + } finally { + activeEffect = previousEffect; + } +}; +var cleanupNode = (node) => { + if (node._cleanups) { + node._cleanups.forEach((dispose) => dispose()); + node._cleanups.clear(); + } + node.childNodes?.forEach(cleanupNode); +}; +var flushEffects = () => { if (isFlushing) return; isFlushing = true; while (effectQueue.size > 0) { - const sorted = Array.from(effectQueue).sort((a, b) => (a.depth || 0) - (b.depth || 0)); + const sortedEffects = Array.from(effectQueue).sort((a, b) => (a.depth || 0) - (b.depth || 0)); effectQueue.clear(); - for (const eff of sorted) - if (!eff._deleted) - eff(); + for (const effect of sortedEffects) { + if (!effect._deleted) + effect(); + } } isFlushing = false; }; -var track = (subs) => { +var trackSubscription = (subscribers) => { if (activeEffect && !activeEffect._deleted) { - subs.add(activeEffect); - activeEffect._deps.add(subs); + subscribers.add(activeEffect); + activeEffect._deps.add(subscribers); } }; -var trigger = (subs) => { - for (const eff of subs) { - if (eff === activeEffect || eff._deleted) - continue; - if (eff._isComputed) { - eff.markDirty(); - if (eff._subs) - trigger(eff._subs); +var triggerUpdate = (subscribers) => { + subscribers.forEach((effect) => { + if (effect === activeEffect || effect._deleted) + return; + if (effect._isComputed) { + effect.markDirty(); + if (effect._subs) + triggerUpdate(effect._subs); } else { - effectQueue.add(eff); + effectQueue.add(effect); } - } + }); if (!isFlushing) - queueMicrotask(flush); + queueMicrotask(flushEffects); }; -var sweep = (node) => { - if (node._cleanups) { - node._cleanups.forEach((f) => f()); - node._cleanups.clear(); - } - node.childNodes?.forEach(sweep); -}; -var _view = (fn) => { +var Render = (renderFn) => { const cleanups = new Set; - const prev = currentOwner; - const container = document.createElement("div"); + const previousOwner = currentOwner; + const container = createEl("div"); container.style.display = "contents"; currentOwner = { cleanups }; + const processResult = (result) => { + if (!result) + return; + if (result._isRuntime) { + cleanups.add(result.destroy); + container.appendChild(result.container); + } else if (isArr(result)) { + result.forEach(processResult); + } else { + container.appendChild(result instanceof Node ? result : createText(result)); + } + }; try { - const res = fn({ onCleanup: (f) => cleanups.add(f) }); - const process = (n) => { - if (!n) - return; - if (n._isRuntime) { - cleanups.add(n.destroy); - container.appendChild(n.container); - } else if (Array.isArray(n)) - n.forEach(process); - else - container.appendChild(n instanceof Node ? n : document.createTextNode(String(n))); - }; - process(res); + processResult(renderFn({ onCleanup: (fn) => cleanups.add(fn) })); } finally { - currentOwner = prev; + currentOwner = previousOwner; } return { _isRuntime: true, container, destroy: () => { - cleanups.forEach((f) => f()); - sweep(container); + cleanups.forEach((fn) => fn()); + cleanupNode(container); container.remove(); } }; }; -var $ = (initial, key = null) => { - if (typeof initial === "function") { - const subs2 = new Set; - let cached, dirty = true; +var $ = (initialValue, storageKey = null) => { + const subscribers = new Set; + if (isFunc(initialValue)) { + let cachedValue, isDirty = true; const effect = () => { if (effect._deleted) return; - effect._deps.forEach((s) => s.delete(effect)); + effect._deps.forEach((dep) => dep.delete(effect)); effect._deps.clear(); - const prev = activeEffect; - activeEffect = effect; - try { - const val = initial(); - if (!Object.is(cached, val) || dirty) { - cached = val; - dirty = false; - trigger(subs2); + runWithContext(effect, () => { + const newValue = initialValue(); + if (!Object.is(cachedValue, newValue) || isDirty) { + cachedValue = newValue; + isDirty = false; + triggerUpdate(subscribers); } - } finally { - activeEffect = prev; + }); + }; + assign(effect, { + _deps: new Set, + _isComputed: true, + _subs: subscribers, + _deleted: false, + markDirty: () => isDirty = true, + stop: () => { + effect._deleted = true; + effect._deps.forEach((dep) => dep.delete(effect)); + subscribers.clear(); } - }; - effect._deps = new Set; - effect._isComputed = true; - effect._subs = subs2; - effect._deleted = false; - effect.markDirty = () => dirty = true; - effect.stop = () => { - effect._deleted = true; - effect._deps.forEach((s) => s.delete(effect)); - subs2.clear(); - }; + }); if (currentOwner) currentOwner.cleanups.add(effect.stop); return () => { - if (dirty) + if (isDirty) effect(); - track(subs2); - return cached; + trackSubscription(subscribers); + return cachedValue; }; } - let value = initial; - if (key) { + let value = initialValue; + if (storageKey) { try { - const saved = localStorage.getItem(key); + const saved = localStorage.getItem(storageKey); if (saved !== null) value = JSON.parse(saved); } catch (e) { - console.warn("SigPro: LocalStorage locked", e); + console.warn("SigPro Storage Lock", e); } } - const subs = new Set; return (...args) => { if (args.length) { - const next = typeof args[0] === "function" ? args[0](value) : args[0]; - if (!Object.is(value, next)) { - value = next; - if (key) - localStorage.setItem(key, JSON.stringify(value)); - trigger(subs); + const nextValue = isFunc(args[0]) ? args[0](value) : args[0]; + if (!Object.is(value, nextValue)) { + value = nextValue; + if (storageKey) + localStorage.setItem(storageKey, JSON.stringify(value)); + triggerUpdate(subscribers); } } - track(subs); + trackSubscription(subscribers); return value; }; }; -var $watch2 = (target, fn) => { - const isExplicit = Array.isArray(target); - const callback = isExplicit ? fn : target; - const depsInput = isExplicit ? target : null; - if (typeof callback !== "function") +var $$ = (object, cache = new WeakMap) => { + if (!isObj(object)) + return object; + if (cache.has(object)) + return cache.get(object); + const keySubscribers = {}; + const proxy = new Proxy(object, { + get(target, key) { + if (activeEffect) + trackSubscription(keySubscribers[key] ??= new Set); + const value = Reflect.get(target, key); + return isObj(value) ? $$(value, cache) : value; + }, + set(target, key, value) { + if (Object.is(target[key], value)) + return true; + const success = Reflect.set(target, key, value); + if (keySubscribers[key]) + triggerUpdate(keySubscribers[key]); + return success; + } + }); + cache.set(object, proxy); + return proxy; +}; +var Watch2 = (target, callbackFn) => { + const isExplicit = isArr(target); + const callback = isExplicit ? callbackFn : target; + if (!isFunc(callback)) return () => {}; const owner = currentOwner; const runner = () => { if (runner._deleted) return; - runner._deps.forEach((s) => s.delete(runner)); + runner._deps.forEach((dep) => dep.delete(runner)); runner._deps.clear(); - runner._cleanups.forEach((c) => c()); + runner._cleanups.forEach((cleanup) => cleanup()); runner._cleanups.clear(); - const prevEffect = activeEffect; - const prevOwner = currentOwner; - activeEffect = runner; - currentOwner = { cleanups: runner._cleanups }; - runner.depth = prevEffect ? prevEffect.depth + 1 : 0; - try { + const previousOwner = currentOwner; + runner.depth = activeEffect ? activeEffect.depth + 1 : 0; + runWithContext(runner, () => { + currentOwner = { cleanups: runner._cleanups }; if (isExplicit) { - activeEffect = null; - callback(); - activeEffect = runner; - depsInput.forEach((d) => typeof d === "function" && d()); + runWithContext(null, callback); + target.forEach((dep) => isFunc(dep) && dep()); } else { callback(); } - } finally { - activeEffect = prevEffect; - currentOwner = prevOwner; + currentOwner = previousOwner; + }); + }; + assign(runner, { + _deps: new Set, + _cleanups: new Set, + _deleted: false, + stop: () => { + if (runner._deleted) + return; + runner._deleted = true; + effectQueue.delete(runner); + runner._deps.forEach((dep) => dep.delete(runner)); + runner._cleanups.forEach((cleanup) => cleanup()); + if (owner) + owner.cleanups.delete(runner.stop); } - }; - runner._deps = new Set; - runner._cleanups = new Set; - runner._deleted = false; - runner.stop = () => { - if (runner._deleted) - return; - runner._deleted = true; - effectQueue.delete(runner); - runner._deps.forEach((s) => s.delete(runner)); - runner._cleanups.forEach((c) => c()); - if (owner) - owner.cleanups.delete(runner.stop); - }; + }); if (owner) owner.cleanups.add(runner.stop); runner(); return runner.stop; }; -var $html2 = (tag, props = {}, content = []) => { - if (props instanceof Node || Array.isArray(props) || typeof props !== "object") { - content = props; +var Tag2 = (tag, props = {}, children = []) => { + if (props instanceof Node || isArr(props) || !isObj(props)) { + children = props; props = {}; } - const svgTags = ["svg", "path", "circle", "rect", "line", "polyline", "polygon", "g", "defs", "text", "tspan", "use"]; - const isSVG = svgTags.includes(tag); - const el = isSVG ? document.createElementNS("http://www.w3.org/2000/svg", tag) : document.createElement(tag); - const _sanitize = (key, val) => (key === "src" || key === "href") && String(val).toLowerCase().includes("javascript:") ? "#" : val; - el._cleanups = new Set; - const boolAttrs = ["disabled", "checked", "required", "readonly", "selected", "multiple", "autofocus"]; - for (let [key, val] of Object.entries(props)) { + const isSVG = /^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(tag); + const element = isSVG ? doc.createElementNS("http://www.w3.org/2000/svg", tag) : createEl(tag); + element._cleanups = new Set; + element.onUnmount = (fn) => element._cleanups.add(fn); + const booleanAttributes = ["disabled", "checked", "required", "readonly", "selected", "multiple", "autofocus"]; + const updateAttribute = (name, value) => { + const sanitized = (name === "src" || name === "href") && String(value).toLowerCase().includes("javascript:") ? "#" : value; + if (booleanAttributes.includes(name)) { + element[name] = !!sanitized; + sanitized ? element.setAttribute(name, "") : element.removeAttribute(name); + } else { + sanitized == null ? element.removeAttribute(name) : element.setAttribute(name, sanitized); + } + }; + for (let [key, value] of Object.entries(props)) { if (key === "ref") { - typeof val === "function" ? val(el) : val.current = el; + isFunc(value) ? value(element) : value.current = element; continue; } - const isSignal = typeof val === "function", isInput = ["INPUT", "TEXTAREA", "SELECT"].includes(el.tagName), isBindAttr = key === "value" || key === "checked"; - if (isInput && isBindAttr && isSignal) { - el._cleanups.add($watch2(() => { - const currentVal = val(); - if (el[key] !== currentVal) - el[key] = currentVal; - })); - const eventName = key === "checked" ? "change" : "input", handler = (event) => val(event.target[key]); - el.addEventListener(eventName, handler); - el._cleanups.add(() => el.removeEventListener(eventName, handler)); - } else if (key.startsWith("on")) { - const eventName = key.slice(2).toLowerCase().split(".")[0], handler = (event) => val(event); - el.addEventListener(eventName, handler); - el._cleanups.add(() => el.removeEventListener(eventName, handler)); + const isSignal = isFunc(value); + if (key.startsWith("on")) { + const eventName = key.slice(2).toLowerCase().split(".")[0]; + element.addEventListener(eventName, value); + element._cleanups.add(() => element.removeEventListener(eventName, value)); } else if (isSignal) { - el._cleanups.add($watch2(() => { - const currentVal = _sanitize(key, val()); - if (key === "class") { - el.className = currentVal || ""; - } else if (boolAttrs.includes(key)) { - if (currentVal) { - el.setAttribute(key, ""); - el[key] = true; - } else { - el.removeAttribute(key); - el[key] = false; - } - } else { - if (currentVal == null) { - el.removeAttribute(key); - } else if (isSVG && typeof currentVal === "number") { - el.setAttribute(key, currentVal); - } else { - el.setAttribute(key, currentVal); - } - } + element._cleanups.add(Watch2(() => { + const currentVal = value(); + key === "class" ? element.className = currentVal || "" : updateAttribute(key, currentVal); })); - } else { - if (boolAttrs.includes(key)) { - if (val) { - el.setAttribute(key, ""); - el[key] = true; - } else { - el.removeAttribute(key); - el[key] = false; - } - } else { - el.setAttribute(key, _sanitize(key, val)); + if (["INPUT", "TEXTAREA", "SELECT"].includes(element.tagName) && (key === "value" || key === "checked")) { + const event = key === "checked" ? "change" : "input"; + const handler = (e) => value(e.target[key]); + element.addEventListener(event, handler); + element._cleanups.add(() => element.removeEventListener(event, handler)); } + } else { + updateAttribute(key, value); } } - const append = (child) => { - if (Array.isArray(child)) - return child.forEach(append); - if (child instanceof Node) { - el.appendChild(child); - } else if (typeof child === "function") { - const marker = document.createTextNode(""); - el.appendChild(marker); - let nodes = []; - el._cleanups.add($watch2(() => { - const res = child(), next = (Array.isArray(res) ? res : [res]).map((i) => i?._isRuntime ? i.container : i instanceof Node ? i : document.createTextNode(i ?? "")); - nodes.forEach((n) => { - sweep?.(n); - n.remove(); + const appendChildNode = (child) => { + if (isArr(child)) + return child.forEach(appendChildNode); + if (isFunc(child)) { + const marker = createText(""); + element.appendChild(marker); + let currentNodes = []; + element._cleanups.add(Watch2(() => { + const result = child(); + const nextNodes = (isArr(result) ? result : [result]).map((node) => node?._isRuntime ? node.container : node instanceof Node ? node : createText(node)); + currentNodes.forEach((node) => { + cleanupNode(node); + node.remove(); }); - next.forEach((n) => marker.parentNode?.insertBefore(n, marker)); - nodes = next; + nextNodes.forEach((node) => marker.parentNode?.insertBefore(node, marker)); + currentNodes = nextNodes; })); - } else - el.appendChild(document.createTextNode(child ?? "")); - }; - append(content); - return el; -}; -var $if = (condition, thenVal, otherwiseVal = null, transition = null) => { - const marker = document.createTextNode(""); - const container = $html2("div", { style: "display:contents" }, [marker]); - let current = null, last = null; - $watch2(() => { - const state = !!(typeof condition === "function" ? condition() : condition); - if (state === last) - return; - last = state; - if (current && !state && transition?.out) { - transition.out(current.container, () => { - current.destroy(); - current = null; - }); } else { - if (current) - current.destroy(); - current = null; + element.appendChild(child instanceof Node ? child : createText(child)); } - if (state || !state && otherwiseVal) { - const branch = state ? thenVal : otherwiseVal; - if (branch) { - current = _view(() => typeof branch === "function" ? branch() : branch); - container.insertBefore(current.container, marker); - if (state && transition?.in) - transition.in(current.container); - } + }; + appendChildNode(children); + return element; +}; +var If = (condition, thenVal, otherwiseVal = null, transition = null) => { + const marker = createText(""); + const container = Tag2("div", { style: "display:contents" }, [marker]); + let currentView = null, lastState = null; + Watch2(() => { + const state = !!(isFunc(condition) ? condition() : condition); + if (state === lastState) + return; + lastState = state; + const dispose = () => { + if (currentView) + currentView.destroy(); + currentView = null; + }; + if (currentView && !state && transition?.out) { + transition.out(currentView.container, dispose); + } else { + dispose(); + } + const branch = state ? thenVal : otherwiseVal; + if (branch) { + currentView = Render(() => isFunc(branch) ? branch() : branch); + container.insertBefore(currentView.container, marker); + if (state && transition?.in) + transition.in(currentView.container); } }); return container; }; -$if.not = (condition, thenVal, otherwiseVal) => $if(() => !(typeof condition === "function" ? condition() : condition), thenVal, otherwiseVal); -var $for = (source, render, keyFn, tag = "div", props = { style: "display:contents" }) => { - const marker = document.createTextNode(""); - const container = $html2(tag, props, [marker]); - let cache = new Map; - $watch2(() => { - const items = (typeof source === "function" ? source() : source) || []; - const newCache = new Map; - const newOrder = []; +var For = (source, renderFn, keyFn, tag = "div", props = { style: "display:contents" }) => { + const marker = createText(""); + const container = Tag2(tag, props, [marker]); + let viewCache = new Map; + Watch2(() => { + const items = (isFunc(source) ? source() : source) || []; + const nextCache = new Map; + const order = []; for (let i = 0;i < items.length; i++) { const item = items[i]; const key = keyFn ? keyFn(item, i) : i; - let run = cache.get(key); - if (!run) { - run = _view(() => render(item, i)); - } else { - cache.delete(key); - } - newCache.set(key, run); - newOrder.push(key); + let view = viewCache.get(key) || Render(() => renderFn(item, i)); + viewCache.delete(key); + nextCache.set(key, view); + order.push(key); } - cache.forEach((run) => { - run.destroy(); - run.container.remove(); + viewCache.forEach((view) => { + view.destroy(); + view.container.remove(); }); let anchor = marker; - for (let i = newOrder.length - 1;i >= 0; i--) { - const run = newCache.get(newOrder[i]); - if (run.container.nextSibling !== anchor) { - container.insertBefore(run.container, anchor); + for (let i = order.length - 1;i >= 0; i--) { + const view = nextCache.get(order[i]); + if (view.container.nextSibling !== anchor) { + container.insertBefore(view.container, anchor); } - anchor = run.container; + anchor = view.container; } - cache = newCache; + viewCache = nextCache; }); return container; }; -var $router = (routes) => { - const sPath = $(window.location.hash.replace(/^#/, "") || "/"); - window.addEventListener("hashchange", () => sPath(window.location.hash.replace(/^#/, "") || "/")); - const outlet = $html2("div", { class: "router-outlet" }); - let current = null; - $watch2([sPath], async () => { - const path = sPath(); +var Router = (routes) => { + const currentPath = $(window.location.hash.replace(/^#/, "") || "/"); + window.addEventListener("hashchange", () => currentPath(window.location.hash.replace(/^#/, "") || "/")); + const outlet = Tag2("div", { class: "router-outlet" }); + let currentView = null; + Watch2([currentPath], async () => { + const path = currentPath(); const route = routes.find((r) => { - const rp = r.path.split("/").filter(Boolean), pp = path.split("/").filter(Boolean); - return rp.length === pp.length && rp.every((p, i) => p.startsWith(":") || p === pp[i]); + const routeParts = r.path.split("/").filter(Boolean); + const pathParts = path.split("/").filter(Boolean); + return routeParts.length === pathParts.length && routeParts.every((part, i) => part.startsWith(":") || part === pathParts[i]); }) || routes.find((r) => r.path === "*"); if (route) { - let comp = route.component; - if (typeof comp === "function" && comp.toString().includes("import")) { - comp = (await comp()).default || await comp(); + let component = route.component; + if (isFunc(component) && component.toString().includes("import")) { + component = (await component()).default || await component(); } const params = {}; - route.path.split("/").filter(Boolean).forEach((p, i) => { - if (p.startsWith(":")) - params[p.slice(1)] = path.split("/").filter(Boolean)[i]; + route.path.split("/").filter(Boolean).forEach((part, i) => { + if (part.startsWith(":")) + params[part.slice(1)] = path.split("/").filter(Boolean)[i]; }); - if (current) - current.destroy(); - if ($router.params) - $router.params(params); - current = _view(() => { + if (currentView) + currentView.destroy(); + if (Router.params) + Router.params(params); + currentView = Render(() => { try { - return typeof comp === "function" ? comp(params) : comp; + return isFunc(component) ? component(params) : component; } catch (e) { - return $html2("div", { class: "p-4 text-error" }, "Error loading view"); + return Tag2("div", { class: "p-4 text-error" }, "Error loading view"); } }); - outlet.appendChild(current.container); + outlet.appendChild(currentView.container); } }); return outlet; }; -$router.params = $({}); -$router.to = (path) => window.location.hash = path.replace(/^#?\/?/, "#/"); -$router.back = () => window.history.back(); -$router.path = () => window.location.hash.replace(/^#/, "") || "/"; -var $mount = (component, target) => { - const el = typeof target === "string" ? document.querySelector(target) : target; - if (!el) +Router.params = $({}); +Router.to = (path) => window.location.hash = path.replace(/^#?\/?/, "#/"); +Router.back = () => window.history.back(); +Router.path = () => window.location.hash.replace(/^#/, "") || "/"; +var Mount = (component, target) => { + const targetEl = typeof target === "string" ? doc.querySelector(target) : target; + if (!targetEl) return; - if (MOUNTED_NODES.has(el)) - MOUNTED_NODES.get(el).destroy(); - const instance = _view(typeof component === "function" ? component : () => component); - el.replaceChildren(instance.container); - MOUNTED_NODES.set(el, instance); + if (MOUNTED_NODES.has(targetEl)) + MOUNTED_NODES.get(targetEl).destroy(); + const instance = Render(isFunc(component) ? component : () => component); + targetEl.replaceChildren(instance.container); + MOUNTED_NODES.set(targetEl, instance); return instance; }; var Fragment = ({ children }) => children; -var SigProCore = { $, $watch: $watch2, $html: $html2, $if, $for, $router, $mount, Fragment }; +var SigPro = { $, $$, Render, Watch: Watch2, Tag: Tag2, If, For, Router, Mount, Fragment }; if (typeof window !== "undefined") { - const install = (registry) => { - Object.keys(registry).forEach((key) => { - window[key] = registry[key]; - }); - const tags = `div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter`.split(/\s+/); - tags.forEach((tagName) => { - const helperName = tagName.charAt(0).toUpperCase() + tagName.slice(1); - if (!(helperName in window)) { - window[helperName] = (props, content) => $html2(tagName, props, content); - } - }); - window.Fragment = Fragment; - window.SigPro = Object.freeze(registry); - }; - install(SigProCore); + assign(window, SigPro); + const tags = `div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter`.split(" "); + tags.forEach((tag) => { + const helper = tag[0].toUpperCase() + tag.slice(1); + if (!(helper in window)) + window[helper] = (p, c) => Tag2(tag, p, c); + }); + window.SigPro = Object.freeze(SigPro); } // src/components/index.js @@ -494,10 +492,10 @@ var getIcon = (icon) => { if (!icon) return null; if (typeof icon === "function") { - return $html2("span", { class: "mr-1" }, icon()); + return Tag2("span", { class: "mr-1" }, icon()); } if (typeof icon === "object") { - return $html2("span", { class: "mr-1" }, icon); + return Tag2("span", { class: "mr-1" }, icon); } if (typeof icon === "string") { const parts = icon.trim().split(/\s+/); @@ -505,9 +503,9 @@ var getIcon = (icon) => { const iconClass = hasRight ? parts.slice(0, -1).join(" ") : icon; const spacing = hasRight ? "ml-1" : "mr-1"; if (iconClass && !iconClass.startsWith("icon-[") && !iconClass.includes("--")) { - return $html2("span", { class: spacing }, iconClass); + return Tag2("span", { class: spacing }, iconClass); } - return $html2("span", { class: `${iconClass} ${spacing}`.trim() }); + return Tag2("span", { class: `${iconClass} ${spacing}`.trim() }); } return null; }; @@ -515,17 +513,17 @@ var getIcon = (icon) => { // src/components/Accordion.js var Accordion = (props, children) => { const { class: className, title, name, open, ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: ui("collapse collapse-arrow bg-base-200 mb-2", className) }, [ - $html2("input", { + Tag2("input", { type: name ? "radio" : "checkbox", name, checked: val(open) }), - $html2("div", { class: "collapse-title text-xl font-medium" }, title), - $html2("div", { class: "collapse-content" }, children) + Tag2("div", { class: "collapse-title text-xl font-medium" }, title), + Tag2("div", { class: "collapse-content" }, children) ]); }; @@ -546,16 +544,16 @@ var Alert = (props, children) => { const softClass = soft ? "alert-soft" : ""; const allClasses = [typeClass, softClass, className].filter(Boolean).join(" "); const content = children || props.message; - return $html2("div", { + return Tag2("div", { ...rest, role: "alert", class: ui("alert", allClasses) }, () => [ getIcon(iconMap[type]), - $html2("div", { class: "flex-1" }, [ - $html2("span", {}, [typeof content === "function" ? content() : content]) + Tag2("div", { class: "flex-1" }, [ + Tag2("span", {}, [typeof content === "function" ? content() : content]) ]), - actions ? $html2("div", { class: "flex-none" }, [ + actions ? Tag2("div", { class: "flex-none" }, [ typeof actions === "function" ? actions() : actions ]) : null ].filter(Boolean)); @@ -650,7 +648,7 @@ var Input = (props) => { classes += " input-error"; return classes.trim(); }; - const inputElement = $html2("input", { + const inputElement = Tag2("input", { ...rest, type: () => isPassword ? visible() ? "text" : "password" : type, placeholder: placeholder || " ", @@ -660,12 +658,12 @@ var Input = (props) => { disabled: () => val(disabled), "aria-invalid": () => hasError() ? "true" : "false" }); - return $html2("div", { class: "relative w-full" }, () => [ + return Tag2("div", { class: "relative w-full" }, () => [ inputElement, - leftIcon ? $html2("div", { + leftIcon ? Tag2("div", { class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60" }, leftIcon) : null, - isPassword ? $html2("button", { + isPassword ? Tag2("button", { type: "button", class: ui("absolute right-3 inset-y-0 flex items-center", "btn btn-ghost btn-circle opacity-50 hover:opacity-100", buttonSize()), onclick: (e) => { @@ -673,7 +671,7 @@ var Input = (props) => { visible(!visible()); } }, () => getPasswordIcon()) : null, - $html2("div", { + Tag2("div", { class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0" }, () => hasError() ? errorMsg() : null) ]); @@ -716,7 +714,7 @@ var Autocomplete = (props) => { isOpen(false); } }; - return $html2("div", { class: "relative w-full" }, [ + return Tag2("div", { class: "relative w-full" }, [ Input({ label, class: className, @@ -735,18 +733,18 @@ var Autocomplete = (props) => { }, ...rest }), - $html2("ul", { + Tag2("ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => isOpen() && list().length ? "display:block" : "display:none" }, [ - $for(list, (opt, i) => $html2("li", {}, [ - $html2("a", { + For(list, (opt, i) => Tag2("li", {}, [ + Tag2("a", { class: () => `block w-full ${cursor() === i ? "active bg-primary text-primary-content" : ""}`, onclick: () => pick(opt), onmouseenter: () => cursor(i) }, typeof opt === "string" ? opt : opt.label) ]), (opt, i) => (typeof opt === "string" ? opt : opt.value) + i), - () => list().length ? null : $html2("li", { class: "p-2 text-center opacity-50" }, tt("nodata")()) + () => list().length ? null : Tag2("li", { class: "p-2 text-center opacity-50" }, tt("nodata")()) ]) ]); }; @@ -758,7 +756,7 @@ __export(exports_Badge, { }); var Badge = (props, children) => { const { class: className, ...rest } = props; - return $html2("span", { + return Tag2("span", { ...rest, class: ui("badge", className) }, children); @@ -772,12 +770,12 @@ __export(exports_Button, { var Button = (props, children) => { const { class: className, loading, icon, ...rest } = props; const iconEl = getIcon(icon); - return $html2("button", { + return Tag2("button", { ...rest, class: ui("btn", className), disabled: () => val(loading) || val(props.disabled) }, () => [ - val(loading) && $html2("span", { class: "loading loading-spinner" }), + val(loading) && Tag2("span", { class: "loading loading-spinner" }), iconEl, children ].filter(Boolean)); @@ -790,17 +788,17 @@ __export(exports_Checkbox, { }); var Checkbox = (props) => { const { class: className, value, tooltip, toggle, label, ...rest } = props; - const checkEl = $html2("input", { + const checkEl = Tag2("input", { ...rest, type: "checkbox", class: () => ui(val(toggle) ? "toggle" : "checkbox", className), checked: value }); - const layout = $html2("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag2("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, - label ? $html2("span", { class: "label-text" }, label) : null + label ? Tag2("span", { class: "label-text" }, label) : null ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Colorpicker.js @@ -822,8 +820,8 @@ var Colorpicker = (props) => { ...["#2e1065", "#4c1d95", "#6d28d9", "#7c3aed", "#8b5cf6", "#a855f7", "#d946ef", "#fae8ff"] ]; const getColor = () => val(value) || "#000000"; - return $html2("div", { class: ui("relative w-fit", className) }, [ - $html2("button", { + return Tag2("div", { class: ui("relative w-fit", className) }, [ + Tag2("button", { type: "button", class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", onclick: (e) => { @@ -832,17 +830,17 @@ var Colorpicker = (props) => { }, ...rest }, [ - $html2("div", { + Tag2("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}` }), - label ? $html2("span", { class: "opacity-80" }, label) : null + label ? Tag2("span", { class: "opacity-80" }, label) : null ]), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation() }, [ - $html2("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => $html2("button", { + Tag2("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => Tag2("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -857,7 +855,7 @@ var Colorpicker = (props) => { } }))) ])), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false) })) @@ -945,9 +943,9 @@ var Datepicker = (props) => { internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1)); }; const HourSlider = ({ value: hVal, onChange }) => { - return $html2("div", { class: "flex-1" }, [ - $html2("div", { class: "flex gap-2 items-center" }, [ - $html2("input", { + return Tag2("div", { class: "flex-1" }, [ + Tag2("div", { class: "flex gap-2 items-center" }, [ + Tag2("input", { type: "range", min: 0, max: 23, @@ -958,11 +956,11 @@ var Datepicker = (props) => { onChange(newHour); } }), - $html2("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") + Tag2("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") ]) ]); }; - return $html2("div", { class: ui("relative w-full", className) }, [ + return Tag2("div", { class: ui("relative w-full", className) }, [ Input({ label, placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."), @@ -975,25 +973,25 @@ var Datepicker = (props) => { }, ...rest }), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none", onclick: (e) => e.stopPropagation() }, [ - $html2("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - $html2("div", { class: "flex gap-0.5" }, [ - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, getIcon("icon-[lucide--chevrons-left]")), - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, getIcon("icon-[lucide--chevron-left]")) + Tag2("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + Tag2("div", { class: "flex gap-0.5" }, [ + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, getIcon("icon-[lucide--chevrons-left]")), + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, getIcon("icon-[lucide--chevron-left]")) ]), - $html2("span", { class: "font-bold uppercase flex-1 text-center" }, [ + Tag2("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }) ]), - $html2("div", { class: "flex gap-0.5" }, [ - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, getIcon("icon-[lucide--chevron-right]")), - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, getIcon("icon-[lucide--chevrons-right]")) + Tag2("div", { class: "flex gap-0.5" }, [ + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, getIcon("icon-[lucide--chevron-right]")), + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, getIcon("icon-[lucide--chevrons-right]")) ]) ]), - $html2("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => $html2("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + Tag2("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => Tag2("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -1003,11 +1001,11 @@ var Datepicker = (props) => { const daysInMonth = new Date(year, month + 1, 0).getDate(); const nodes = []; for (let i = 0;i < offset; i++) - nodes.push($html2("div")); + nodes.push(Tag2("div")); for (let i = 1;i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); - nodes.push($html2("button", { + nodes.push(Tag2("button", { type: "button", class: () => { const v = val(value); @@ -1038,8 +1036,8 @@ var Datepicker = (props) => { return nodes; } ]), - hour ? $html2("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ - isRangeMode() ? $html2("div", { class: "flex gap-4" }, [ + hour ? Tag2("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + isRangeMode() ? Tag2("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (newHour) => { @@ -1070,7 +1068,7 @@ var Datepicker = (props) => { }) ]) : null ])), - $if(isOpen, () => $html2("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) + If(isOpen, () => Tag2("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) ]); }; @@ -1082,11 +1080,11 @@ __export(exports_Drawer, { var Drawer = (props, children) => { const { class: className, id, open, side, content, ...rest } = props; const drawerId = id || `drawer-${Math.random().toString(36).slice(2, 9)}`; - return $html2("div", { + return Tag2("div", { ...rest, class: ui("drawer", className) }, [ - $html2("input", { + Tag2("input", { id: drawerId, type: "checkbox", class: "drawer-toggle", @@ -1096,11 +1094,11 @@ var Drawer = (props, children) => { open(e.target.checked); } }), - $html2("div", { class: "drawer-content" }, [ + Tag2("div", { class: "drawer-content" }, [ typeof content === "function" ? content() : content ]), - $html2("div", { class: "drawer-side" }, [ - $html2("label", { + Tag2("div", { class: "drawer-side" }, [ + Tag2("label", { for: drawerId, class: "drawer-overlay", onclick: () => { @@ -1108,7 +1106,7 @@ var Drawer = (props, children) => { open(false); } }), - $html2("div", { class: "min-h-full bg-base-200 w-80" }, [ + Tag2("div", { class: "min-h-full bg-base-200 w-80" }, [ typeof side === "function" ? side() : side ]) ]) @@ -1132,11 +1130,11 @@ if (typeof window !== "undefined" && !window.__dropdownHandlerRegistered) { } var Dropdown = (props) => { const { class: className, label, icon, items, ...rest } = props; - return $html("details", { + return Tag("details", { ...rest, class: ui("dropdown", className) }, [ - $html("summary", { + Tag("summary", { class: "btn m-1 flex items-center gap-2 list-none cursor-pointer", style: "display: inline-flex;", onclick: (e) => { @@ -1152,14 +1150,14 @@ var Dropdown = (props) => { () => icon ? typeof icon === "function" ? icon() : icon : null, () => label ? typeof label === "function" ? label() : label : null ]), - $html("ul", { + Tag("ul", { tabindex: "-1", class: "dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300" }, [ () => { const currentItems = typeof items === "function" ? items() : items || []; - return currentItems.map((item) => $html("li", {}, [ - $html("a", { + return currentItems.map((item) => Tag("li", {}, [ + Tag("a", { class: item.class || "", onclick: (e) => { if (item.onclick) @@ -1172,8 +1170,8 @@ var Dropdown = (props) => { } } }, [ - item.icon ? $html("span", {}, item.icon) : null, - $html("span", {}, item.label) + item.icon ? Tag("span", {}, item.icon) : null, + Tag("span", {}, item.label) ]) ])); } @@ -1188,11 +1186,11 @@ __export(exports_Fab, { }); var Fab = (props) => { const { class: className, icon, label, actions = [], position = "bottom-6 right-6", ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: ui(`fab absolute ${position} flex flex-col-reverse items-end gap-3 z-[100]`, className) }, [ - $html2("div", { + Tag2("div", { tabindex: 0, role: "button", class: "btn btn-lg btn-circle btn-primary shadow-2xl" @@ -1200,9 +1198,9 @@ var Fab = (props) => { icon ? getIcon(icon) : null, !icon && label ? label : null ]), - ...val(actions).map((act) => $html2("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ - act.label ? $html2("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, - $html2("button", { + ...val(actions).map((act) => Tag2("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ + act.label ? Tag2("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, + Tag2("button", { type: "button", class: `btn btn-circle shadow-lg ${act.class || ""}`, onclick: (e) => { @@ -1221,13 +1219,13 @@ __export(exports_Fieldset, { }); var Fieldset = (props, children) => { const { class: className, legend, ...rest } = props; - return $html2("fieldset", { + return Tag2("fieldset", { ...rest, class: ui("fieldset bg-base-200 border border-base-300 p-4 rounded-lg", className) }, [ () => { const legendText = val(legend); - return legendText ? $html2("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; + return legendText ? Tag2("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; }, children ]); @@ -1260,12 +1258,12 @@ var Fileinput = (props) => { selectedFiles(updated); onSelect?.(updated); }; - return $html2("fieldset", { ...rest, class: ui("fieldset w-full p-0", className) }, [ - $html2("div", { + return Tag2("fieldset", { ...rest, class: ui("fieldset w-full p-0", className) }, [ + Tag2("div", { class: () => `w-full ${tooltip ? "tooltip tooltip-top before:z-50 after:z-50" : ""}`, "data-tip": tooltip }, [ - $html2("label", { + Tag2("label", { class: () => ` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer @@ -1283,12 +1281,12 @@ var Fileinput = (props) => { handleFiles(e.dataTransfer.files); } }, [ - $html2("div", { class: "flex items-center gap-3 w-full" }, [ + Tag2("div", { class: "flex items-center gap-3 w-full" }, [ getIcon("icon-[lucide--upload]"), - $html2("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - $html2("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`) + Tag2("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + Tag2("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`) ]), - $html2("input", { + Tag2("input", { type: "file", multiple: true, accept, @@ -1297,15 +1295,15 @@ var Fileinput = (props) => { }) ]) ]), - () => error() ? $html2("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null, - $if(() => selectedFiles().length > 0, () => $html2("ul", { class: "mt-2 space-y-1" }, [ - $for(selectedFiles, (file, index) => $html2("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - $html2("div", { class: "flex items-center gap-2 truncate" }, [ - $html2("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - $html2("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - $html2("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() ? Tag2("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null, + If(() => selectedFiles().length > 0, () => Tag2("ul", { class: "mt-2 space-y-1" }, [ + For(selectedFiles, (file, index) => Tag2("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + Tag2("div", { class: "flex items-center gap-2 truncate" }, [ + Tag2("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + Tag2("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + Tag2("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - $html2("button", { + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { @@ -1326,11 +1324,11 @@ __export(exports_Indicator, { }); var Indicator = (props, children) => { const { value, class: className, ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: "indicator" }, () => [ - value ? $html2("span", { + value ? Tag2("span", { class: ui("indicator-item badge", className) }, () => typeof value === "function" ? value() : value) : null, children @@ -1345,16 +1343,16 @@ __export(exports_Label, { var Label = (props) => { const { children, value, floating = false, error, required, class: className, ...rest } = props; if (floating) { - return $html2("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? $html2("span", {}, value) : null, + return Tag2("label", { class: ui("floating-label w-full", className), ...rest }, () => [ + value ? Tag2("span", {}, value) : null, children, - error ? $html2("span", { class: "text-error text-xs" }, val(error)) : null + error ? Tag2("span", { class: "text-error text-xs" }, val(error)) : null ]); } - return $html2("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? $html2("span", { class: "label" }, value) : null, + return Tag2("label", { class: ui("input w-full", className), ...rest }, () => [ + value ? Tag2("span", { class: "label" }, value) : null, children, - error ? $html2("span", { class: "text-error text-xs" }, val(error)) : null + error ? Tag2("span", { class: "text-error text-xs" }, val(error)) : null ]); }; @@ -1365,11 +1363,11 @@ __export(exports_List, { }); var List = (props) => { const { class: className, items, header, render, keyFn = (item, index) => item.id ?? index, ...rest } = props; - const listItems = $for(items, (item, index) => $html2("li", { class: "list-row" }, [render(item, index)]), keyFn); - return $html2("ul", { + const listItems = For(items, (item, index) => Tag2("li", { class: "list-row" }, [render(item, index)]), keyFn); + return Tag2("ul", { ...rest, class: ui("list bg-base-100 rounded-box shadow-md", className) - }, header ? [$if(header, () => $html2("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); + }, header ? [If(header, () => Tag2("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); }; // src/components/Menu.js @@ -1379,16 +1377,16 @@ __export(exports_Menu, { }); var Menu = (props) => { const { class: className, items, ...rest } = props; - const renderItems = (items2) => $for(() => items2 || [], (it) => $html2("li", {}, [ - it.children ? $html2("details", { open: it.open }, [ - $html2("summary", {}, [it.icon && $html2("span", { class: "mr-2" }, it.icon), it.label]), - $html2("ul", {}, renderItems(it.children)) - ]) : $html2("a", { class: () => val(it.active) ? "active" : "", onclick: it.onclick }, [ - it.icon && $html2("span", { class: "mr-2" }, it.icon), + const renderItems = (items2) => For(() => items2 || [], (it) => Tag2("li", {}, [ + it.children ? Tag2("details", { open: it.open }, [ + Tag2("summary", {}, [it.icon && Tag2("span", { class: "mr-2" }, it.icon), it.label]), + Tag2("ul", {}, renderItems(it.children)) + ]) : Tag2("a", { class: () => val(it.active) ? "active" : "", onclick: it.onclick }, [ + it.icon && Tag2("span", { class: "mr-2" }, it.icon), it.label ]) ]), (it, i) => it.label || i); - return $html2("ul", { ...rest, class: ui("menu bg-base-200 rounded-box", className) }, renderItems(items)); + return Tag2("ul", { ...rest, class: ui("menu bg-base-200 rounded-box", className) }, renderItems(items)); }; // src/components/Modal.js @@ -1411,12 +1409,12 @@ var Modal = (props, children) => { dialogElement.close(); } }; - $watch2(() => handleOpen()); + Watch2(() => handleOpen()); const close = () => { if (typeof open === "function") open(false); }; - return $html2("dialog", { + return Tag2("dialog", { ...rest, ref: (el) => { dialogElement = el; @@ -1427,20 +1425,20 @@ var Modal = (props, children) => { onclose: close, oncancel: close }, [ - $html2("div", { class: "modal-box" }, [ - title ? $html2("h3", { class: "text-lg font-bold mb-4" }, () => typeof title === "function" ? title() : title) : null, - $html2("div", { class: "py-2" }, [ + Tag2("div", { class: "modal-box" }, [ + title ? Tag2("h3", { class: "text-lg font-bold mb-4" }, () => typeof title === "function" ? title() : title) : null, + Tag2("div", { class: "py-2" }, [ typeof children === "function" ? children() : children ]), - $html2("div", { class: "modal-action" }, [ - $html2("form", { method: "dialog", class: "flex gap-2" }, [ + Tag2("div", { class: "modal-action" }, [ + Tag2("form", { method: "dialog", class: "flex gap-2" }, [ ...(Array.isArray(buttons) ? buttons : [buttons]).filter(Boolean), Button({ type: "submit" }, tt("close")()) ]) ]) ]), - $html2("form", { method: "dialog", class: "modal-backdrop" }, [ - $html2("button", {}, "close") + Tag2("form", { method: "dialog", class: "modal-backdrop" }, [ + Tag2("button", {}, "close") ]) ]); }; @@ -1452,7 +1450,7 @@ __export(exports_Navbar, { }); var Navbar = (props, children) => { const { class: className, ...rest } = props; - return $html2("div", { ...rest, class: ui("navbar bg-base-100 shadow-sm px-4", className) }, children); + return Tag2("div", { ...rest, class: ui("navbar bg-base-100 shadow-sm px-4", className) }, children); }; // src/components/Radio.js @@ -1462,7 +1460,7 @@ __export(exports_Radio, { }); var Radio = (props) => { const { class: className, label, tooltip, value, inputValue, name, ...rest } = props; - const radioEl = $html2("input", { + const radioEl = Tag2("input", { ...rest, type: "radio", name, @@ -1475,11 +1473,11 @@ var Radio = (props) => { }); if (!label && !tooltip) return radioEl; - const layout = $html2("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag2("label", { class: "label cursor-pointer justify-start gap-3" }, [ radioEl, - label ? $html2("span", { class: "label-text" }, label) : null + label ? Tag2("span", { class: "label-text" }, label) : null ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Range.js @@ -1489,7 +1487,7 @@ __export(exports_Range, { }); var Range = (props) => { const { class: className, label, tooltip, value, ...rest } = props; - const rangeEl = $html2("input", { + const rangeEl = Tag2("input", { ...rest, type: "range", class: ui("range", className), @@ -1498,11 +1496,11 @@ var Range = (props) => { }); if (!label && !tooltip) return rangeEl; - const layout = $html2("div", { class: "flex flex-col gap-2" }, [ - label ? $html2("span", { class: "label-text" }, label) : null, + const layout = Tag2("div", { class: "flex flex-col gap-2" }, [ + label ? Tag2("span", { class: "label-text" }, label) : null, rangeEl ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Rating.js @@ -1513,12 +1511,12 @@ __export(exports_Rating, { var Rating = (props) => { const { class: className, value, count = 5, mask = "mask-star", readonly = false, onchange, ...rest } = props; const ratingGroup = `rating-${Math.random().toString(36).slice(2, 7)}`; - return $html2("div", { + return Tag2("div", { ...rest, class: () => ui(`rating ${val(readonly) ? "pointer-events-none" : ""}`, className) }, Array.from({ length: val(count) }, (_, i) => { const starValue = i + 1; - return $html2("input", { + return Tag2("input", { type: "radio", name: ratingGroup, class: `mask ${mask}`, @@ -1543,18 +1541,18 @@ __export(exports_Select, { }); var Select = (props) => { const { class: className, label, items, value, ...rest } = props; - const selectEl = $html2("select", { + const selectEl = Tag2("select", { ...rest, class: ui("select select-bordered w-full", className), value - }, $for(() => val(items) || [], (opt) => $html2("option", { + }, For(() => val(items) || [], (opt) => Tag2("option", { value: opt.value, $selected: () => String(val(value)) === String(opt.value) }, opt.label), (opt) => opt.value)); if (!label) return selectEl; - return $html2("label", { class: "fieldset-label flex flex-col gap-1" }, [ - $html2("span", {}, label), + return Tag2("label", { class: "fieldset-label flex flex-col gap-1" }, [ + Tag2("span", {}, label), selectEl ]); }; @@ -1566,7 +1564,7 @@ __export(exports_Stack, { }); var Stack = (props, children) => { const { class: className, ...rest } = props; - return $html2("div", { ...rest, class: ui("stack", className) }, children); + return Tag2("div", { ...rest, class: ui("stack", className) }, children); }; // src/components/Stat.js @@ -1576,11 +1574,11 @@ __export(exports_Stat, { }); var Stat = (props) => { const { class: className, icon, label, value, desc, ...rest } = props; - return $html2("div", { ...rest, class: ui("stat", className) }, [ - icon && $html2("div", { class: "stat-figure text-secondary" }, icon), - label && $html2("div", { class: "stat-title" }, label), - $html2("div", { class: "stat-value" }, () => val(value) ?? value), - desc && $html2("div", { class: "stat-desc" }, desc) + return Tag2("div", { ...rest, class: ui("stat", className) }, [ + icon && Tag2("div", { class: "stat-figure text-secondary" }, icon), + label && Tag2("div", { class: "stat-title" }, label), + Tag2("div", { class: "stat-value" }, () => val(value) ?? value), + desc && Tag2("div", { class: "stat-desc" }, desc) ]); }; @@ -1591,8 +1589,8 @@ __export(exports_Swap, { }); var Swap = (props) => { const { class: className, value, on, off, ...rest } = props; - return $html2("label", { ...rest, class: ui("swap", className) }, [ - $html2("input", { + return Tag2("label", { ...rest, class: ui("swap", className) }, [ + Tag2("input", { type: "checkbox", checked: () => val(value), onclick: (e) => { @@ -1601,8 +1599,8 @@ var Swap = (props) => { } } }), - $html2("div", { class: "swap-on" }, on), - $html2("div", { class: "swap-off" }, off) + Tag2("div", { class: "swap-on" }, on), + Tag2("div", { class: "swap-off" }, off) ]); }; @@ -1619,30 +1617,30 @@ var Table = (props) => { return ui("table", className, zebraClass, pinRowsClass); }; const getInternalKeyFn = keyFn || ((item, idx) => item.id || idx); - return $html2("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ - $html2("table", { ...rest, class: tableClass }, [ - $html2("thead", {}, [ - $html2("tr", {}, columns.map((col) => $html2("th", { class: col.class || "" }, col.label))) + return Tag2("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ + Tag2("table", { ...rest, class: tableClass }, [ + Tag2("thead", {}, [ + Tag2("tr", {}, columns.map((col) => Tag2("th", { class: col.class || "" }, col.label))) ]), - $html2("tbody", {}, [ - $for(items, (item, index) => { + Tag2("tbody", {}, [ + For(items, (item, index) => { const it = () => { const currentItems = val(items); const key = getInternalKeyFn(item, index); return currentItems.find((u, i) => getInternalKeyFn(u, i) === key) || item; }; - return $html2("tr", { class: "hover" }, columns.map((col) => { + return Tag2("tr", { class: "hover" }, columns.map((col) => { const cellContent = () => { const latestItem = it(); if (col.render) return col.render(latestItem, index); return val(latestItem[col.key]); }; - return $html2("td", { class: col.class || "" }, [cellContent]); + return Tag2("td", { class: col.class || "" }, [cellContent]); })); }, getInternalKeyFn), - $if(() => val(items).length === 0, () => $html2("tr", {}, [ - $html2("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ + If(() => val(items).length === 0, () => Tag2("tr", {}, [ + Tag2("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ val(empty) ]) ])) @@ -1660,20 +1658,20 @@ var Tabs = (props) => { const { items, class: className, ...rest } = props; const itemsSignal = typeof items === "function" ? items : () => items || []; const activeIndex = $(0); - $watch(() => { + Watch(() => { const idx = itemsSignal().findIndex((it) => val(it.active) === true); if (idx !== -1 && idx !== activeIndex()) activeIndex(idx); }); - return $html2("div", { ...rest, class: "w-full" }, [ - $html2("div", { + return Tag2("div", { ...rest, class: "w-full" }, [ + Tag2("div", { role: "tablist", class: ui("tabs", className || "tabs-box") }, () => { const list = itemsSignal(); return list.map((it, idx) => { const isSelected = () => activeIndex() === idx; - const tab = $html2("button", { + const tab = Tag2("button", { role: "tab", class: () => ui("tab", isSelected() ? "tab-active" : ""), onclick: (e) => { @@ -1685,7 +1683,7 @@ var Tabs = (props) => { } } }); - $watch(() => { + Watch(() => { const content = val(it.label); if (content instanceof Node) { tab.replaceChildren(content); @@ -1696,10 +1694,10 @@ var Tabs = (props) => { return tab; }); }), - $html2("div", { class: "tab-panels" }, () => { + Tag2("div", { class: "tab-panels" }, () => { return itemsSignal().map((it, idx) => { const isVisible = () => activeIndex() === idx; - return $html2("div", { + return Tag2("div", { role: "tabpanel", class: "tab-content bg-base-100 border-base-300 p-6", style: () => isVisible() ? "display: block" : "display: none" @@ -1724,7 +1722,7 @@ var Timeline = (props) => { warning: "icon-[lucide--alert-triangle]", error: "icon-[lucide--alert-circle]" }; - return $html2("ul", { + return Tag2("ul", { ...rest, class: () => ui(`timeline ${val(vertical) ? "timeline-vertical" : "timeline-horizontal"} ${val(compact) ? "timeline-compact" : ""}`, className) }, () => { @@ -1736,14 +1734,14 @@ var Timeline = (props) => { const isCompleted = () => val(item.completed); const prevCompleted = () => i > 0 && val(list[i - 1].completed); const renderSlot = (content) => typeof content === "function" ? content() : content; - return $html2("li", { class: "flex-1" }, [ - !isFirst ? $html2("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, - $html2("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), - $html2("div", { class: "timeline-middle" }, [ + return Tag2("li", { class: "flex-1" }, [ + !isFirst ? Tag2("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, + Tag2("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), + Tag2("div", { class: "timeline-middle" }, [ () => item.icon ? getIcon(item.icon) : getIcon(iconMap[itemType] || iconMap.success) ]), - $html2("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), - !isLast ? $html2("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null + Tag2("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), + !isLast ? Tag2("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null ]); }); }); @@ -1757,13 +1755,13 @@ __export(exports_Toast, { var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = $html2("div", { + container = Tag2("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none" }); document.body.appendChild(container); } - const toastHost = $html2("div", { style: "display: contents" }); + const toastHost = Tag2("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; const close = () => { @@ -1784,10 +1782,10 @@ var Toast = (message, type = "alert-success", duration = 3500) => { }; const ToastComponent = () => { const closeIcon = getIcon("icon-[lucide--x]"); - const el = $html2("div", { + const el = Tag2("div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto` }, [ - $html2("span", {}, [typeof message === "function" ? message() : message]), + Tag2("span", {}, [typeof message === "function" ? message() : message]), Button({ class: "btn-xs btn-circle btn-ghost", onclick: close @@ -1796,7 +1794,7 @@ var Toast = (message, type = "alert-success", duration = 3500) => { requestAnimationFrame(() => el.classList.remove("translate-x-10", "opacity-0")); return el; }; - const instance = $mount(ToastComponent, toastHost); + const instance = Mount(ToastComponent, toastHost); if (duration > 0) { timeoutId = setTimeout(close, duration); } @@ -1808,7 +1806,7 @@ var exports_Tooltip = {}; __export(exports_Tooltip, { Tooltip: () => Tooltip }); -var Tooltip = (props, children) => $html2("div", { +var Tooltip = (props, children) => Tag2("div", { ...props, class: () => ui("tooltip", props.class), "data-tip": props.tip diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index 7e625c7..d66da80 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1,7 +1,7 @@ -var z_=Object.defineProperty;var z=(M,C)=>{for(var A in C)z_(M,A,{get:C[A],enumerable:!0,configurable:!0,set:(E)=>C[A]=()=>E})};var O=null,v=null,m=new Set,n=!1,_f=new WeakMap,D_=()=>{if(n)return;n=!0;while(m.size>0){let M=Array.from(m).sort((C,A)=>(C.depth||0)-(A.depth||0));m.clear();for(let C of M)if(!C._deleted)C()}n=!1},hf=(M)=>{if(O&&!O._deleted)M.add(O),O._deps.add(M)},Af=(M)=>{for(let C of M){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Af(C._subs)}else m.add(C)}if(!n)queueMicrotask(D_)},Mf=(M)=>{if(M._cleanups)M._cleanups.forEach((C)=>C()),M._cleanups.clear();M.childNodes?.forEach(Mf)},o=(M)=>{let C=new Set,A=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=M({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=A}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Mf(E),E.remove()}}},w=(M,C=null)=>{if(typeof M==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=M();if(!Object.is(T,P)||_)T=P,_=!1,Af(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return hf(W),T}}let A=M;if(C)try{let W=localStorage.getItem(C);if(W!==null)A=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](A):W[0];if(!Object.is(A,T)){if(A=T,C)localStorage.setItem(C,JSON.stringify(A));Af(E)}}return hf(E),A}};var y=(M,C)=>{let A=Array.isArray(M),E=A?C:M,W=A?M:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(A)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(M,C={},A=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")A=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(M),T=W?document.createElementNS("http://www.w3.org/2000/svg",M):document.createElement(M),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(y(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(y(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(y(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Mf?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(A),T},U=(M,C,A=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return y(()=>{let B=!!(typeof M==="function"?M():M);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&A){let P=B?C:A;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(M,C,A)=>U(()=>!(typeof M==="function"?M():M),C,A);var V=(M,C,A,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return y(()=>{let B=(typeof M==="function"?M():M)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(M)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let A=f("div",{class:"router-outlet"}),E=null;return y([C],async()=>{let W=C(),T=M.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||M.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),A.appendChild(E.container)}}),A};g.params=w({});g.to=(M)=>window.location.hash=M.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Ef=(M,C)=>{let A=typeof C==="string"?document.querySelector(C):C;if(!A)return;if(_f.has(A))_f.get(A).destroy();let E=o(typeof M==="function"?M:()=>M);return A.replaceChildren(E.container),_f.set(A,E),E},gf=({children:M})=>M,w_={$:w,$watch:y,$html:f,$if:U,$for:V,$router:g,$mount:Ef,Fragment:gf};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=gf,window.SigPro=Object.freeze(C)})(w_);var a={};z(a,{default:()=>U_,Tooltip:()=>K_,Toast:()=>Z_,Timeline:()=>X_,Tabs:()=>G_,Table:()=>Q_,Swap:()=>J_,Stat:()=>B_,Stack:()=>P_,Select:()=>W_,Rating:()=>L_,Range:()=>T_,Radio:()=>C_,Navbar:()=>E_,Modal:()=>M_,Menu:()=>A_,List:()=>__,Label:()=>f_,Input:()=>b,Indicator:()=>tf,Fileinput:()=>lf,Fieldset:()=>ef,Fab:()=>sf,Dropdown:()=>af,Drawer:()=>of,Datepicker:()=>nf,Colorpicker:()=>rf,Checkbox:()=>pf,Button:()=>c,Badge:()=>mf,Autocomplete:()=>df,Alert:()=>cf,Accordion:()=>bf});var Cf={};z(Cf,{Accordion:()=>bf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(M)=>typeof M==="function"?M():M,X=(M,C)=>typeof C==="function"?()=>`${M} ${C()||""}`.trim():`${M} ${C||""}`.trim(),N=(M)=>{if(!M)return null;if(typeof M==="function")return f("span",{class:"mr-1"},M());if(typeof M==="object")return f("span",{class:"mr-1"},M);if(typeof M==="string"){let C=M.trim().split(/\s+/),A=C[C.length-1]==="right",E=A?C.slice(0,-1).join(" "):M,W=A?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var bf=(M,C)=>{let{class:A,title:E,name:W,open:T,..._}=M;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",A)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Tf={};z(Tf,{Alert:()=>cf});var cf=(M,C)=>{let{class:A,actions:E,type:W="info",soft:T=!0,..._}=M,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",A].filter(Boolean).join(" "),Z=C||M.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Wf={};z(Wf,{Autocomplete:()=>df});var N_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},F_=w("es");var x=(M)=>()=>N_[F_()][M]||M;var Lf={};z(Lf,{Input:()=>b});var b=(M)=>{let{class:C,value:A,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=M,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:A,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var df=(M)=>{let{class:C,items:A=[],value:E,onSelect:W,label:T,placeholder:_,...L}=M,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(A)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||x("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Pf={};z(Pf,{Badge:()=>mf});var mf=(M,C)=>{let{class:A,...E}=M;return f("span",{...E,class:X("badge",A)},C)};var Bf={};z(Bf,{Button:()=>c});var c=(M,C)=>{let{class:A,loading:E,icon:W,...T}=M,_=N(W);return f("button",{...T,class:X("btn",A),disabled:()=>Q(E)||Q(M.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Jf={};z(Jf,{Checkbox:()=>pf});var pf=(M)=>{let{class:C,value:A,tooltip:E,toggle:W,label:T,..._}=M,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:A}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Qf={};z(Qf,{Colorpicker:()=>rf});var rf=(M)=>{let{class:C,value:A,label:E,...W}=M,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(A)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof A==="function")A(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var Gf={};z(Gf,{Datepicker:()=>nf});var nf=(M)=>{let{class:C,value:A,range:E,label:W,placeholder:T,hour:_=!1,...L}=M,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(A);if(Y())if(!F?.start||F.start&&F.end){if(typeof A==="function")A({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof A==="function"){let $=R{let K=Q(A);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,q_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=q_;h++){let $f=new Date(R,F,h),H=D($f);e.push(f("button",{type:"button",class:()=>{let I=Q(A),l=G(),S_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,R_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d($f)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R?.start)A({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(A);if(R?.end)A({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(A);if(R&&typeof R==="string"&&R.includes("-"))A(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var Xf={};z(Xf,{Drawer:()=>of});var of=(M,C)=>{let{class:A,id:E,open:W,side:T,content:_,...L}=M,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",A)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Zf={};z(Zf,{Dropdown:()=>af});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(M)=>{if(j&&!j.contains(M.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var af=(M)=>{let{class:C,label:A,icon:E,items:W,...T}=M;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>A?typeof A==="function"?A():A:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Kf={};z(Kf,{Fab:()=>sf});var sf=(M)=>{let{class:C,icon:A,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=M;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[A?N(A):null,!A&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var Yf={};z(Yf,{Fieldset:()=>ef});var ef=(M,C)=>{let{class:A,legend:E,...W}=M;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",A)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var qf={};z(qf,{Fileinput:()=>lf});var lf=(M)=>{let{class:C,tooltip:A,max:E=2,accept:W="*",onSelect:T,..._}=M,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${A?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":A},[f("label",{class:()=>` +var H_=Object.defineProperty;var z=(_,A)=>{for(var M in A)H_(_,M,{get:A[M],enumerable:!0,configurable:!0,set:(C)=>A[M]=()=>C})};var h=null,I=null,n=new Set,t=!1,Lf=new WeakMap,a=document,g=Array.isArray,Bf=Object.assign,of=(_)=>a.createElement(_),c=(_)=>a.createTextNode(String(_??"")),U=(_)=>typeof _==="function",Wf=(_)=>typeof _==="object"&&_!==null,Pf=(_,A)=>{let M=h;h=_;try{return A()}finally{h=M}},Gf=(_)=>{if(_._cleanups)_._cleanups.forEach((A)=>A()),_._cleanups.clear();_.childNodes?.forEach(Gf)},h_=()=>{if(t)return;t=!0;while(n.size>0){let _=Array.from(n).sort((A,M)=>(A.depth||0)-(M.depth||0));n.clear();for(let A of _)if(!A._deleted)A()}t=!1},Jf=(_)=>{if(h&&!h._deleted)_.add(h),h._deps.add(_)},s=(_)=>{if(_.forEach((A)=>{if(A===h||A._deleted)return;if(A._isComputed){if(A.markDirty(),A._subs)s(A._subs)}else n.add(A)}),!t)queueMicrotask(h_)},o=(_)=>{let A=new Set,M=I,C=of("div");C.style.display="contents",I={cleanups:A};let E=(W)=>{if(!W)return;if(W._isRuntime)A.add(W.destroy),C.appendChild(W.container);else if(g(W))W.forEach(E);else C.appendChild(W instanceof Node?W:c(W))};try{E(_({onCleanup:(W)=>A.add(W)}))}finally{I=M}return{_isRuntime:!0,container:C,destroy:()=>{A.forEach((W)=>W()),Gf(C),C.remove()}}},D=(_,A=null)=>{let M=new Set;if(U(_)){let E,W=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear(),Pf(L,()=>{let P=_();if(!Object.is(E,P)||W)E=P,W=!1,s(M)})};if(Bf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>W=!0,stop:()=>{L._deleted=!0,L._deps.forEach((P)=>P.delete(L)),M.clear()}}),I)I.cleanups.add(L.stop);return()=>{if(W)L();return Jf(M),E}}let C=_;if(A)try{let E=localStorage.getItem(A);if(E!==null)C=JSON.parse(E)}catch(E){console.warn("SigPro Storage Lock",E)}return(...E)=>{if(E.length){let W=U(E[0])?E[0](C):E[0];if(!Object.is(C,W)){if(C=W,A)localStorage.setItem(A,JSON.stringify(C));s(M)}}return Jf(M),C}},lf=(_,A=new WeakMap)=>{if(!Wf(_))return _;if(A.has(_))return A.get(_);let M={},C=new Proxy(_,{get(E,W){if(h)Jf(M[W]??=new Set);let L=Reflect.get(E,W);return Wf(L)?lf(L,A):L},set(E,W,L){if(Object.is(E[W],L))return!0;let P=Reflect.set(E,W,L);if(M[W])s(M[W]);return P}});return A.set(_,C),C},m=(_,A)=>{let M=g(_),C=M?A:_;if(!U(C))return()=>{};let E=I,W=()=>{if(W._deleted)return;W._deps.forEach((P)=>P.delete(W)),W._deps.clear(),W._cleanups.forEach((P)=>P()),W._cleanups.clear();let L=I;W.depth=h?h.depth+1:0,Pf(W,()=>{if(I={cleanups:W._cleanups},M)Pf(null,C),_.forEach((P)=>U(P)&&P());else C();I=L})};if(Bf(W,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(W._deleted)return;if(W._deleted=!0,n.delete(W),W._deps.forEach((L)=>L.delete(W)),W._cleanups.forEach((L)=>L()),E)E.cleanups.delete(W.stop)}}),E)E.cleanups.add(W.stop);return W(),W.stop},f=(_,A={},M=[])=>{if(A instanceof Node||g(A)||!Wf(A))M=A,A={};let E=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(_)?a.createElementNS("http://www.w3.org/2000/svg",_):of(_);E._cleanups=new Set,E.onUnmount=(J)=>E._cleanups.add(J);let W=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(J,B)=>{let Z=(J==="src"||J==="href")&&String(B).toLowerCase().includes("javascript:")?"#":B;if(W.includes(J))E[J]=!!Z,Z?E.setAttribute(J,""):E.removeAttribute(J);else Z==null?E.removeAttribute(J):E.setAttribute(J,Z)};for(let[J,B]of Object.entries(A)){if(J==="ref"){U(B)?B(E):B.current=E;continue}let Z=U(B);if(J.startsWith("on")){let X=J.slice(2).toLowerCase().split(".")[0];E.addEventListener(X,B),E._cleanups.add(()=>E.removeEventListener(X,B))}else if(Z){if(E._cleanups.add(m(()=>{let X=B();J==="class"?E.className=X||"":L(J,X)})),["INPUT","TEXTAREA","SELECT"].includes(E.tagName)&&(J==="value"||J==="checked")){let X=J==="checked"?"change":"input",R=(Y)=>B(Y.target[J]);E.addEventListener(X,R),E._cleanups.add(()=>E.removeEventListener(X,R))}}else L(J,B)}let P=(J)=>{if(g(J))return J.forEach(P);if(U(J)){let B=c("");E.appendChild(B);let Z=[];E._cleanups.add(m(()=>{let X=J(),R=(g(X)?X:[X]).map((Y)=>Y?._isRuntime?Y.container:Y instanceof Node?Y:c(Y));Z.forEach((Y)=>{Gf(Y),Y.remove()}),R.forEach((Y)=>B.parentNode?.insertBefore(Y,B)),Z=R}))}else E.appendChild(J instanceof Node?J:c(J))};return P(M),E},O=(_,A,M=null,C=null)=>{let E=c(""),W=f("div",{style:"display:contents"},[E]),L=null,P=null;return m(()=>{let J=!!(U(_)?_():_);if(J===P)return;P=J;let B=()=>{if(L)L.destroy();L=null};if(L&&!J&&C?.out)C.out(L.container,B);else B();let Z=J?A:M;if(Z){if(L=o(()=>U(Z)?Z():Z),W.insertBefore(L.container,E),J&&C?.in)C.in(L.container)}}),W},N=(_,A,M,C="div",E={style:"display:contents"})=>{let W=c(""),L=f(C,E,[W]),P=new Map;return m(()=>{let J=(U(_)?_():_)||[],B=new Map,Z=[];for(let R=0;RA(Y,R));P.delete(S),B.set(S,$),Z.push(S)}P.forEach((R)=>{R.destroy(),R.container.remove()});let X=W;for(let R=Z.length-1;R>=0;R--){let Y=B.get(Z[R]);if(Y.container.nextSibling!==X)L.insertBefore(Y.container,X);X=Y.container}P=B}),L},b=(_)=>{let A=D(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>A(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),C=null;return m([A],async()=>{let E=A(),W=_.find((L)=>{let P=L.path.split("/").filter(Boolean),J=E.split("/").filter(Boolean);return P.length===J.length&&P.every((B,Z)=>B.startsWith(":")||B===J[Z])})||_.find((L)=>L.path==="*");if(W){let L=W.component;if(U(L)&&L.toString().includes("import"))L=(await L()).default||await L();let P={};if(W.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))P[J.slice(1)]=E.split("/").filter(Boolean)[B]}),C)C.destroy();if(b.params)b.params(P);C=o(()=>{try{return U(L)?L(P):L}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(C.container)}}),M};b.params=D({});b.to=(_)=>window.location.hash=_.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var Qf=(_,A)=>{let M=typeof A==="string"?a.querySelector(A):A;if(!M)return;if(Lf.has(M))Lf.get(M).destroy();let C=o(U(_)?_:()=>_);return M.replaceChildren(C.container),Lf.set(M,C),C},x_=({children:_})=>_,gf={$:D,$$:lf,Render:o,Watch:m,Tag:f,If:O,For:N,Router:b,Mount:Qf,Fragment:x_};if(typeof window<"u")Bf(window,gf),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(" ").forEach((A)=>{let M=A[0].toUpperCase()+A.slice(1);if(!(M in window))window[M]=(C,E)=>f(A,C,E)}),window.SigPro=Object.freeze(gf);var ff={};z(ff,{default:()=>I_,Tooltip:()=>k_,Toast:()=>V_,Timeline:()=>w_,Tabs:()=>D_,Table:()=>z_,Swap:()=>$_,Stat:()=>K_,Stack:()=>R_,Select:()=>q_,Rating:()=>Y_,Range:()=>S_,Radio:()=>Z_,Navbar:()=>X_,Modal:()=>Q_,Menu:()=>G_,List:()=>B_,Label:()=>J_,Input:()=>d,Indicator:()=>P_,Fileinput:()=>W_,Fieldset:()=>L_,Fab:()=>A_,Dropdown:()=>C_,Drawer:()=>E_,Datepicker:()=>M_,Colorpicker:()=>__,Checkbox:()=>f_,Button:()=>p,Badge:()=>ef,Autocomplete:()=>af,Alert:()=>sf,Accordion:()=>tf});var Xf={};z(Xf,{Accordion:()=>tf});var e={};z(e,{val:()=>G,ui:()=>Q,getIcon:()=>w});var G=(_)=>typeof _==="function"?_():_,Q=(_,A)=>typeof A==="function"?()=>`${_} ${A()||""}`.trim():`${_} ${A||""}`.trim(),w=(_)=>{if(!_)return null;if(typeof _==="function")return f("span",{class:"mr-1"},_());if(typeof _==="object")return f("span",{class:"mr-1"},_);if(typeof _==="string"){let A=_.trim().split(/\s+/),M=A[A.length-1]==="right",C=M?A.slice(0,-1).join(" "):_,E=M?"ml-1":"mr-1";if(C&&!C.startsWith("icon-[")&&!C.includes("--"))return f("span",{class:E},C);return f("span",{class:`${C} ${E}`.trim()})}return null};var tf=(_,A)=>{let{class:M,title:C,name:E,open:W,...L}=_;return f("div",{...L,class:Q("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:E?"radio":"checkbox",name:E,checked:G(W)}),f("div",{class:"collapse-title text-xl font-medium"},C),f("div",{class:"collapse-content"},A)])};var Zf={};z(Zf,{Alert:()=>sf});var sf=(_,A)=>{let{class:M,actions:C,type:E="info",soft:W=!0,...L}=_,P={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Z=[`alert-${E}`,W?"alert-soft":"",M].filter(Boolean).join(" "),X=A||_.message;return f("div",{...L,role:"alert",class:Q("alert",Z)},()=>[w(P[E]),f("div",{class:"flex-1"},[f("span",{},[typeof X==="function"?X():X])]),C?f("div",{class:"flex-none"},[typeof C==="function"?C():C]):null].filter(Boolean))};var Yf={};z(Yf,{Autocomplete:()=>af});var j_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},y_=D("es");var x=(_)=>()=>j_[y_()][_]||_;var Sf={};z(Sf,{Input:()=>d});var d=(_)=>{let{class:A,value:M,type:C="text",icon:E,oninput:W,placeholder:L,disabled:P,size:J,validate:B,...Z}=_,X=C==="password",R=D(!1),Y=D(null),S={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},$=E?w(E):S[C]?w(S[C]):null,k=()=>w(R()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),r=$?"pl-10":"",_f=X?"pr-10":"",i=()=>{if(A?.includes("input-xs"))return"btn-xs";if(A?.includes("input-sm"))return"btn-sm";if(A?.includes("input-lg"))return"btn-lg";return"btn-md"},l=(V)=>{let F=V.target.value;if(B){let T=B(F);Y(T||null)}W?.(V)},v=()=>Y()&&Y()!=="",K=f("input",{...Z,type:()=>X?R()?"text":"password":C,placeholder:L||" ",class:()=>{let V=`input w-full ${r} ${_f}`;if(A)V+=` ${A}`;if(v())V+=" input-error";return V.trim()},value:M,oninput:l,disabled:()=>G(P),"aria-invalid":()=>v()?"true":"false"});return f("div",{class:"relative w-full"},()=>[K,$?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},$):null,X?f("button",{type:"button",class:Q("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",i()),onclick:(V)=>{V.preventDefault(),R(!R())}},()=>k()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>v()?Y():null)])};var af=(_)=>{let{class:A,items:M=[],value:C,onSelect:E,label:W,placeholder:L,...P}=_,J=D(G(C)||""),B=D(!1),Z=D(-1),X=D(()=>{let S=J().toLowerCase(),$=G(M)||[];return S?$.filter((k)=>(typeof k==="string"?k:k.label).toLowerCase().includes(S)):$}),R=(S)=>{let $=typeof S==="string"?S:S.value,k=typeof S==="string"?S:S.label;if(J(k),typeof C==="function")C($);E?.(S),B(!1),Z(-1)},Y=(S)=>{let $=X();if(S.key==="ArrowDown")S.preventDefault(),B(!0),Z(Math.min(Z()+1,$.length-1));else if(S.key==="ArrowUp")S.preventDefault(),Z(Math.max(Z()-1,0));else if(S.key==="Enter"&&Z()>=0)S.preventDefault(),R($[Z()]);else if(S.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[d({label:W,class:A,placeholder:L||x("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(S)=>{let $=S.target.value;if(J($),typeof C==="function")C($);B(!0),Z(-1)},...P}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&X().length?"display:block":"display:none"},[N(X,(S,$)=>f("li",{},[f("a",{class:()=>`block w-full ${Z()===$?"active bg-primary text-primary-content":""}`,onclick:()=>R(S),onmouseenter:()=>Z($)},typeof S==="string"?S:S.label)]),(S,$)=>(typeof S==="string"?S:S.value)+$),()=>X().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var qf={};z(qf,{Badge:()=>ef});var ef=(_,A)=>{let{class:M,...C}=_;return f("span",{...C,class:Q("badge",M)},A)};var Rf={};z(Rf,{Button:()=>p});var p=(_,A)=>{let{class:M,loading:C,icon:E,...W}=_,L=w(E);return f("button",{...W,class:Q("btn",M),disabled:()=>G(C)||G(_.disabled)},()=>[G(C)&&f("span",{class:"loading loading-spinner"}),L,A].filter(Boolean))};var Kf={};z(Kf,{Checkbox:()=>f_});var f_=(_)=>{let{class:A,value:M,tooltip:C,toggle:E,label:W,...L}=_,P=f("input",{...L,type:"checkbox",class:()=>Q(G(E)?"toggle":"checkbox",A),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[P,W?f("span",{class:"label-text"},W):null]);return C?f("div",{class:"tooltip","data-tip":C},J):J};var $f={};z($f,{Colorpicker:()=>__});var __=(_)=>{let{class:A,value:M,label:C,...E}=_,W=D(!1),L=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],P=()=>G(M)||"#000000";return f("div",{class:Q("relative w-fit",A)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),W(!W())},...E},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${P()}`}),C?f("span",{class:"opacity-80"},C):null]),O(W,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},L.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${P().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);W(!1)}})))])),O(W,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>W(!1)}))])};var zf={};z(zf,{Datepicker:()=>M_});var M_=(_)=>{let{class:A,value:M,range:C,label:E,placeholder:W,hour:L=!1,...P}=_,J=D(!1),B=D(new Date),Z=D(null),X=D(0),R=D(0),Y=()=>G(C)===!0,S=new Date,$=`${S.getFullYear()}-${String(S.getMonth()+1).padStart(2,"0")}-${String(S.getDate()).padStart(2,"0")}`,k=(q)=>{let K=q.getFullYear(),V=String(q.getMonth()+1).padStart(2,"0"),F=String(q.getDate()).padStart(2,"0");return`${K}-${V}-${F}`},r=(q)=>{let K=k(q),V=G(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:X()}})}else{let F=V.start;if(typeof M==="function"){let T=K{let q=G(M);if(!q)return"";if(typeof q==="string"){if(L&&q.includes("T"))return q.replace("T"," ");return q}if(q.start&&q.end){let K=L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start,V=L&&q.endHour?`${q.end} ${String(q.endHour).padStart(2,"0")}:00`:q.end;return`${K} - ${V}`}if(q.start)return`${L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start}...`;return""}),i=(q)=>{let K=B();B(new Date(K.getFullYear(),K.getMonth()+q,1))},l=(q)=>{let K=B();B(new Date(K.getFullYear()+q,K.getMonth(),1))},v=({value:q,onChange:K})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:q,class:"range range-xs flex-1",oninput:(V)=>{let F=parseInt(V.target.value);K(F)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(G(q)).padStart(2,"0")+":00")])])};return f("div",{class:Q("relative w-full",A)},[d({label:E,placeholder:W||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:w("icon-[lucide--calendar]"),onclick:(q)=>{q.stopPropagation(),J(!J())},...P}),O(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(q)=>q.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(-1)},w("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(-1)},w("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},w("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(1)},w("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Z(null)},[...["L","M","X","J","V","S","D"].map((q)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},q)),()=>{let q=B(),K=q.getFullYear(),V=q.getMonth(),F=new Date(K,V,1).getDay(),T=F===0?6:F-1,U_=new Date(K,V+1,0).getDate(),Mf=[];for(let u=0;u{let y=G(M),Ef=Z(),O_=typeof y==="string"?y.split("T")[0]===H:y?.start===H,F_=y?.end===H,Cf=!1;if(Y()&&y?.start){let Af=y.start;if(!y.end&&Ef)Cf=H>Af&&H<=Ef||H=Ef;else if(y.end)Cf=H>Af&&H{if(Y())Z(H)},onclick:()=>r(nf)},[u.toString()]))}return Mf}]),L?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K?.start)M({...K,startHour:q})}}),v({value:R,onChange:(q)=>{R(q);let K=G(M);if(K?.end)M({...K,endHour:q})}})]):v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(q).padStart(2,"0")+":00:00")}})]):null])),O(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var Df={};z(Df,{Drawer:()=>E_});var E_=(_,A)=>{let{class:M,id:C,open:E,side:W,content:L,...P}=_,J=C||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...P,class:Q("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof E==="function"?E():E,onchange:(B)=>{if(typeof E==="function")E(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof L==="function"?L():L]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof E==="function")E(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof W==="function"?W():W])])])};var wf={};z(wf,{Dropdown:()=>C_});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(_)=>{if(j&&!j.contains(_.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var C_=(_)=>{let{class:A,label:M,icon:C,items:E,...W}=_;return Tag("details",{...W,class:Q("dropdown",A)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let P=L.currentTarget.closest("details");if(j&&j!==P)j.open=!1;setTimeout(()=>{j=P.open?P:null},0)}},[()=>C?typeof C==="function"?C():C:null,()=>M?typeof M==="function"?M():M:null]),Tag("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof E==="function"?E():E||[]).map((P)=>Tag("li",{},[Tag("a",{class:P.class||"",onclick:(J)=>{if(P.onclick)P.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[P.icon?Tag("span",{},P.icon):null,Tag("span",{},P.label)])]))}])])};var Vf={};z(Vf,{Fab:()=>A_});var A_=(_)=>{let{class:A,icon:M,label:C,actions:E=[],position:W="bottom-6 right-6",...L}=_;return f("div",{...L,class:Q(`fab absolute ${W} flex flex-col-reverse items-end gap-3 z-[100]`,A)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?w(M):null,!M&&C?C:null]),...G(E).map((P)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[P.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},P.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${P.class||""}`,onclick:(J)=>{J.stopPropagation(),P.onclick?.(J)}},[P.icon?w(P.icon):P.text||""])]))])};var kf={};z(kf,{Fieldset:()=>L_});var L_=(_,A)=>{let{class:M,legend:C,...E}=_;return f("fieldset",{...E,class:Q("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let W=G(C);return W?f("legend",{class:"fieldset-legend font-bold"},[W]):null},A])};var Nf={};z(Nf,{Fileinput:()=>W_});var W_=(_)=>{let{class:A,tooltip:M,max:C=2,accept:E="*",onSelect:W,...L}=_,P=D([]),J=D(!1),B=D(null),Z=C*1024*1024,X=(Y)=>{let S=Array.from(Y);if(B(null),S.find((k)=>k.size>Z)){B(`Máx ${C}MB`);return}P([...P(),...S]),W?.(P())},R=(Y)=>{let S=P().filter(($,k)=>k!==Y);P(S),W?.(S)};return f("fieldset",{...L,class:Q("fieldset w-full p-0",A)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var Sf={};z(Sf,{Indicator:()=>tf});var tf=(M,C)=>{let{value:A,class:E,...W}=M;return f("div",{...W,class:"indicator"},()=>[A?f("span",{class:X("indicator-item badge",E)},()=>typeof A==="function"?A():A):null,C].filter(Boolean))};var Rf={};z(Rf,{Label:()=>f_});var f_=(M)=>{let{children:C,value:A,floating:E=!1,error:W,required:T,class:_,...L}=M;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[A?f("span",{},A):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[A?f("span",{class:"label"},A):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var zf={};z(zf,{List:()=>__});var __=(M)=>{let{class:C,items:A,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=M,L=V(A,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var Df={};z(Df,{Menu:()=>A_});var A_=(M)=>{let{class:C,items:A,...E}=M,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(A))};var wf={};z(wf,{Modal:()=>M_});var M_=(M,C)=>{let{class:A,title:E,buttons:W,open:T,..._}=M,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};y(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",A),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var Nf={};z(Nf,{Navbar:()=>E_});var E_=(M,C)=>{let{class:A,...E}=M;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",A)},C)};var Ff={};z(Ff,{Radio:()=>C_});var C_=(M)=>{let{class:C,label:A,tooltip:E,value:W,inputValue:T,name:_,...L}=M,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!A&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,A?f("span",{class:"label-text"},A):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var Uf={};z(Uf,{Range:()=>T_});var T_=(M)=>{let{class:C,label:A,tooltip:E,value:W,...T}=M,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(M.disabled)});if(!A&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[A?f("span",{class:"label-text"},A):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var Vf={};z(Vf,{Rating:()=>L_});var L_=(M)=>{let{class:C,value:A,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=M,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(A))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof A==="function")A(Z)}}})}))};var Of={};z(Of,{Select:()=>W_});var W_=(M)=>{let{class:C,label:A,items:E,value:W,...T}=M,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!A)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},A),_])};var kf={};z(kf,{Stack:()=>P_});var P_=(M,C)=>{let{class:A,...E}=M;return f("div",{...E,class:X("stack",A)},C)};var Hf={};z(Hf,{Stat:()=>B_});var B_=(M)=>{let{class:C,icon:A,label:E,value:W,desc:T,..._}=M;return f("div",{..._,class:X("stat",C)},[A&&f("div",{class:"stat-figure text-secondary"},A),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var yf={};z(yf,{Swap:()=>J_});var J_=(M)=>{let{class:C,value:A,on:E,off:W,...T}=M;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(A),onclick:(_)=>{if(typeof A==="function")A(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var xf={};z(xf,{Table:()=>Q_});var Q_=(M)=>{let{class:C,items:A=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=x("nodata")(),...B}=M,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(A,(Z,S)=>{let Y=()=>{let J=Q(A),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(A).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var jf={};z(jf,{Tabs:()=>G_});var G_=(M)=>{let{items:C,class:A,...E}=M,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",A||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var If={};z(If,{Timeline:()=>X_});var X_=(M)=>{let{class:C,items:A=[],vertical:E=!0,compact:W=!1,...T}=M,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof A==="function"?A():A)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var vf={};z(vf,{Toast:()=>Z_});var Z_=(M,C="alert-success",A=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Ef(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof M==="function"?M():M]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(A>0)T=setTimeout(_,A);return _};var uf={};z(uf,{Tooltip:()=>K_});var K_=(M,C)=>f("div",{...M,class:()=>X("tooltip",M.class),"data-tip":M.tip},C);var Y_={...Cf,...Tf,...Wf,...Pf,...Bf,...Jf,...Qf,...Gf,...Xf,...Zf,...Kf,...Yf,...qf,...Sf,...Lf,...Rf,...zf,...Df,...wf,...Nf,...Ff,...Uf,...Vf,...Of,...kf,...Hf,...yf,...xf,...jf,...If,...vf,...uf},U_={...Y_,install:(M=window)=>{Object.entries(Y_).forEach(([C,A])=>{M[C]=A}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([M,C])=>{window[M]=C}),window.Utils=i,window.tt=x,window.SigProUI={...a,Utils:i,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");export{Q as val,X as ui,x as tt,N as getIcon,K_ as Tooltip,Z_ as Toast,X_ as Timeline,G_ as Tabs,Q_ as Table,J_ as Swap,B_ as Stat,P_ as Stack,W_ as Select,L_ as Rating,T_ as Range,C_ as Radio,E_ as Navbar,M_ as Modal,A_ as Menu,__ as List,f_ as Label,b as Input,tf as Indicator,lf as Fileinput,ef as Fieldset,sf as Fab,af as Dropdown,of as Drawer,nf as Datepicker,rf as Colorpicker,pf as Checkbox,c as Button,mf as Badge,df as Autocomplete,cf as Alert,bf as Accordion}; + ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),X(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[w("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${C}MB`)]),f("input",{type:"file",multiple:!0,accept:E,class:"hidden",onchange:(Y)=>X(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,O(()=>P().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[N(P,(Y,S)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:($)=>{$.preventDefault(),$.stopPropagation(),R(S)}},[w("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var Uf={};z(Uf,{Indicator:()=>P_});var P_=(_,A)=>{let{value:M,class:C,...E}=_;return f("div",{...E,class:"indicator"},()=>[M?f("span",{class:Q("indicator-item badge",C)},()=>typeof M==="function"?M():M):null,A].filter(Boolean))};var Of={};z(Of,{Label:()=>J_});var J_=(_)=>{let{children:A,value:M,floating:C=!1,error:E,required:W,class:L,...P}=_;if(C)return f("label",{class:Q("floating-label w-full",L),...P},()=>[M?f("span",{},M):null,A,E?f("span",{class:"text-error text-xs"},G(E)):null]);return f("label",{class:Q("input w-full",L),...P},()=>[M?f("span",{class:"label"},M):null,A,E?f("span",{class:"text-error text-xs"},G(E)):null])};var Ff={};z(Ff,{List:()=>B_});var B_=(_)=>{let{class:A,items:M,header:C,render:E,keyFn:W=(J,B)=>J.id??B,...L}=_,P=N(M,(J,B)=>f("li",{class:"list-row"},[E(J,B)]),W);return f("ul",{...L,class:Q("list bg-base-100 rounded-box shadow-md",A)},C?[O(C,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[G(C)])),P]:P)};var Hf={};z(Hf,{Menu:()=>G_});var G_=(_)=>{let{class:A,items:M,...C}=_,E=(W)=>N(()=>W||[],(L)=>f("li",{},[L.children?f("details",{open:L.open},[f("summary",{},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label]),f("ul",{},E(L.children))]):f("a",{class:()=>G(L.active)?"active":"",onclick:L.onclick},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label])]),(L,P)=>L.label||P);return f("ul",{...C,class:Q("menu bg-base-200 rounded-box",A)},E(M))};var hf={};z(hf,{Modal:()=>Q_});var Q_=(_,A)=>{let{class:M,title:C,buttons:E,open:W,...L}=_,P=null,J=()=>{let Z=typeof W==="function"?W():W;if(!P)return;if(Z){if(!P.open)P.showModal()}else if(P.open)P.close()};m(()=>J());let B=()=>{if(typeof W==="function")W(!1)};return f("dialog",{...L,ref:(Z)=>{if(P=Z,Z)J()},class:Q("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[C?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof C==="function"?C():C):null,f("div",{class:"py-2"},[typeof A==="function"?A():A]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(E)?E:[E]).filter(Boolean),p({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var xf={};z(xf,{Navbar:()=>X_});var X_=(_,A)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("navbar bg-base-100 shadow-sm px-4",M)},A)};var jf={};z(jf,{Radio:()=>Z_});var Z_=(_)=>{let{class:A,label:M,tooltip:C,value:E,inputValue:W,name:L,...P}=_,J=f("input",{...P,type:"radio",name:L,class:Q("radio",A),checked:()=>G(E)===W,onclick:()=>{if(typeof E==="function")E(W)}});if(!M&&!C)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return C?f("div",{class:"tooltip","data-tip":C},B):B};var yf={};z(yf,{Range:()=>S_});var S_=(_)=>{let{class:A,label:M,tooltip:C,value:E,...W}=_,L=f("input",{...W,type:"range",class:Q("range",A),value:E,disabled:()=>G(_.disabled)});if(!M&&!C)return L;let P=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,L]);return C?f("div",{class:"tooltip","data-tip":C},P):P};var If={};z(If,{Rating:()=>Y_});var Y_=(_)=>{let{class:A,value:M,count:C=5,mask:E="mask-star",readonly:W=!1,onchange:L,...P}=_,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...P,class:()=>Q(`rating ${G(W)?"pointer-events-none":""}`,A)},Array.from({length:G(C)},(B,Z)=>{let X=Z+1;return f("input",{type:"radio",name:J,class:`mask ${E}`,checked:()=>Math.round(G(M))===X,onchange:()=>{if(!G(W)){if(typeof L==="function")L(X);else if(typeof M==="function")M(X)}}})}))};var mf={};z(mf,{Select:()=>q_});var q_=(_)=>{let{class:A,label:M,items:C,value:E,...W}=_,L=f("select",{...W,class:Q("select select-bordered w-full",A),value:E},N(()=>G(C)||[],(P)=>f("option",{value:P.value,$selected:()=>String(G(E))===String(P.value)},P.label),(P)=>P.value));if(!M)return L;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),L])};var vf={};z(vf,{Stack:()=>R_});var R_=(_,A)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("stack",M)},A)};var Tf={};z(Tf,{Stat:()=>K_});var K_=(_)=>{let{class:A,icon:M,label:C,value:E,desc:W,...L}=_;return f("div",{...L,class:Q("stat",A)},[M&&f("div",{class:"stat-figure text-secondary"},M),C&&f("div",{class:"stat-title"},C),f("div",{class:"stat-value"},()=>G(E)??E),W&&f("div",{class:"stat-desc"},W)])};var uf={};z(uf,{Swap:()=>$_});var $_=(_)=>{let{class:A,value:M,on:C,off:E,...W}=_;return f("label",{...W,class:Q("swap",A)},[f("input",{type:"checkbox",checked:()=>G(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),f("div",{class:"swap-on"},C),f("div",{class:"swap-off"},E)])};var bf={};z(bf,{Table:()=>z_});var z_=(_)=>{let{class:A,items:M=[],columns:C=[],keyFn:E,zebra:W=!1,pinRows:L=!1,empty:P=x("nodata")(),...J}=_,B=()=>{let X=G(W)?"table-zebra":"",R=G(L)?"table-pin-rows":"";return Q("table",A,X,R)},Z=E||((X,R)=>X.id||R);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},C.map((X)=>f("th",{class:X.class||""},X.label)))]),f("tbody",{},[N(M,(X,R)=>{let Y=()=>{let S=G(M),$=Z(X,R);return S.find((k,r)=>Z(k,r)===$)||X};return f("tr",{class:"hover"},C.map((S)=>{let $=()=>{let k=Y();if(S.render)return S.render(k,R);return G(k[S.key])};return f("td",{class:S.class||""},[$])}))},Z),O(()=>G(M).length===0,()=>f("tr",{},[f("td",{colspan:C.length,class:"text-center p-10 opacity-50"},[G(P)])]))])])])};var cf={};z(cf,{Tabs:()=>D_});var D_=(_)=>{let{items:A,class:M,...C}=_,E=typeof A==="function"?A:()=>A||[],W=D(0);return Watch(()=>{let L=E().findIndex((P)=>G(P.active)===!0);if(L!==-1&&L!==W())W(L)}),f("div",{...C,class:"w-full"},[f("div",{role:"tablist",class:Q("tabs",M||"tabs-box")},()=>{return E().map((P,J)=>{let B=()=>W()===J,Z=f("button",{role:"tab",class:()=>Q("tab",B()?"tab-active":""),onclick:(X)=>{if(X.preventDefault(),!G(P.disabled)){if(P.onclick)P.onclick();W(J)}}});return Watch(()=>{let X=G(P.label);if(X instanceof Node)Z.replaceChildren(X);else Z.textContent=String(X)}),Z})}),f("div",{class:"tab-panels"},()=>{return E().map((L,P)=>{let J=()=>W()===P;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var df={};z(df,{Timeline:()=>w_});var w_=(_)=>{let{class:A,items:M=[],vertical:C=!0,compact:E=!1,...W}=_,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...W,class:()=>Q(`timeline ${G(C)?"timeline-vertical":"timeline-horizontal"} ${G(E)?"timeline-compact":""}`,A)},()=>{let P=(typeof M==="function"?M():M)||[];return P.map((J,B)=>{let Z=B===0,X=B===P.length-1,R=J.type||"success",Y=()=>G(J.completed),S=()=>B>0&&G(P[B-1].completed),$=(k)=>typeof k==="function"?k():k;return f("li",{class:"flex-1"},[!Z?f("hr",{class:()=>S()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>$(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?w(J.icon):w(L[R]||L.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>$(J.detail)]),!X?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var pf={};z(pf,{Toast:()=>V_});var V_=(_,A="alert-success",M=3500)=>{let C=document.getElementById("sigpro-toast-container");if(!C)C=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(C);let E=f("div",{style:"display: contents"});C.appendChild(E);let W,L=()=>{clearTimeout(W);let B=E.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),E.remove(),!C.hasChildNodes())C.remove()},300);else J.destroy(),E.remove()},J=Qf(()=>{let B=w("icon-[lucide--x]"),Z=f("div",{class:`alert alert-soft ${A} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof _==="function"?_():_]),p({class:"btn-xs btn-circle btn-ghost",onclick:L},B)]);return requestAnimationFrame(()=>Z.classList.remove("translate-x-10","opacity-0")),Z},E);if(M>0)W=setTimeout(L,M);return L};var rf={};z(rf,{Tooltip:()=>k_});var k_=(_,A)=>f("div",{..._,class:()=>Q("tooltip",_.class),"data-tip":_.tip},A);var N_={...Xf,...Zf,...Yf,...qf,...Rf,...Kf,...$f,...zf,...Df,...wf,...Vf,...kf,...Nf,...Uf,...Sf,...Of,...Ff,...Hf,...hf,...xf,...jf,...yf,...If,...mf,...vf,...Tf,...uf,...bf,...cf,...df,...pf,...rf},I_={...N_,install:(_=window)=>{Object.entries(N_).forEach(([A,M])=>{_[A]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([_,A])=>{window[_]=A}),window.Utils=e,window.tt=x,window.SigProUI={...ff,Utils:e,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");export{G as val,Q as ui,x as tt,w as getIcon,k_ as Tooltip,V_ as Toast,w_ as Timeline,D_ as Tabs,z_ as Table,$_ as Swap,K_ as Stat,R_ as Stack,q_ as Select,Y_ as Rating,S_ as Range,Z_ as Radio,X_ as Navbar,Q_ as Modal,G_ as Menu,B_ as List,J_ as Label,d as Input,P_ as Indicator,W_ as Fileinput,L_ as Fieldset,A_ as Fab,C_ as Dropdown,E_ as Drawer,M_ as Datepicker,__ as Colorpicker,f_ as Checkbox,p as Button,ef as Badge,af as Autocomplete,sf as Alert,tf as Accordion}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index 3a09069..3420c0a 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -74,426 +74,424 @@ var effectQueue = new Set; var isFlushing = false; var MOUNTED_NODES = new WeakMap; - var flush = () => { + var doc = document; + var isArr = Array.isArray; + var assign = Object.assign; + var createEl = (t) => doc.createElement(t); + var createText = (t) => doc.createTextNode(String(t ?? "")); + var isFunc = (f) => typeof f === "function"; + var isObj = (o) => typeof o === "object" && o !== null; + var runWithContext = (effect, callback) => { + const previousEffect = activeEffect; + activeEffect = effect; + try { + return callback(); + } finally { + activeEffect = previousEffect; + } + }; + var cleanupNode = (node) => { + if (node._cleanups) { + node._cleanups.forEach((dispose) => dispose()); + node._cleanups.clear(); + } + node.childNodes?.forEach(cleanupNode); + }; + var flushEffects = () => { if (isFlushing) return; isFlushing = true; while (effectQueue.size > 0) { - const sorted = Array.from(effectQueue).sort((a, b) => (a.depth || 0) - (b.depth || 0)); + const sortedEffects = Array.from(effectQueue).sort((a, b) => (a.depth || 0) - (b.depth || 0)); effectQueue.clear(); - for (const eff of sorted) - if (!eff._deleted) - eff(); + for (const effect of sortedEffects) { + if (!effect._deleted) + effect(); + } } isFlushing = false; }; - var track = (subs) => { + var trackSubscription = (subscribers) => { if (activeEffect && !activeEffect._deleted) { - subs.add(activeEffect); - activeEffect._deps.add(subs); + subscribers.add(activeEffect); + activeEffect._deps.add(subscribers); } }; - var trigger = (subs) => { - for (const eff of subs) { - if (eff === activeEffect || eff._deleted) - continue; - if (eff._isComputed) { - eff.markDirty(); - if (eff._subs) - trigger(eff._subs); + var triggerUpdate = (subscribers) => { + subscribers.forEach((effect) => { + if (effect === activeEffect || effect._deleted) + return; + if (effect._isComputed) { + effect.markDirty(); + if (effect._subs) + triggerUpdate(effect._subs); } else { - effectQueue.add(eff); + effectQueue.add(effect); } - } + }); if (!isFlushing) - queueMicrotask(flush); + queueMicrotask(flushEffects); }; - var sweep = (node) => { - if (node._cleanups) { - node._cleanups.forEach((f) => f()); - node._cleanups.clear(); - } - node.childNodes?.forEach(sweep); - }; - var _view = (fn) => { + var Render = (renderFn) => { const cleanups = new Set; - const prev = currentOwner; - const container = document.createElement("div"); + const previousOwner = currentOwner; + const container = createEl("div"); container.style.display = "contents"; currentOwner = { cleanups }; + const processResult = (result) => { + if (!result) + return; + if (result._isRuntime) { + cleanups.add(result.destroy); + container.appendChild(result.container); + } else if (isArr(result)) { + result.forEach(processResult); + } else { + container.appendChild(result instanceof Node ? result : createText(result)); + } + }; try { - const res = fn({ onCleanup: (f) => cleanups.add(f) }); - const process = (n) => { - if (!n) - return; - if (n._isRuntime) { - cleanups.add(n.destroy); - container.appendChild(n.container); - } else if (Array.isArray(n)) - n.forEach(process); - else - container.appendChild(n instanceof Node ? n : document.createTextNode(String(n))); - }; - process(res); + processResult(renderFn({ onCleanup: (fn) => cleanups.add(fn) })); } finally { - currentOwner = prev; + currentOwner = previousOwner; } return { _isRuntime: true, container, destroy: () => { - cleanups.forEach((f) => f()); - sweep(container); + cleanups.forEach((fn) => fn()); + cleanupNode(container); container.remove(); } }; }; - var $ = (initial, key = null) => { - if (typeof initial === "function") { - const subs2 = new Set; - let cached, dirty = true; + var $ = (initialValue, storageKey = null) => { + const subscribers = new Set; + if (isFunc(initialValue)) { + let cachedValue, isDirty = true; const effect = () => { if (effect._deleted) return; - effect._deps.forEach((s) => s.delete(effect)); + effect._deps.forEach((dep) => dep.delete(effect)); effect._deps.clear(); - const prev = activeEffect; - activeEffect = effect; - try { - const val = initial(); - if (!Object.is(cached, val) || dirty) { - cached = val; - dirty = false; - trigger(subs2); + runWithContext(effect, () => { + const newValue = initialValue(); + if (!Object.is(cachedValue, newValue) || isDirty) { + cachedValue = newValue; + isDirty = false; + triggerUpdate(subscribers); } - } finally { - activeEffect = prev; + }); + }; + assign(effect, { + _deps: new Set, + _isComputed: true, + _subs: subscribers, + _deleted: false, + markDirty: () => isDirty = true, + stop: () => { + effect._deleted = true; + effect._deps.forEach((dep) => dep.delete(effect)); + subscribers.clear(); } - }; - effect._deps = new Set; - effect._isComputed = true; - effect._subs = subs2; - effect._deleted = false; - effect.markDirty = () => dirty = true; - effect.stop = () => { - effect._deleted = true; - effect._deps.forEach((s) => s.delete(effect)); - subs2.clear(); - }; + }); if (currentOwner) currentOwner.cleanups.add(effect.stop); return () => { - if (dirty) + if (isDirty) effect(); - track(subs2); - return cached; + trackSubscription(subscribers); + return cachedValue; }; } - let value = initial; - if (key) { + let value = initialValue; + if (storageKey) { try { - const saved = localStorage.getItem(key); + const saved = localStorage.getItem(storageKey); if (saved !== null) value = JSON.parse(saved); } catch (e) { - console.warn("SigPro: LocalStorage locked", e); + console.warn("SigPro Storage Lock", e); } } - const subs = new Set; return (...args) => { if (args.length) { - const next = typeof args[0] === "function" ? args[0](value) : args[0]; - if (!Object.is(value, next)) { - value = next; - if (key) - localStorage.setItem(key, JSON.stringify(value)); - trigger(subs); + const nextValue = isFunc(args[0]) ? args[0](value) : args[0]; + if (!Object.is(value, nextValue)) { + value = nextValue; + if (storageKey) + localStorage.setItem(storageKey, JSON.stringify(value)); + triggerUpdate(subscribers); } } - track(subs); + trackSubscription(subscribers); return value; }; }; - var $watch2 = (target, fn) => { - const isExplicit = Array.isArray(target); - const callback = isExplicit ? fn : target; - const depsInput = isExplicit ? target : null; - if (typeof callback !== "function") + var $$ = (object, cache = new WeakMap) => { + if (!isObj(object)) + return object; + if (cache.has(object)) + return cache.get(object); + const keySubscribers = {}; + const proxy = new Proxy(object, { + get(target, key) { + if (activeEffect) + trackSubscription(keySubscribers[key] ??= new Set); + const value = Reflect.get(target, key); + return isObj(value) ? $$(value, cache) : value; + }, + set(target, key, value) { + if (Object.is(target[key], value)) + return true; + const success = Reflect.set(target, key, value); + if (keySubscribers[key]) + triggerUpdate(keySubscribers[key]); + return success; + } + }); + cache.set(object, proxy); + return proxy; + }; + var Watch2 = (target, callbackFn) => { + const isExplicit = isArr(target); + const callback = isExplicit ? callbackFn : target; + if (!isFunc(callback)) return () => {}; const owner = currentOwner; const runner = () => { if (runner._deleted) return; - runner._deps.forEach((s) => s.delete(runner)); + runner._deps.forEach((dep) => dep.delete(runner)); runner._deps.clear(); - runner._cleanups.forEach((c) => c()); + runner._cleanups.forEach((cleanup) => cleanup()); runner._cleanups.clear(); - const prevEffect = activeEffect; - const prevOwner = currentOwner; - activeEffect = runner; - currentOwner = { cleanups: runner._cleanups }; - runner.depth = prevEffect ? prevEffect.depth + 1 : 0; - try { + const previousOwner = currentOwner; + runner.depth = activeEffect ? activeEffect.depth + 1 : 0; + runWithContext(runner, () => { + currentOwner = { cleanups: runner._cleanups }; if (isExplicit) { - activeEffect = null; - callback(); - activeEffect = runner; - depsInput.forEach((d) => typeof d === "function" && d()); + runWithContext(null, callback); + target.forEach((dep) => isFunc(dep) && dep()); } else { callback(); } - } finally { - activeEffect = prevEffect; - currentOwner = prevOwner; + currentOwner = previousOwner; + }); + }; + assign(runner, { + _deps: new Set, + _cleanups: new Set, + _deleted: false, + stop: () => { + if (runner._deleted) + return; + runner._deleted = true; + effectQueue.delete(runner); + runner._deps.forEach((dep) => dep.delete(runner)); + runner._cleanups.forEach((cleanup) => cleanup()); + if (owner) + owner.cleanups.delete(runner.stop); } - }; - runner._deps = new Set; - runner._cleanups = new Set; - runner._deleted = false; - runner.stop = () => { - if (runner._deleted) - return; - runner._deleted = true; - effectQueue.delete(runner); - runner._deps.forEach((s) => s.delete(runner)); - runner._cleanups.forEach((c) => c()); - if (owner) - owner.cleanups.delete(runner.stop); - }; + }); if (owner) owner.cleanups.add(runner.stop); runner(); return runner.stop; }; - var $html2 = (tag, props = {}, content = []) => { - if (props instanceof Node || Array.isArray(props) || typeof props !== "object") { - content = props; + var Tag2 = (tag, props = {}, children = []) => { + if (props instanceof Node || isArr(props) || !isObj(props)) { + children = props; props = {}; } - const svgTags = ["svg", "path", "circle", "rect", "line", "polyline", "polygon", "g", "defs", "text", "tspan", "use"]; - const isSVG = svgTags.includes(tag); - const el = isSVG ? document.createElementNS("http://www.w3.org/2000/svg", tag) : document.createElement(tag); - const _sanitize = (key, val) => (key === "src" || key === "href") && String(val).toLowerCase().includes("javascript:") ? "#" : val; - el._cleanups = new Set; - const boolAttrs = ["disabled", "checked", "required", "readonly", "selected", "multiple", "autofocus"]; - for (let [key, val] of Object.entries(props)) { + const isSVG = /^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(tag); + const element = isSVG ? doc.createElementNS("http://www.w3.org/2000/svg", tag) : createEl(tag); + element._cleanups = new Set; + element.onUnmount = (fn) => element._cleanups.add(fn); + const booleanAttributes = ["disabled", "checked", "required", "readonly", "selected", "multiple", "autofocus"]; + const updateAttribute = (name, value) => { + const sanitized = (name === "src" || name === "href") && String(value).toLowerCase().includes("javascript:") ? "#" : value; + if (booleanAttributes.includes(name)) { + element[name] = !!sanitized; + sanitized ? element.setAttribute(name, "") : element.removeAttribute(name); + } else { + sanitized == null ? element.removeAttribute(name) : element.setAttribute(name, sanitized); + } + }; + for (let [key, value] of Object.entries(props)) { if (key === "ref") { - typeof val === "function" ? val(el) : val.current = el; + isFunc(value) ? value(element) : value.current = element; continue; } - const isSignal = typeof val === "function", isInput = ["INPUT", "TEXTAREA", "SELECT"].includes(el.tagName), isBindAttr = key === "value" || key === "checked"; - if (isInput && isBindAttr && isSignal) { - el._cleanups.add($watch2(() => { - const currentVal = val(); - if (el[key] !== currentVal) - el[key] = currentVal; - })); - const eventName = key === "checked" ? "change" : "input", handler = (event) => val(event.target[key]); - el.addEventListener(eventName, handler); - el._cleanups.add(() => el.removeEventListener(eventName, handler)); - } else if (key.startsWith("on")) { - const eventName = key.slice(2).toLowerCase().split(".")[0], handler = (event) => val(event); - el.addEventListener(eventName, handler); - el._cleanups.add(() => el.removeEventListener(eventName, handler)); + const isSignal = isFunc(value); + if (key.startsWith("on")) { + const eventName = key.slice(2).toLowerCase().split(".")[0]; + element.addEventListener(eventName, value); + element._cleanups.add(() => element.removeEventListener(eventName, value)); } else if (isSignal) { - el._cleanups.add($watch2(() => { - const currentVal = _sanitize(key, val()); - if (key === "class") { - el.className = currentVal || ""; - } else if (boolAttrs.includes(key)) { - if (currentVal) { - el.setAttribute(key, ""); - el[key] = true; - } else { - el.removeAttribute(key); - el[key] = false; - } - } else { - if (currentVal == null) { - el.removeAttribute(key); - } else if (isSVG && typeof currentVal === "number") { - el.setAttribute(key, currentVal); - } else { - el.setAttribute(key, currentVal); - } - } + element._cleanups.add(Watch2(() => { + const currentVal = value(); + key === "class" ? element.className = currentVal || "" : updateAttribute(key, currentVal); })); - } else { - if (boolAttrs.includes(key)) { - if (val) { - el.setAttribute(key, ""); - el[key] = true; - } else { - el.removeAttribute(key); - el[key] = false; - } - } else { - el.setAttribute(key, _sanitize(key, val)); + if (["INPUT", "TEXTAREA", "SELECT"].includes(element.tagName) && (key === "value" || key === "checked")) { + const event = key === "checked" ? "change" : "input"; + const handler = (e) => value(e.target[key]); + element.addEventListener(event, handler); + element._cleanups.add(() => element.removeEventListener(event, handler)); } + } else { + updateAttribute(key, value); } } - const append = (child) => { - if (Array.isArray(child)) - return child.forEach(append); - if (child instanceof Node) { - el.appendChild(child); - } else if (typeof child === "function") { - const marker = document.createTextNode(""); - el.appendChild(marker); - let nodes = []; - el._cleanups.add($watch2(() => { - const res = child(), next = (Array.isArray(res) ? res : [res]).map((i) => i?._isRuntime ? i.container : i instanceof Node ? i : document.createTextNode(i ?? "")); - nodes.forEach((n) => { - sweep?.(n); - n.remove(); + const appendChildNode = (child) => { + if (isArr(child)) + return child.forEach(appendChildNode); + if (isFunc(child)) { + const marker = createText(""); + element.appendChild(marker); + let currentNodes = []; + element._cleanups.add(Watch2(() => { + const result = child(); + const nextNodes = (isArr(result) ? result : [result]).map((node) => node?._isRuntime ? node.container : node instanceof Node ? node : createText(node)); + currentNodes.forEach((node) => { + cleanupNode(node); + node.remove(); }); - next.forEach((n) => marker.parentNode?.insertBefore(n, marker)); - nodes = next; + nextNodes.forEach((node) => marker.parentNode?.insertBefore(node, marker)); + currentNodes = nextNodes; })); - } else - el.appendChild(document.createTextNode(child ?? "")); - }; - append(content); - return el; - }; - var $if = (condition, thenVal, otherwiseVal = null, transition = null) => { - const marker = document.createTextNode(""); - const container = $html2("div", { style: "display:contents" }, [marker]); - let current = null, last = null; - $watch2(() => { - const state = !!(typeof condition === "function" ? condition() : condition); - if (state === last) - return; - last = state; - if (current && !state && transition?.out) { - transition.out(current.container, () => { - current.destroy(); - current = null; - }); } else { - if (current) - current.destroy(); - current = null; + element.appendChild(child instanceof Node ? child : createText(child)); } - if (state || !state && otherwiseVal) { - const branch = state ? thenVal : otherwiseVal; - if (branch) { - current = _view(() => typeof branch === "function" ? branch() : branch); - container.insertBefore(current.container, marker); - if (state && transition?.in) - transition.in(current.container); - } + }; + appendChildNode(children); + return element; + }; + var If = (condition, thenVal, otherwiseVal = null, transition = null) => { + const marker = createText(""); + const container = Tag2("div", { style: "display:contents" }, [marker]); + let currentView = null, lastState = null; + Watch2(() => { + const state = !!(isFunc(condition) ? condition() : condition); + if (state === lastState) + return; + lastState = state; + const dispose = () => { + if (currentView) + currentView.destroy(); + currentView = null; + }; + if (currentView && !state && transition?.out) { + transition.out(currentView.container, dispose); + } else { + dispose(); + } + const branch = state ? thenVal : otherwiseVal; + if (branch) { + currentView = Render(() => isFunc(branch) ? branch() : branch); + container.insertBefore(currentView.container, marker); + if (state && transition?.in) + transition.in(currentView.container); } }); return container; }; - $if.not = (condition, thenVal, otherwiseVal) => $if(() => !(typeof condition === "function" ? condition() : condition), thenVal, otherwiseVal); - var $for = (source, render, keyFn, tag = "div", props = { style: "display:contents" }) => { - const marker = document.createTextNode(""); - const container = $html2(tag, props, [marker]); - let cache = new Map; - $watch2(() => { - const items = (typeof source === "function" ? source() : source) || []; - const newCache = new Map; - const newOrder = []; + var For = (source, renderFn, keyFn, tag = "div", props = { style: "display:contents" }) => { + const marker = createText(""); + const container = Tag2(tag, props, [marker]); + let viewCache = new Map; + Watch2(() => { + const items = (isFunc(source) ? source() : source) || []; + const nextCache = new Map; + const order = []; for (let i = 0;i < items.length; i++) { const item = items[i]; const key = keyFn ? keyFn(item, i) : i; - let run = cache.get(key); - if (!run) { - run = _view(() => render(item, i)); - } else { - cache.delete(key); - } - newCache.set(key, run); - newOrder.push(key); + let view = viewCache.get(key) || Render(() => renderFn(item, i)); + viewCache.delete(key); + nextCache.set(key, view); + order.push(key); } - cache.forEach((run) => { - run.destroy(); - run.container.remove(); + viewCache.forEach((view) => { + view.destroy(); + view.container.remove(); }); let anchor = marker; - for (let i = newOrder.length - 1;i >= 0; i--) { - const run = newCache.get(newOrder[i]); - if (run.container.nextSibling !== anchor) { - container.insertBefore(run.container, anchor); + for (let i = order.length - 1;i >= 0; i--) { + const view = nextCache.get(order[i]); + if (view.container.nextSibling !== anchor) { + container.insertBefore(view.container, anchor); } - anchor = run.container; + anchor = view.container; } - cache = newCache; + viewCache = nextCache; }); return container; }; - var $router = (routes) => { - const sPath = $(window.location.hash.replace(/^#/, "") || "/"); - window.addEventListener("hashchange", () => sPath(window.location.hash.replace(/^#/, "") || "/")); - const outlet = $html2("div", { class: "router-outlet" }); - let current = null; - $watch2([sPath], async () => { - const path = sPath(); + var Router = (routes) => { + const currentPath = $(window.location.hash.replace(/^#/, "") || "/"); + window.addEventListener("hashchange", () => currentPath(window.location.hash.replace(/^#/, "") || "/")); + const outlet = Tag2("div", { class: "router-outlet" }); + let currentView = null; + Watch2([currentPath], async () => { + const path = currentPath(); const route = routes.find((r) => { - const rp = r.path.split("/").filter(Boolean), pp = path.split("/").filter(Boolean); - return rp.length === pp.length && rp.every((p, i) => p.startsWith(":") || p === pp[i]); + const routeParts = r.path.split("/").filter(Boolean); + const pathParts = path.split("/").filter(Boolean); + return routeParts.length === pathParts.length && routeParts.every((part, i) => part.startsWith(":") || part === pathParts[i]); }) || routes.find((r) => r.path === "*"); if (route) { - let comp = route.component; - if (typeof comp === "function" && comp.toString().includes("import")) { - comp = (await comp()).default || await comp(); + let component = route.component; + if (isFunc(component) && component.toString().includes("import")) { + component = (await component()).default || await component(); } const params = {}; - route.path.split("/").filter(Boolean).forEach((p, i) => { - if (p.startsWith(":")) - params[p.slice(1)] = path.split("/").filter(Boolean)[i]; + route.path.split("/").filter(Boolean).forEach((part, i) => { + if (part.startsWith(":")) + params[part.slice(1)] = path.split("/").filter(Boolean)[i]; }); - if (current) - current.destroy(); - if ($router.params) - $router.params(params); - current = _view(() => { + if (currentView) + currentView.destroy(); + if (Router.params) + Router.params(params); + currentView = Render(() => { try { - return typeof comp === "function" ? comp(params) : comp; + return isFunc(component) ? component(params) : component; } catch (e) { - return $html2("div", { class: "p-4 text-error" }, "Error loading view"); + return Tag2("div", { class: "p-4 text-error" }, "Error loading view"); } }); - outlet.appendChild(current.container); + outlet.appendChild(currentView.container); } }); return outlet; }; - $router.params = $({}); - $router.to = (path) => window.location.hash = path.replace(/^#?\/?/, "#/"); - $router.back = () => window.history.back(); - $router.path = () => window.location.hash.replace(/^#/, "") || "/"; - var $mount = (component, target) => { - const el = typeof target === "string" ? document.querySelector(target) : target; - if (!el) + Router.params = $({}); + Router.to = (path) => window.location.hash = path.replace(/^#?\/?/, "#/"); + Router.back = () => window.history.back(); + Router.path = () => window.location.hash.replace(/^#/, "") || "/"; + var Mount = (component, target) => { + const targetEl = typeof target === "string" ? doc.querySelector(target) : target; + if (!targetEl) return; - if (MOUNTED_NODES.has(el)) - MOUNTED_NODES.get(el).destroy(); - const instance = _view(typeof component === "function" ? component : () => component); - el.replaceChildren(instance.container); - MOUNTED_NODES.set(el, instance); + if (MOUNTED_NODES.has(targetEl)) + MOUNTED_NODES.get(targetEl).destroy(); + const instance = Render(isFunc(component) ? component : () => component); + targetEl.replaceChildren(instance.container); + MOUNTED_NODES.set(targetEl, instance); return instance; }; var Fragment = ({ children }) => children; - var SigProCore = { $, $watch: $watch2, $html: $html2, $if, $for, $router, $mount, Fragment }; + var SigPro = { $, $$, Render, Watch: Watch2, Tag: Tag2, If, For, Router, Mount, Fragment }; if (typeof window !== "undefined") { - const install = (registry) => { - Object.keys(registry).forEach((key) => { - window[key] = registry[key]; - }); - const tags = `div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter`.split(/\s+/); - tags.forEach((tagName) => { - const helperName = tagName.charAt(0).toUpperCase() + tagName.slice(1); - if (!(helperName in window)) { - window[helperName] = (props, content) => $html2(tagName, props, content); - } - }); - window.Fragment = Fragment; - window.SigPro = Object.freeze(registry); - }; - install(SigProCore); + assign(window, SigPro); + const tags = `div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter`.split(" "); + tags.forEach((tag) => { + const helper = tag[0].toUpperCase() + tag.slice(1); + if (!(helper in window)) + window[helper] = (p, c) => Tag2(tag, p, c); + }); + window.SigPro = Object.freeze(SigPro); } // src/components/index.js @@ -553,10 +551,10 @@ if (!icon) return null; if (typeof icon === "function") { - return $html2("span", { class: "mr-1" }, icon()); + return Tag2("span", { class: "mr-1" }, icon()); } if (typeof icon === "object") { - return $html2("span", { class: "mr-1" }, icon); + return Tag2("span", { class: "mr-1" }, icon); } if (typeof icon === "string") { const parts = icon.trim().split(/\s+/); @@ -564,9 +562,9 @@ const iconClass = hasRight ? parts.slice(0, -1).join(" ") : icon; const spacing = hasRight ? "ml-1" : "mr-1"; if (iconClass && !iconClass.startsWith("icon-[") && !iconClass.includes("--")) { - return $html2("span", { class: spacing }, iconClass); + return Tag2("span", { class: spacing }, iconClass); } - return $html2("span", { class: `${iconClass} ${spacing}`.trim() }); + return Tag2("span", { class: `${iconClass} ${spacing}`.trim() }); } return null; }; @@ -574,17 +572,17 @@ // src/components/Accordion.js var Accordion = (props, children) => { const { class: className, title, name, open, ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: ui("collapse collapse-arrow bg-base-200 mb-2", className) }, [ - $html2("input", { + Tag2("input", { type: name ? "radio" : "checkbox", name, checked: val(open) }), - $html2("div", { class: "collapse-title text-xl font-medium" }, title), - $html2("div", { class: "collapse-content" }, children) + Tag2("div", { class: "collapse-title text-xl font-medium" }, title), + Tag2("div", { class: "collapse-content" }, children) ]); }; @@ -605,16 +603,16 @@ const softClass = soft ? "alert-soft" : ""; const allClasses = [typeClass, softClass, className].filter(Boolean).join(" "); const content = children || props.message; - return $html2("div", { + return Tag2("div", { ...rest, role: "alert", class: ui("alert", allClasses) }, () => [ getIcon(iconMap[type]), - $html2("div", { class: "flex-1" }, [ - $html2("span", {}, [typeof content === "function" ? content() : content]) + Tag2("div", { class: "flex-1" }, [ + Tag2("span", {}, [typeof content === "function" ? content() : content]) ]), - actions ? $html2("div", { class: "flex-none" }, [ + actions ? Tag2("div", { class: "flex-none" }, [ typeof actions === "function" ? actions() : actions ]) : null ].filter(Boolean)); @@ -709,7 +707,7 @@ classes += " input-error"; return classes.trim(); }; - const inputElement = $html2("input", { + const inputElement = Tag2("input", { ...rest, type: () => isPassword ? visible() ? "text" : "password" : type, placeholder: placeholder || " ", @@ -719,12 +717,12 @@ disabled: () => val(disabled), "aria-invalid": () => hasError() ? "true" : "false" }); - return $html2("div", { class: "relative w-full" }, () => [ + return Tag2("div", { class: "relative w-full" }, () => [ inputElement, - leftIcon ? $html2("div", { + leftIcon ? Tag2("div", { class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60" }, leftIcon) : null, - isPassword ? $html2("button", { + isPassword ? Tag2("button", { type: "button", class: ui("absolute right-3 inset-y-0 flex items-center", "btn btn-ghost btn-circle opacity-50 hover:opacity-100", buttonSize()), onclick: (e) => { @@ -732,7 +730,7 @@ visible(!visible()); } }, () => getPasswordIcon()) : null, - $html2("div", { + Tag2("div", { class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0" }, () => hasError() ? errorMsg() : null) ]); @@ -775,7 +773,7 @@ isOpen(false); } }; - return $html2("div", { class: "relative w-full" }, [ + return Tag2("div", { class: "relative w-full" }, [ Input({ label, class: className, @@ -794,18 +792,18 @@ }, ...rest }), - $html2("ul", { + Tag2("ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => isOpen() && list().length ? "display:block" : "display:none" }, [ - $for(list, (opt, i) => $html2("li", {}, [ - $html2("a", { + For(list, (opt, i) => Tag2("li", {}, [ + Tag2("a", { class: () => `block w-full ${cursor() === i ? "active bg-primary text-primary-content" : ""}`, onclick: () => pick(opt), onmouseenter: () => cursor(i) }, typeof opt === "string" ? opt : opt.label) ]), (opt, i) => (typeof opt === "string" ? opt : opt.value) + i), - () => list().length ? null : $html2("li", { class: "p-2 text-center opacity-50" }, tt("nodata")()) + () => list().length ? null : Tag2("li", { class: "p-2 text-center opacity-50" }, tt("nodata")()) ]) ]); }; @@ -817,7 +815,7 @@ }); var Badge = (props, children) => { const { class: className, ...rest } = props; - return $html2("span", { + return Tag2("span", { ...rest, class: ui("badge", className) }, children); @@ -831,12 +829,12 @@ var Button = (props, children) => { const { class: className, loading, icon, ...rest } = props; const iconEl = getIcon(icon); - return $html2("button", { + return Tag2("button", { ...rest, class: ui("btn", className), disabled: () => val(loading) || val(props.disabled) }, () => [ - val(loading) && $html2("span", { class: "loading loading-spinner" }), + val(loading) && Tag2("span", { class: "loading loading-spinner" }), iconEl, children ].filter(Boolean)); @@ -849,17 +847,17 @@ }); var Checkbox = (props) => { const { class: className, value, tooltip, toggle, label, ...rest } = props; - const checkEl = $html2("input", { + const checkEl = Tag2("input", { ...rest, type: "checkbox", class: () => ui(val(toggle) ? "toggle" : "checkbox", className), checked: value }); - const layout = $html2("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag2("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, - label ? $html2("span", { class: "label-text" }, label) : null + label ? Tag2("span", { class: "label-text" }, label) : null ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Colorpicker.js @@ -881,8 +879,8 @@ ...["#2e1065", "#4c1d95", "#6d28d9", "#7c3aed", "#8b5cf6", "#a855f7", "#d946ef", "#fae8ff"] ]; const getColor = () => val(value) || "#000000"; - return $html2("div", { class: ui("relative w-fit", className) }, [ - $html2("button", { + return Tag2("div", { class: ui("relative w-fit", className) }, [ + Tag2("button", { type: "button", class: "btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case", onclick: (e) => { @@ -891,17 +889,17 @@ }, ...rest }, [ - $html2("div", { + Tag2("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}` }), - label ? $html2("span", { class: "opacity-80" }, label) : null + label ? Tag2("span", { class: "opacity-80" }, label) : null ]), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation() }, [ - $html2("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => $html2("button", { + Tag2("div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => Tag2("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -916,7 +914,7 @@ } }))) ])), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false) })) @@ -1004,9 +1002,9 @@ internalDate(new Date(d.getFullYear() + y, d.getMonth(), 1)); }; const HourSlider = ({ value: hVal, onChange }) => { - return $html2("div", { class: "flex-1" }, [ - $html2("div", { class: "flex gap-2 items-center" }, [ - $html2("input", { + return Tag2("div", { class: "flex-1" }, [ + Tag2("div", { class: "flex gap-2 items-center" }, [ + Tag2("input", { type: "range", min: 0, max: 23, @@ -1017,11 +1015,11 @@ onChange(newHour); } }), - $html2("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") + Tag2("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00") ]) ]); }; - return $html2("div", { class: ui("relative w-full", className) }, [ + return Tag2("div", { class: ui("relative w-full", className) }, [ Input({ label, placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."), @@ -1034,25 +1032,25 @@ }, ...rest }), - $if(isOpen, () => $html2("div", { + If(isOpen, () => Tag2("div", { class: "absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none", onclick: (e) => e.stopPropagation() }, [ - $html2("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - $html2("div", { class: "flex gap-0.5" }, [ - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, getIcon("icon-[lucide--chevrons-left]")), - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, getIcon("icon-[lucide--chevron-left]")) + Tag2("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + Tag2("div", { class: "flex gap-0.5" }, [ + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, getIcon("icon-[lucide--chevrons-left]")), + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, getIcon("icon-[lucide--chevron-left]")) ]), - $html2("span", { class: "font-bold uppercase flex-1 text-center" }, [ + Tag2("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }) ]), - $html2("div", { class: "flex gap-0.5" }, [ - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, getIcon("icon-[lucide--chevron-right]")), - $html2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, getIcon("icon-[lucide--chevrons-right]")) + Tag2("div", { class: "flex gap-0.5" }, [ + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, getIcon("icon-[lucide--chevron-right]")), + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, getIcon("icon-[lucide--chevrons-right]")) ]) ]), - $html2("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => $html2("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + Tag2("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => Tag2("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -1062,11 +1060,11 @@ const daysInMonth = new Date(year, month + 1, 0).getDate(); const nodes = []; for (let i = 0;i < offset; i++) - nodes.push($html2("div")); + nodes.push(Tag2("div")); for (let i = 1;i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); - nodes.push($html2("button", { + nodes.push(Tag2("button", { type: "button", class: () => { const v = val(value); @@ -1097,8 +1095,8 @@ return nodes; } ]), - hour ? $html2("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ - isRangeMode() ? $html2("div", { class: "flex gap-4" }, [ + hour ? Tag2("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + isRangeMode() ? Tag2("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (newHour) => { @@ -1129,7 +1127,7 @@ }) ]) : null ])), - $if(isOpen, () => $html2("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) + If(isOpen, () => Tag2("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })) ]); }; @@ -1141,11 +1139,11 @@ var Drawer = (props, children) => { const { class: className, id, open, side, content, ...rest } = props; const drawerId = id || `drawer-${Math.random().toString(36).slice(2, 9)}`; - return $html2("div", { + return Tag2("div", { ...rest, class: ui("drawer", className) }, [ - $html2("input", { + Tag2("input", { id: drawerId, type: "checkbox", class: "drawer-toggle", @@ -1155,11 +1153,11 @@ open(e.target.checked); } }), - $html2("div", { class: "drawer-content" }, [ + Tag2("div", { class: "drawer-content" }, [ typeof content === "function" ? content() : content ]), - $html2("div", { class: "drawer-side" }, [ - $html2("label", { + Tag2("div", { class: "drawer-side" }, [ + Tag2("label", { for: drawerId, class: "drawer-overlay", onclick: () => { @@ -1167,7 +1165,7 @@ open(false); } }), - $html2("div", { class: "min-h-full bg-base-200 w-80" }, [ + Tag2("div", { class: "min-h-full bg-base-200 w-80" }, [ typeof side === "function" ? side() : side ]) ]) @@ -1191,11 +1189,11 @@ } var Dropdown = (props) => { const { class: className, label, icon, items, ...rest } = props; - return $html("details", { + return Tag("details", { ...rest, class: ui("dropdown", className) }, [ - $html("summary", { + Tag("summary", { class: "btn m-1 flex items-center gap-2 list-none cursor-pointer", style: "display: inline-flex;", onclick: (e) => { @@ -1211,14 +1209,14 @@ () => icon ? typeof icon === "function" ? icon() : icon : null, () => label ? typeof label === "function" ? label() : label : null ]), - $html("ul", { + Tag("ul", { tabindex: "-1", class: "dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300" }, [ () => { const currentItems = typeof items === "function" ? items() : items || []; - return currentItems.map((item) => $html("li", {}, [ - $html("a", { + return currentItems.map((item) => Tag("li", {}, [ + Tag("a", { class: item.class || "", onclick: (e) => { if (item.onclick) @@ -1231,8 +1229,8 @@ } } }, [ - item.icon ? $html("span", {}, item.icon) : null, - $html("span", {}, item.label) + item.icon ? Tag("span", {}, item.icon) : null, + Tag("span", {}, item.label) ]) ])); } @@ -1247,11 +1245,11 @@ }); var Fab = (props) => { const { class: className, icon, label, actions = [], position = "bottom-6 right-6", ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: ui(`fab absolute ${position} flex flex-col-reverse items-end gap-3 z-[100]`, className) }, [ - $html2("div", { + Tag2("div", { tabindex: 0, role: "button", class: "btn btn-lg btn-circle btn-primary shadow-2xl" @@ -1259,9 +1257,9 @@ icon ? getIcon(icon) : null, !icon && label ? label : null ]), - ...val(actions).map((act) => $html2("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ - act.label ? $html2("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, - $html2("button", { + ...val(actions).map((act) => Tag2("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ + act.label ? Tag2("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, + Tag2("button", { type: "button", class: `btn btn-circle shadow-lg ${act.class || ""}`, onclick: (e) => { @@ -1280,13 +1278,13 @@ }); var Fieldset = (props, children) => { const { class: className, legend, ...rest } = props; - return $html2("fieldset", { + return Tag2("fieldset", { ...rest, class: ui("fieldset bg-base-200 border border-base-300 p-4 rounded-lg", className) }, [ () => { const legendText = val(legend); - return legendText ? $html2("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; + return legendText ? Tag2("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; }, children ]); @@ -1319,12 +1317,12 @@ selectedFiles(updated); onSelect?.(updated); }; - return $html2("fieldset", { ...rest, class: ui("fieldset w-full p-0", className) }, [ - $html2("div", { + return Tag2("fieldset", { ...rest, class: ui("fieldset w-full p-0", className) }, [ + Tag2("div", { class: () => `w-full ${tooltip ? "tooltip tooltip-top before:z-50 after:z-50" : ""}`, "data-tip": tooltip }, [ - $html2("label", { + Tag2("label", { class: () => ` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer @@ -1342,12 +1340,12 @@ handleFiles(e.dataTransfer.files); } }, [ - $html2("div", { class: "flex items-center gap-3 w-full" }, [ + Tag2("div", { class: "flex items-center gap-3 w-full" }, [ getIcon("icon-[lucide--upload]"), - $html2("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - $html2("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`) + Tag2("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + Tag2("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`) ]), - $html2("input", { + Tag2("input", { type: "file", multiple: true, accept, @@ -1356,15 +1354,15 @@ }) ]) ]), - () => error() ? $html2("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null, - $if(() => selectedFiles().length > 0, () => $html2("ul", { class: "mt-2 space-y-1" }, [ - $for(selectedFiles, (file, index) => $html2("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - $html2("div", { class: "flex items-center gap-2 truncate" }, [ - $html2("span", { class: "opacity-50" }, "\uD83D\uDCC4"), - $html2("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - $html2("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) + () => error() ? Tag2("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null, + If(() => selectedFiles().length > 0, () => Tag2("ul", { class: "mt-2 space-y-1" }, [ + For(selectedFiles, (file, index) => Tag2("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + Tag2("div", { class: "flex items-center gap-2 truncate" }, [ + Tag2("span", { class: "opacity-50" }, "\uD83D\uDCC4"), + Tag2("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + Tag2("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`) ]), - $html2("button", { + Tag2("button", { type: "button", class: "btn btn-ghost btn-xs btn-circle", onclick: (e) => { @@ -1385,11 +1383,11 @@ }); var Indicator = (props, children) => { const { value, class: className, ...rest } = props; - return $html2("div", { + return Tag2("div", { ...rest, class: "indicator" }, () => [ - value ? $html2("span", { + value ? Tag2("span", { class: ui("indicator-item badge", className) }, () => typeof value === "function" ? value() : value) : null, children @@ -1404,16 +1402,16 @@ var Label = (props) => { const { children, value, floating = false, error, required, class: className, ...rest } = props; if (floating) { - return $html2("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? $html2("span", {}, value) : null, + return Tag2("label", { class: ui("floating-label w-full", className), ...rest }, () => [ + value ? Tag2("span", {}, value) : null, children, - error ? $html2("span", { class: "text-error text-xs" }, val(error)) : null + error ? Tag2("span", { class: "text-error text-xs" }, val(error)) : null ]); } - return $html2("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? $html2("span", { class: "label" }, value) : null, + return Tag2("label", { class: ui("input w-full", className), ...rest }, () => [ + value ? Tag2("span", { class: "label" }, value) : null, children, - error ? $html2("span", { class: "text-error text-xs" }, val(error)) : null + error ? Tag2("span", { class: "text-error text-xs" }, val(error)) : null ]); }; @@ -1424,11 +1422,11 @@ }); var List = (props) => { const { class: className, items, header, render, keyFn = (item, index) => item.id ?? index, ...rest } = props; - const listItems = $for(items, (item, index) => $html2("li", { class: "list-row" }, [render(item, index)]), keyFn); - return $html2("ul", { + const listItems = For(items, (item, index) => Tag2("li", { class: "list-row" }, [render(item, index)]), keyFn); + return Tag2("ul", { ...rest, class: ui("list bg-base-100 rounded-box shadow-md", className) - }, header ? [$if(header, () => $html2("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); + }, header ? [If(header, () => Tag2("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); }; // src/components/Menu.js @@ -1438,16 +1436,16 @@ }); var Menu = (props) => { const { class: className, items, ...rest } = props; - const renderItems = (items2) => $for(() => items2 || [], (it) => $html2("li", {}, [ - it.children ? $html2("details", { open: it.open }, [ - $html2("summary", {}, [it.icon && $html2("span", { class: "mr-2" }, it.icon), it.label]), - $html2("ul", {}, renderItems(it.children)) - ]) : $html2("a", { class: () => val(it.active) ? "active" : "", onclick: it.onclick }, [ - it.icon && $html2("span", { class: "mr-2" }, it.icon), + const renderItems = (items2) => For(() => items2 || [], (it) => Tag2("li", {}, [ + it.children ? Tag2("details", { open: it.open }, [ + Tag2("summary", {}, [it.icon && Tag2("span", { class: "mr-2" }, it.icon), it.label]), + Tag2("ul", {}, renderItems(it.children)) + ]) : Tag2("a", { class: () => val(it.active) ? "active" : "", onclick: it.onclick }, [ + it.icon && Tag2("span", { class: "mr-2" }, it.icon), it.label ]) ]), (it, i) => it.label || i); - return $html2("ul", { ...rest, class: ui("menu bg-base-200 rounded-box", className) }, renderItems(items)); + return Tag2("ul", { ...rest, class: ui("menu bg-base-200 rounded-box", className) }, renderItems(items)); }; // src/components/Modal.js @@ -1470,12 +1468,12 @@ dialogElement.close(); } }; - $watch2(() => handleOpen()); + Watch2(() => handleOpen()); const close = () => { if (typeof open === "function") open(false); }; - return $html2("dialog", { + return Tag2("dialog", { ...rest, ref: (el) => { dialogElement = el; @@ -1486,20 +1484,20 @@ onclose: close, oncancel: close }, [ - $html2("div", { class: "modal-box" }, [ - title ? $html2("h3", { class: "text-lg font-bold mb-4" }, () => typeof title === "function" ? title() : title) : null, - $html2("div", { class: "py-2" }, [ + Tag2("div", { class: "modal-box" }, [ + title ? Tag2("h3", { class: "text-lg font-bold mb-4" }, () => typeof title === "function" ? title() : title) : null, + Tag2("div", { class: "py-2" }, [ typeof children === "function" ? children() : children ]), - $html2("div", { class: "modal-action" }, [ - $html2("form", { method: "dialog", class: "flex gap-2" }, [ + Tag2("div", { class: "modal-action" }, [ + Tag2("form", { method: "dialog", class: "flex gap-2" }, [ ...(Array.isArray(buttons) ? buttons : [buttons]).filter(Boolean), Button({ type: "submit" }, tt("close")()) ]) ]) ]), - $html2("form", { method: "dialog", class: "modal-backdrop" }, [ - $html2("button", {}, "close") + Tag2("form", { method: "dialog", class: "modal-backdrop" }, [ + Tag2("button", {}, "close") ]) ]); }; @@ -1511,7 +1509,7 @@ }); var Navbar = (props, children) => { const { class: className, ...rest } = props; - return $html2("div", { ...rest, class: ui("navbar bg-base-100 shadow-sm px-4", className) }, children); + return Tag2("div", { ...rest, class: ui("navbar bg-base-100 shadow-sm px-4", className) }, children); }; // src/components/Radio.js @@ -1521,7 +1519,7 @@ }); var Radio = (props) => { const { class: className, label, tooltip, value, inputValue, name, ...rest } = props; - const radioEl = $html2("input", { + const radioEl = Tag2("input", { ...rest, type: "radio", name, @@ -1534,11 +1532,11 @@ }); if (!label && !tooltip) return radioEl; - const layout = $html2("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag2("label", { class: "label cursor-pointer justify-start gap-3" }, [ radioEl, - label ? $html2("span", { class: "label-text" }, label) : null + label ? Tag2("span", { class: "label-text" }, label) : null ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Range.js @@ -1548,7 +1546,7 @@ }); var Range = (props) => { const { class: className, label, tooltip, value, ...rest } = props; - const rangeEl = $html2("input", { + const rangeEl = Tag2("input", { ...rest, type: "range", class: ui("range", className), @@ -1557,11 +1555,11 @@ }); if (!label && !tooltip) return rangeEl; - const layout = $html2("div", { class: "flex flex-col gap-2" }, [ - label ? $html2("span", { class: "label-text" }, label) : null, + const layout = Tag2("div", { class: "flex flex-col gap-2" }, [ + label ? Tag2("span", { class: "label-text" }, label) : null, rangeEl ]); - return tooltip ? $html2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag2("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Rating.js @@ -1572,12 +1570,12 @@ var Rating = (props) => { const { class: className, value, count = 5, mask = "mask-star", readonly = false, onchange, ...rest } = props; const ratingGroup = `rating-${Math.random().toString(36).slice(2, 7)}`; - return $html2("div", { + return Tag2("div", { ...rest, class: () => ui(`rating ${val(readonly) ? "pointer-events-none" : ""}`, className) }, Array.from({ length: val(count) }, (_, i) => { const starValue = i + 1; - return $html2("input", { + return Tag2("input", { type: "radio", name: ratingGroup, class: `mask ${mask}`, @@ -1602,18 +1600,18 @@ }); var Select = (props) => { const { class: className, label, items, value, ...rest } = props; - const selectEl = $html2("select", { + const selectEl = Tag2("select", { ...rest, class: ui("select select-bordered w-full", className), value - }, $for(() => val(items) || [], (opt) => $html2("option", { + }, For(() => val(items) || [], (opt) => Tag2("option", { value: opt.value, $selected: () => String(val(value)) === String(opt.value) }, opt.label), (opt) => opt.value)); if (!label) return selectEl; - return $html2("label", { class: "fieldset-label flex flex-col gap-1" }, [ - $html2("span", {}, label), + return Tag2("label", { class: "fieldset-label flex flex-col gap-1" }, [ + Tag2("span", {}, label), selectEl ]); }; @@ -1625,7 +1623,7 @@ }); var Stack = (props, children) => { const { class: className, ...rest } = props; - return $html2("div", { ...rest, class: ui("stack", className) }, children); + return Tag2("div", { ...rest, class: ui("stack", className) }, children); }; // src/components/Stat.js @@ -1635,11 +1633,11 @@ }); var Stat = (props) => { const { class: className, icon, label, value, desc, ...rest } = props; - return $html2("div", { ...rest, class: ui("stat", className) }, [ - icon && $html2("div", { class: "stat-figure text-secondary" }, icon), - label && $html2("div", { class: "stat-title" }, label), - $html2("div", { class: "stat-value" }, () => val(value) ?? value), - desc && $html2("div", { class: "stat-desc" }, desc) + return Tag2("div", { ...rest, class: ui("stat", className) }, [ + icon && Tag2("div", { class: "stat-figure text-secondary" }, icon), + label && Tag2("div", { class: "stat-title" }, label), + Tag2("div", { class: "stat-value" }, () => val(value) ?? value), + desc && Tag2("div", { class: "stat-desc" }, desc) ]); }; @@ -1650,8 +1648,8 @@ }); var Swap = (props) => { const { class: className, value, on, off, ...rest } = props; - return $html2("label", { ...rest, class: ui("swap", className) }, [ - $html2("input", { + return Tag2("label", { ...rest, class: ui("swap", className) }, [ + Tag2("input", { type: "checkbox", checked: () => val(value), onclick: (e) => { @@ -1660,8 +1658,8 @@ } } }), - $html2("div", { class: "swap-on" }, on), - $html2("div", { class: "swap-off" }, off) + Tag2("div", { class: "swap-on" }, on), + Tag2("div", { class: "swap-off" }, off) ]); }; @@ -1678,30 +1676,30 @@ return ui("table", className, zebraClass, pinRowsClass); }; const getInternalKeyFn = keyFn || ((item, idx) => item.id || idx); - return $html2("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ - $html2("table", { ...rest, class: tableClass }, [ - $html2("thead", {}, [ - $html2("tr", {}, columns.map((col) => $html2("th", { class: col.class || "" }, col.label))) + return Tag2("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ + Tag2("table", { ...rest, class: tableClass }, [ + Tag2("thead", {}, [ + Tag2("tr", {}, columns.map((col) => Tag2("th", { class: col.class || "" }, col.label))) ]), - $html2("tbody", {}, [ - $for(items, (item, index) => { + Tag2("tbody", {}, [ + For(items, (item, index) => { const it = () => { const currentItems = val(items); const key = getInternalKeyFn(item, index); return currentItems.find((u, i) => getInternalKeyFn(u, i) === key) || item; }; - return $html2("tr", { class: "hover" }, columns.map((col) => { + return Tag2("tr", { class: "hover" }, columns.map((col) => { const cellContent = () => { const latestItem = it(); if (col.render) return col.render(latestItem, index); return val(latestItem[col.key]); }; - return $html2("td", { class: col.class || "" }, [cellContent]); + return Tag2("td", { class: col.class || "" }, [cellContent]); })); }, getInternalKeyFn), - $if(() => val(items).length === 0, () => $html2("tr", {}, [ - $html2("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ + If(() => val(items).length === 0, () => Tag2("tr", {}, [ + Tag2("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ val(empty) ]) ])) @@ -1719,20 +1717,20 @@ const { items, class: className, ...rest } = props; const itemsSignal = typeof items === "function" ? items : () => items || []; const activeIndex = $(0); - $watch(() => { + Watch(() => { const idx = itemsSignal().findIndex((it) => val(it.active) === true); if (idx !== -1 && idx !== activeIndex()) activeIndex(idx); }); - return $html2("div", { ...rest, class: "w-full" }, [ - $html2("div", { + return Tag2("div", { ...rest, class: "w-full" }, [ + Tag2("div", { role: "tablist", class: ui("tabs", className || "tabs-box") }, () => { const list = itemsSignal(); return list.map((it, idx) => { const isSelected = () => activeIndex() === idx; - const tab = $html2("button", { + const tab = Tag2("button", { role: "tab", class: () => ui("tab", isSelected() ? "tab-active" : ""), onclick: (e) => { @@ -1744,7 +1742,7 @@ } } }); - $watch(() => { + Watch(() => { const content = val(it.label); if (content instanceof Node) { tab.replaceChildren(content); @@ -1755,10 +1753,10 @@ return tab; }); }), - $html2("div", { class: "tab-panels" }, () => { + Tag2("div", { class: "tab-panels" }, () => { return itemsSignal().map((it, idx) => { const isVisible = () => activeIndex() === idx; - return $html2("div", { + return Tag2("div", { role: "tabpanel", class: "tab-content bg-base-100 border-base-300 p-6", style: () => isVisible() ? "display: block" : "display: none" @@ -1783,7 +1781,7 @@ warning: "icon-[lucide--alert-triangle]", error: "icon-[lucide--alert-circle]" }; - return $html2("ul", { + return Tag2("ul", { ...rest, class: () => ui(`timeline ${val(vertical) ? "timeline-vertical" : "timeline-horizontal"} ${val(compact) ? "timeline-compact" : ""}`, className) }, () => { @@ -1795,14 +1793,14 @@ const isCompleted = () => val(item.completed); const prevCompleted = () => i > 0 && val(list[i - 1].completed); const renderSlot = (content) => typeof content === "function" ? content() : content; - return $html2("li", { class: "flex-1" }, [ - !isFirst ? $html2("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, - $html2("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), - $html2("div", { class: "timeline-middle" }, [ + return Tag2("li", { class: "flex-1" }, [ + !isFirst ? Tag2("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, + Tag2("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), + Tag2("div", { class: "timeline-middle" }, [ () => item.icon ? getIcon(item.icon) : getIcon(iconMap[itemType] || iconMap.success) ]), - $html2("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), - !isLast ? $html2("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null + Tag2("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), + !isLast ? Tag2("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null ]); }); }); @@ -1816,13 +1814,13 @@ var Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = $html2("div", { + container = Tag2("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none" }); document.body.appendChild(container); } - const toastHost = $html2("div", { style: "display: contents" }); + const toastHost = Tag2("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; const close = () => { @@ -1843,10 +1841,10 @@ }; const ToastComponent = () => { const closeIcon = getIcon("icon-[lucide--x]"); - const el = $html2("div", { + const el = Tag2("div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto` }, [ - $html2("span", {}, [typeof message === "function" ? message() : message]), + Tag2("span", {}, [typeof message === "function" ? message() : message]), Button({ class: "btn-xs btn-circle btn-ghost", onclick: close @@ -1855,7 +1853,7 @@ requestAnimationFrame(() => el.classList.remove("translate-x-10", "opacity-0")); return el; }; - const instance = $mount(ToastComponent, toastHost); + const instance = Mount(ToastComponent, toastHost); if (duration > 0) { timeoutId = setTimeout(close, duration); } @@ -1867,7 +1865,7 @@ __export(exports_Tooltip, { Tooltip: () => Tooltip }); - var Tooltip = (props, children) => $html2("div", { + var Tooltip = (props, children) => Tag2("div", { ...props, class: () => ui("tooltip", props.class), "data-tip": props.tip diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 34fc3a2..530fa47 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:_f,getOwnPropertyNames:w_,getOwnPropertyDescriptor:N_}=Object,F_=Object.prototype.hasOwnProperty;var K_=new WeakMap,U_=(A)=>{var C=K_.get(A),M;if(C)return C;if(C=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")w_(A).map((E)=>!F_.call(C,E)&&_f(C,E,{get:()=>A[E],enumerable:!(M=N_(A,E))||M.enumerable}));return K_.set(A,C),C};var z=(A,C)=>{for(var M in C)_f(A,M,{get:C[M],enumerable:!0,configurable:!0,set:(E)=>C[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>N,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var O=null,v=null,m=new Set,n=!1,Af=new WeakMap,V_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((C,M)=>(C.depth||0)-(M.depth||0));m.clear();for(let C of A)if(!C._deleted)C()}n=!1},Y_=(A)=>{if(O&&!O._deleted)A.add(O),O._deps.add(A)},Mf=(A)=>{for(let C of A){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Mf(C._subs)}else m.add(C)}if(!n)queueMicrotask(V_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((C)=>C()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let C=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=A({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Ef(E),E.remove()}}},w=(A,C=null)=>{if(typeof A==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=A();if(!Object.is(T,P)||_)T=P,_=!1,Mf(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),T}}let M=A;if(C)try{let W=localStorage.getItem(C);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,T)){if(M=T,C)localStorage.setItem(C,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,C)=>{let M=Array.isArray(A),E=M?C:A,W=M?A:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(A,C={},M=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")M=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),T=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(x(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(x(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(x(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Ef?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(M),T},U=(A,C,M=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let B=!!(typeof A==="function"?A():A);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&M){let P=B?C:M;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(A,C,M)=>U(()=>!(typeof A==="function"?A():A),C,M);var V=(A,C,M,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return x(()=>{let B=(typeof A==="function"?A():A)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(A)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([C],async()=>{let W=C(),T=A.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||A.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=w({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Cf=(A,C)=>{let M=typeof C==="string"?document.querySelector(C):C;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,O_={$:w,$watch:x,$html:f,$if:U,$for:V,$router:g,$mount:Cf,Fragment:q_};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=q_,window.SigPro=Object.freeze(C)})(O_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var Lf={};z(Lf,{Accordion:()=>Tf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(A)=>typeof A==="function"?A():A,X=(A,C)=>typeof C==="function"?()=>`${A} ${C()||""}`.trim():`${A} ${C||""}`.trim(),N=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let C=A.trim().split(/\s+/),M=C[C.length-1]==="right",E=M?C.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Tf=(A,C)=>{let{class:M,title:E,name:W,open:T,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Pf={};z(Pf,{Alert:()=>Wf});var Wf=(A,C)=>{let{class:M,actions:E,type:W="info",soft:T=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",M].filter(Boolean).join(" "),Z=C||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Jf});var k_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=w("es");var y=(A)=>()=>k_[H_()][A]||A;var Bf={};z(Bf,{Input:()=>b});var b=(A)=>{let{class:C,value:M,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=A,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Jf=(A)=>{let{class:C,items:M=[],value:E,onSelect:W,label:T,placeholder:_,...L}=A,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(M)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||y("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,C)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},C)};var Zf={};z(Zf,{Button:()=>c});var c=(A,C)=>{let{class:M,loading:E,icon:W,...T}=A,_=N(W);return f("button",{...T,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:C,value:M,tooltip:E,toggle:W,label:T,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:M}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:C,value:M,label:E,...W}=A,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:C,value:M,range:E,label:W,placeholder:T,hour:_=!1,...L}=A,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(M);if(Y())if(!F?.start||F.start&&F.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,R_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,F,h),H=D(Z_);e.push(f("button",{type:"button",class:()=>{let I=Q(M),l=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var wf={};z(wf,{Drawer:()=>Df});var Df=(A,C)=>{let{class:M,id:E,open:W,side:T,content:_,...L}=A,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Ff={};z(Ff,{Dropdown:()=>Nf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Nf=(A)=>{let{class:C,label:M,icon:E,items:W,...T}=A;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Vf={};z(Vf,{Fab:()=>Uf});var Uf=(A)=>{let{class:C,icon:M,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?N(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var kf={};z(kf,{Fieldset:()=>Of});var Of=(A,C)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:C,tooltip:M,max:E=2,accept:W="*",onSelect:T,..._}=A,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` +(()=>{var{defineProperty:Lf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:j_}=Object,y_=Object.prototype.hasOwnProperty;var V_=new WeakMap,I_=(_)=>{var E=V_.get(_),M;if(E)return E;if(E=Lf({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function")x_(_).map((C)=>!y_.call(E,C)&&Lf(E,C,{get:()=>_[C],enumerable:!(M=j_(_,C))||M.enumerable}));return V_.set(_,E),E};var z=(_,E)=>{for(var M in E)Lf(_,M,{get:E[M],enumerable:!0,configurable:!0,set:(C)=>E[M]=()=>C})};var c_={};z(c_,{val:()=>G,ui:()=>Q,tt:()=>x,getIcon:()=>w,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var h=null,I=null,n=new Set,t=!1,Wf=new WeakMap,a=document,g=Array.isArray,Gf=Object.assign,N_=(_)=>a.createElement(_),p=(_)=>a.createTextNode(String(_??"")),U=(_)=>typeof _==="function",Pf=(_)=>typeof _==="object"&&_!==null,Jf=(_,E)=>{let M=h;h=_;try{return E()}finally{h=M}},Qf=(_)=>{if(_._cleanups)_._cleanups.forEach((E)=>E()),_._cleanups.clear();_.childNodes?.forEach(Qf)},m_=()=>{if(t)return;t=!0;while(n.size>0){let _=Array.from(n).sort((E,M)=>(E.depth||0)-(M.depth||0));n.clear();for(let E of _)if(!E._deleted)E()}t=!1},Bf=(_)=>{if(h&&!h._deleted)_.add(h),h._deps.add(_)},s=(_)=>{if(_.forEach((E)=>{if(E===h||E._deleted)return;if(E._isComputed){if(E.markDirty(),E._subs)s(E._subs)}else n.add(E)}),!t)queueMicrotask(m_)},o=(_)=>{let E=new Set,M=I,C=N_("div");C.style.display="contents",I={cleanups:E};let A=(W)=>{if(!W)return;if(W._isRuntime)E.add(W.destroy),C.appendChild(W.container);else if(g(W))W.forEach(A);else C.appendChild(W instanceof Node?W:p(W))};try{A(_({onCleanup:(W)=>E.add(W)}))}finally{I=M}return{_isRuntime:!0,container:C,destroy:()=>{E.forEach((W)=>W()),Qf(C),C.remove()}}},D=(_,E=null)=>{let M=new Set;if(U(_)){let A,W=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear(),Jf(L,()=>{let P=_();if(!Object.is(A,P)||W)A=P,W=!1,s(M)})};if(Gf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>W=!0,stop:()=>{L._deleted=!0,L._deps.forEach((P)=>P.delete(L)),M.clear()}}),I)I.cleanups.add(L.stop);return()=>{if(W)L();return Bf(M),A}}let C=_;if(E)try{let A=localStorage.getItem(E);if(A!==null)C=JSON.parse(A)}catch(A){console.warn("SigPro Storage Lock",A)}return(...A)=>{if(A.length){let W=U(A[0])?A[0](C):A[0];if(!Object.is(C,W)){if(C=W,E)localStorage.setItem(E,JSON.stringify(C));s(M)}}return Bf(M),C}},U_=(_,E=new WeakMap)=>{if(!Pf(_))return _;if(E.has(_))return E.get(_);let M={},C=new Proxy(_,{get(A,W){if(h)Bf(M[W]??=new Set);let L=Reflect.get(A,W);return Pf(L)?U_(L,E):L},set(A,W,L){if(Object.is(A[W],L))return!0;let P=Reflect.set(A,W,L);if(M[W])s(M[W]);return P}});return E.set(_,C),C},m=(_,E)=>{let M=g(_),C=M?E:_;if(!U(C))return()=>{};let A=I,W=()=>{if(W._deleted)return;W._deps.forEach((P)=>P.delete(W)),W._deps.clear(),W._cleanups.forEach((P)=>P()),W._cleanups.clear();let L=I;W.depth=h?h.depth+1:0,Jf(W,()=>{if(I={cleanups:W._cleanups},M)Jf(null,C),_.forEach((P)=>U(P)&&P());else C();I=L})};if(Gf(W,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(W._deleted)return;if(W._deleted=!0,n.delete(W),W._deps.forEach((L)=>L.delete(W)),W._cleanups.forEach((L)=>L()),A)A.cleanups.delete(W.stop)}}),A)A.cleanups.add(W.stop);return W(),W.stop},f=(_,E={},M=[])=>{if(E instanceof Node||g(E)||!Pf(E))M=E,E={};let A=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(_)?a.createElementNS("http://www.w3.org/2000/svg",_):N_(_);A._cleanups=new Set,A.onUnmount=(J)=>A._cleanups.add(J);let W=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(J,B)=>{let Z=(J==="src"||J==="href")&&String(B).toLowerCase().includes("javascript:")?"#":B;if(W.includes(J))A[J]=!!Z,Z?A.setAttribute(J,""):A.removeAttribute(J);else Z==null?A.removeAttribute(J):A.setAttribute(J,Z)};for(let[J,B]of Object.entries(E)){if(J==="ref"){U(B)?B(A):B.current=A;continue}let Z=U(B);if(J.startsWith("on")){let X=J.slice(2).toLowerCase().split(".")[0];A.addEventListener(X,B),A._cleanups.add(()=>A.removeEventListener(X,B))}else if(Z){if(A._cleanups.add(m(()=>{let X=B();J==="class"?A.className=X||"":L(J,X)})),["INPUT","TEXTAREA","SELECT"].includes(A.tagName)&&(J==="value"||J==="checked")){let X=J==="checked"?"change":"input",R=(Y)=>B(Y.target[J]);A.addEventListener(X,R),A._cleanups.add(()=>A.removeEventListener(X,R))}}else L(J,B)}let P=(J)=>{if(g(J))return J.forEach(P);if(U(J)){let B=p("");A.appendChild(B);let Z=[];A._cleanups.add(m(()=>{let X=J(),R=(g(X)?X:[X]).map((Y)=>Y?._isRuntime?Y.container:Y instanceof Node?Y:p(Y));Z.forEach((Y)=>{Qf(Y),Y.remove()}),R.forEach((Y)=>B.parentNode?.insertBefore(Y,B)),Z=R}))}else A.appendChild(J instanceof Node?J:p(J))};return P(M),A},O=(_,E,M=null,C=null)=>{let A=p(""),W=f("div",{style:"display:contents"},[A]),L=null,P=null;return m(()=>{let J=!!(U(_)?_():_);if(J===P)return;P=J;let B=()=>{if(L)L.destroy();L=null};if(L&&!J&&C?.out)C.out(L.container,B);else B();let Z=J?E:M;if(Z){if(L=o(()=>U(Z)?Z():Z),W.insertBefore(L.container,A),J&&C?.in)C.in(L.container)}}),W},N=(_,E,M,C="div",A={style:"display:contents"})=>{let W=p(""),L=f(C,A,[W]),P=new Map;return m(()=>{let J=(U(_)?_():_)||[],B=new Map,Z=[];for(let R=0;RE(Y,R));P.delete(S),B.set(S,$),Z.push(S)}P.forEach((R)=>{R.destroy(),R.container.remove()});let X=W;for(let R=Z.length-1;R>=0;R--){let Y=B.get(Z[R]);if(Y.container.nextSibling!==X)L.insertBefore(Y.container,X);X=Y.container}P=B}),L},b=(_)=>{let E=D(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>E(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),C=null;return m([E],async()=>{let A=E(),W=_.find((L)=>{let P=L.path.split("/").filter(Boolean),J=A.split("/").filter(Boolean);return P.length===J.length&&P.every((B,Z)=>B.startsWith(":")||B===J[Z])})||_.find((L)=>L.path==="*");if(W){let L=W.component;if(U(L)&&L.toString().includes("import"))L=(await L()).default||await L();let P={};if(W.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))P[J.slice(1)]=A.split("/").filter(Boolean)[B]}),C)C.destroy();if(b.params)b.params(P);C=o(()=>{try{return U(L)?L(P):L}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(C.container)}}),M};b.params=D({});b.to=(_)=>window.location.hash=_.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xf=(_,E)=>{let M=typeof E==="string"?a.querySelector(E):E;if(!M)return;if(Wf.has(M))Wf.get(M).destroy();let C=o(U(_)?_:()=>_);return M.replaceChildren(C.container),Wf.set(M,C),C},v_=({children:_})=>_,k_={$:D,$$:U_,Render:o,Watch:m,Tag:f,If:O,For:N,Router:b,Mount:Xf,Fragment:v_};if(typeof window<"u")Gf(window,k_),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(" ").forEach((E)=>{let M=E[0].toUpperCase()+E.slice(1);if(!(M in window))window[M]=(C,A)=>f(E,C,A)}),window.SigPro=Object.freeze(k_);var ff={};z(ff,{default:()=>b_,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var Sf={};z(Sf,{Accordion:()=>Zf});var e={};z(e,{val:()=>G,ui:()=>Q,getIcon:()=>w});var G=(_)=>typeof _==="function"?_():_,Q=(_,E)=>typeof E==="function"?()=>`${_} ${E()||""}`.trim():`${_} ${E||""}`.trim(),w=(_)=>{if(!_)return null;if(typeof _==="function")return f("span",{class:"mr-1"},_());if(typeof _==="object")return f("span",{class:"mr-1"},_);if(typeof _==="string"){let E=_.trim().split(/\s+/),M=E[E.length-1]==="right",C=M?E.slice(0,-1).join(" "):_,A=M?"ml-1":"mr-1";if(C&&!C.startsWith("icon-[")&&!C.includes("--"))return f("span",{class:A},C);return f("span",{class:`${C} ${A}`.trim()})}return null};var Zf=(_,E)=>{let{class:M,title:C,name:A,open:W,...L}=_;return f("div",{...L,class:Q("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:A?"radio":"checkbox",name:A,checked:G(W)}),f("div",{class:"collapse-title text-xl font-medium"},C),f("div",{class:"collapse-content"},E)])};var qf={};z(qf,{Alert:()=>Yf});var Yf=(_,E)=>{let{class:M,actions:C,type:A="info",soft:W=!0,...L}=_,P={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Z=[`alert-${A}`,W?"alert-soft":"",M].filter(Boolean).join(" "),X=E||_.message;return f("div",{...L,role:"alert",class:Q("alert",Z)},()=>[w(P[A]),f("div",{class:"flex-1"},[f("span",{},[typeof X==="function"?X():X])]),C?f("div",{class:"flex-none"},[typeof C==="function"?C():C]):null].filter(Boolean))};var $f={};z($f,{Autocomplete:()=>Kf});var T_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},u_=D("es");var x=(_)=>()=>T_[u_()][_]||_;var Rf={};z(Rf,{Input:()=>c});var c=(_)=>{let{class:E,value:M,type:C="text",icon:A,oninput:W,placeholder:L,disabled:P,size:J,validate:B,...Z}=_,X=C==="password",R=D(!1),Y=D(null),S={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},$=A?w(A):S[C]?w(S[C]):null,k=()=>w(R()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),r=$?"pl-10":"",_f=X?"pr-10":"",i=()=>{if(E?.includes("input-xs"))return"btn-xs";if(E?.includes("input-sm"))return"btn-sm";if(E?.includes("input-lg"))return"btn-lg";return"btn-md"},l=(V)=>{let F=V.target.value;if(B){let T=B(F);Y(T||null)}W?.(V)},v=()=>Y()&&Y()!=="",K=f("input",{...Z,type:()=>X?R()?"text":"password":C,placeholder:L||" ",class:()=>{let V=`input w-full ${r} ${_f}`;if(E)V+=` ${E}`;if(v())V+=" input-error";return V.trim()},value:M,oninput:l,disabled:()=>G(P),"aria-invalid":()=>v()?"true":"false"});return f("div",{class:"relative w-full"},()=>[K,$?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},$):null,X?f("button",{type:"button",class:Q("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",i()),onclick:(V)=>{V.preventDefault(),R(!R())}},()=>k()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>v()?Y():null)])};var Kf=(_)=>{let{class:E,items:M=[],value:C,onSelect:A,label:W,placeholder:L,...P}=_,J=D(G(C)||""),B=D(!1),Z=D(-1),X=D(()=>{let S=J().toLowerCase(),$=G(M)||[];return S?$.filter((k)=>(typeof k==="string"?k:k.label).toLowerCase().includes(S)):$}),R=(S)=>{let $=typeof S==="string"?S:S.value,k=typeof S==="string"?S:S.label;if(J(k),typeof C==="function")C($);A?.(S),B(!1),Z(-1)},Y=(S)=>{let $=X();if(S.key==="ArrowDown")S.preventDefault(),B(!0),Z(Math.min(Z()+1,$.length-1));else if(S.key==="ArrowUp")S.preventDefault(),Z(Math.max(Z()-1,0));else if(S.key==="Enter"&&Z()>=0)S.preventDefault(),R($[Z()]);else if(S.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[c({label:W,class:E,placeholder:L||x("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(S)=>{let $=S.target.value;if(J($),typeof C==="function")C($);B(!0),Z(-1)},...P}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&X().length?"display:block":"display:none"},[N(X,(S,$)=>f("li",{},[f("a",{class:()=>`block w-full ${Z()===$?"active bg-primary text-primary-content":""}`,onclick:()=>R(S),onmouseenter:()=>Z($)},typeof S==="string"?S:S.label)]),(S,$)=>(typeof S==="string"?S:S.value)+$),()=>X().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Df={};z(Df,{Badge:()=>zf});var zf=(_,E)=>{let{class:M,...C}=_;return f("span",{...C,class:Q("badge",M)},E)};var wf={};z(wf,{Button:()=>d});var d=(_,E)=>{let{class:M,loading:C,icon:A,...W}=_,L=w(A);return f("button",{...W,class:Q("btn",M),disabled:()=>G(C)||G(_.disabled)},()=>[G(C)&&f("span",{class:"loading loading-spinner"}),L,E].filter(Boolean))};var kf={};z(kf,{Checkbox:()=>Vf});var Vf=(_)=>{let{class:E,value:M,tooltip:C,toggle:A,label:W,...L}=_,P=f("input",{...L,type:"checkbox",class:()=>Q(G(A)?"toggle":"checkbox",E),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[P,W?f("span",{class:"label-text"},W):null]);return C?f("div",{class:"tooltip","data-tip":C},J):J};var Uf={};z(Uf,{Colorpicker:()=>Nf});var Nf=(_)=>{let{class:E,value:M,label:C,...A}=_,W=D(!1),L=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],P=()=>G(M)||"#000000";return f("div",{class:Q("relative w-fit",E)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),W(!W())},...A},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${P()}`}),C?f("span",{class:"opacity-80"},C):null]),O(W,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},L.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${P().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);W(!1)}})))])),O(W,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>W(!1)}))])};var Ff={};z(Ff,{Datepicker:()=>Of});var Of=(_)=>{let{class:E,value:M,range:C,label:A,placeholder:W,hour:L=!1,...P}=_,J=D(!1),B=D(new Date),Z=D(null),X=D(0),R=D(0),Y=()=>G(C)===!0,S=new Date,$=`${S.getFullYear()}-${String(S.getMonth()+1).padStart(2,"0")}-${String(S.getDate()).padStart(2,"0")}`,k=(q)=>{let K=q.getFullYear(),V=String(q.getMonth()+1).padStart(2,"0"),F=String(q.getDate()).padStart(2,"0");return`${K}-${V}-${F}`},r=(q)=>{let K=k(q),V=G(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:X()}})}else{let F=V.start;if(typeof M==="function"){let T=K{let q=G(M);if(!q)return"";if(typeof q==="string"){if(L&&q.includes("T"))return q.replace("T"," ");return q}if(q.start&&q.end){let K=L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start,V=L&&q.endHour?`${q.end} ${String(q.endHour).padStart(2,"0")}:00`:q.end;return`${K} - ${V}`}if(q.start)return`${L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start}...`;return""}),i=(q)=>{let K=B();B(new Date(K.getFullYear(),K.getMonth()+q,1))},l=(q)=>{let K=B();B(new Date(K.getFullYear()+q,K.getMonth(),1))},v=({value:q,onChange:K})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:q,class:"range range-xs flex-1",oninput:(V)=>{let F=parseInt(V.target.value);K(F)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(G(q)).padStart(2,"0")+":00")])])};return f("div",{class:Q("relative w-full",E)},[c({label:A,placeholder:W||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:w("icon-[lucide--calendar]"),onclick:(q)=>{q.stopPropagation(),J(!J())},...P}),O(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(q)=>q.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(-1)},w("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(-1)},w("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},w("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(1)},w("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Z(null)},[...["L","M","X","J","V","S","D"].map((q)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},q)),()=>{let q=B(),K=q.getFullYear(),V=q.getMonth(),F=new Date(K,V,1).getDay(),T=F===0?6:F-1,F_=new Date(K,V+1,0).getDate(),Mf=[];for(let u=0;u{let y=G(M),Ef=Z(),H_=typeof y==="string"?y.split("T")[0]===H:y?.start===H,h_=y?.end===H,Cf=!1;if(Y()&&y?.start){let Af=y.start;if(!y.end&&Ef)Cf=H>Af&&H<=Ef||H=Ef;else if(y.end)Cf=H>Af&&H{if(Y())Z(H)},onclick:()=>r(w_)},[u.toString()]))}return Mf}]),L?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K?.start)M({...K,startHour:q})}}),v({value:R,onChange:(q)=>{R(q);let K=G(M);if(K?.end)M({...K,endHour:q})}})]):v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(q).padStart(2,"0")+":00:00")}})]):null])),O(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var hf={};z(hf,{Drawer:()=>Hf});var Hf=(_,E)=>{let{class:M,id:C,open:A,side:W,content:L,...P}=_,J=C||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...P,class:Q("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof A==="function"?A():A,onchange:(B)=>{if(typeof A==="function")A(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof L==="function"?L():L]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof A==="function")A(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof W==="function"?W():W])])])};var jf={};z(jf,{Dropdown:()=>xf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(_)=>{if(j&&!j.contains(_.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var xf=(_)=>{let{class:E,label:M,icon:C,items:A,...W}=_;return Tag("details",{...W,class:Q("dropdown",E)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let P=L.currentTarget.closest("details");if(j&&j!==P)j.open=!1;setTimeout(()=>{j=P.open?P:null},0)}},[()=>C?typeof C==="function"?C():C:null,()=>M?typeof M==="function"?M():M:null]),Tag("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof A==="function"?A():A||[]).map((P)=>Tag("li",{},[Tag("a",{class:P.class||"",onclick:(J)=>{if(P.onclick)P.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[P.icon?Tag("span",{},P.icon):null,Tag("span",{},P.label)])]))}])])};var If={};z(If,{Fab:()=>yf});var yf=(_)=>{let{class:E,icon:M,label:C,actions:A=[],position:W="bottom-6 right-6",...L}=_;return f("div",{...L,class:Q(`fab absolute ${W} flex flex-col-reverse items-end gap-3 z-[100]`,E)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?w(M):null,!M&&C?C:null]),...G(A).map((P)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[P.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},P.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${P.class||""}`,onclick:(J)=>{J.stopPropagation(),P.onclick?.(J)}},[P.icon?w(P.icon):P.text||""])]))])};var vf={};z(vf,{Fieldset:()=>mf});var mf=(_,E)=>{let{class:M,legend:C,...A}=_;return f("fieldset",{...A,class:Q("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let W=G(C);return W?f("legend",{class:"fieldset-legend font-bold"},[W]):null},E])};var uf={};z(uf,{Fileinput:()=>Tf});var Tf=(_)=>{let{class:E,tooltip:M,max:C=2,accept:A="*",onSelect:W,...L}=_,P=D([]),J=D(!1),B=D(null),Z=C*1024*1024,X=(Y)=>{let S=Array.from(Y);if(B(null),S.find((k)=>k.size>Z)){B(`Máx ${C}MB`);return}P([...P(),...S]),W?.(P())},R=(Y)=>{let S=P().filter(($,k)=>k!==Y);P(S),W?.(S)};return f("fieldset",{...L,class:Q("fieldset w-full p-0",E)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,C)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,C].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:C,value:M,floating:E=!1,error:W,required:T,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:C,items:M,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=A,L=V(M,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:C,items:M,...E}=A,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,C)=>{let{class:M,title:E,buttons:W,open:T,..._}=A,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",M),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},C)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:C,label:M,tooltip:E,value:W,inputValue:T,name:_,...L}=A,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!M&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:C,label:M,tooltip:E,value:W,...T}=A,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:C,value:M,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=A,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var lf={};z(lf,{Select:()=>ef});var ef=(A)=>{let{class:C,label:M,items:E,value:W,...T}=A,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},C)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:C,icon:M,label:E,value:W,desc:T,..._}=A;return f("div",{..._,class:X("stat",C)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:C,value:M,on:E,off:W,...T}=A;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var T_={};z(T_,{Table:()=>C_});var C_=(A)=>{let{class:C,items:M=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=y("nodata")(),...B}=A,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(M,(Z,S)=>{let Y=()=>{let J=Q(M),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:C,class:M,...E}=A,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var B_={};z(B_,{Timeline:()=>P_});var P_=(A)=>{let{class:C,items:M=[],vertical:E=!0,compact:W=!1,...T}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>J_});var J_=(A,C="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Cf(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)T=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,C)=>f("div",{...A,class:()=>X("tooltip",A.class),"data-tip":A.tip},C);var S_={...Lf,...Pf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...wf,...Ff,...Vf,...kf,...yf,...jf,...Bf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...lf,...f_,...A_,...E_,...T_,...W_,...B_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([C,M])=>{A[C]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,C])=>{window[A]=C}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),X(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[w("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${C}MB`)]),f("input",{type:"file",multiple:!0,accept:A,class:"hidden",onchange:(Y)=>X(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,O(()=>P().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[N(P,(Y,S)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:($)=>{$.preventDefault(),$.stopPropagation(),R(S)}},[w("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var cf={};z(cf,{Indicator:()=>bf});var bf=(_,E)=>{let{value:M,class:C,...A}=_;return f("div",{...A,class:"indicator"},()=>[M?f("span",{class:Q("indicator-item badge",C)},()=>typeof M==="function"?M():M):null,E].filter(Boolean))};var pf={};z(pf,{Label:()=>df});var df=(_)=>{let{children:E,value:M,floating:C=!1,error:A,required:W,class:L,...P}=_;if(C)return f("label",{class:Q("floating-label w-full",L),...P},()=>[M?f("span",{},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null]);return f("label",{class:Q("input w-full",L),...P},()=>[M?f("span",{class:"label"},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null])};var nf={};z(nf,{List:()=>rf});var rf=(_)=>{let{class:E,items:M,header:C,render:A,keyFn:W=(J,B)=>J.id??B,...L}=_,P=N(M,(J,B)=>f("li",{class:"list-row"},[A(J,B)]),W);return f("ul",{...L,class:Q("list bg-base-100 rounded-box shadow-md",E)},C?[O(C,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[G(C)])),P]:P)};var of={};z(of,{Menu:()=>gf});var gf=(_)=>{let{class:E,items:M,...C}=_,A=(W)=>N(()=>W||[],(L)=>f("li",{},[L.children?f("details",{open:L.open},[f("summary",{},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label]),f("ul",{},A(L.children))]):f("a",{class:()=>G(L.active)?"active":"",onclick:L.onclick},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label])]),(L,P)=>L.label||P);return f("ul",{...C,class:Q("menu bg-base-200 rounded-box",E)},A(M))};var tf={};z(tf,{Modal:()=>lf});var lf=(_,E)=>{let{class:M,title:C,buttons:A,open:W,...L}=_,P=null,J=()=>{let Z=typeof W==="function"?W():W;if(!P)return;if(Z){if(!P.open)P.showModal()}else if(P.open)P.close()};m(()=>J());let B=()=>{if(typeof W==="function")W(!1)};return f("dialog",{...L,ref:(Z)=>{if(P=Z,Z)J()},class:Q("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[C?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof C==="function"?C():C):null,f("div",{class:"py-2"},[typeof E==="function"?E():E]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(A)?A:[A]).filter(Boolean),d({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var af={};z(af,{Navbar:()=>sf});var sf=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("navbar bg-base-100 shadow-sm px-4",M)},E)};var f_={};z(f_,{Radio:()=>ef});var ef=(_)=>{let{class:E,label:M,tooltip:C,value:A,inputValue:W,name:L,...P}=_,J=f("input",{...P,type:"radio",name:L,class:Q("radio",E),checked:()=>G(A)===W,onclick:()=>{if(typeof A==="function")A(W)}});if(!M&&!C)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return C?f("div",{class:"tooltip","data-tip":C},B):B};var M_={};z(M_,{Range:()=>__});var __=(_)=>{let{class:E,label:M,tooltip:C,value:A,...W}=_,L=f("input",{...W,type:"range",class:Q("range",E),value:A,disabled:()=>G(_.disabled)});if(!M&&!C)return L;let P=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,L]);return C?f("div",{class:"tooltip","data-tip":C},P):P};var C_={};z(C_,{Rating:()=>E_});var E_=(_)=>{let{class:E,value:M,count:C=5,mask:A="mask-star",readonly:W=!1,onchange:L,...P}=_,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...P,class:()=>Q(`rating ${G(W)?"pointer-events-none":""}`,E)},Array.from({length:G(C)},(B,Z)=>{let X=Z+1;return f("input",{type:"radio",name:J,class:`mask ${A}`,checked:()=>Math.round(G(M))===X,onchange:()=>{if(!G(W)){if(typeof L==="function")L(X);else if(typeof M==="function")M(X)}}})}))};var L_={};z(L_,{Select:()=>A_});var A_=(_)=>{let{class:E,label:M,items:C,value:A,...W}=_,L=f("select",{...W,class:Q("select select-bordered w-full",E),value:A},N(()=>G(C)||[],(P)=>f("option",{value:P.value,$selected:()=>String(G(A))===String(P.value)},P.label),(P)=>P.value));if(!M)return L;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),L])};var P_={};z(P_,{Stack:()=>W_});var W_=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("stack",M)},E)};var B_={};z(B_,{Stat:()=>J_});var J_=(_)=>{let{class:E,icon:M,label:C,value:A,desc:W,...L}=_;return f("div",{...L,class:Q("stat",E)},[M&&f("div",{class:"stat-figure text-secondary"},M),C&&f("div",{class:"stat-title"},C),f("div",{class:"stat-value"},()=>G(A)??A),W&&f("div",{class:"stat-desc"},W)])};var Q_={};z(Q_,{Swap:()=>G_});var G_=(_)=>{let{class:E,value:M,on:C,off:A,...W}=_;return f("label",{...W,class:Q("swap",E)},[f("input",{type:"checkbox",checked:()=>G(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),f("div",{class:"swap-on"},C),f("div",{class:"swap-off"},A)])};var Z_={};z(Z_,{Table:()=>X_});var X_=(_)=>{let{class:E,items:M=[],columns:C=[],keyFn:A,zebra:W=!1,pinRows:L=!1,empty:P=x("nodata")(),...J}=_,B=()=>{let X=G(W)?"table-zebra":"",R=G(L)?"table-pin-rows":"";return Q("table",E,X,R)},Z=A||((X,R)=>X.id||R);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},C.map((X)=>f("th",{class:X.class||""},X.label)))]),f("tbody",{},[N(M,(X,R)=>{let Y=()=>{let S=G(M),$=Z(X,R);return S.find((k,r)=>Z(k,r)===$)||X};return f("tr",{class:"hover"},C.map((S)=>{let $=()=>{let k=Y();if(S.render)return S.render(k,R);return G(k[S.key])};return f("td",{class:S.class||""},[$])}))},Z),O(()=>G(M).length===0,()=>f("tr",{},[f("td",{colspan:C.length,class:"text-center p-10 opacity-50"},[G(P)])]))])])])};var Y_={};z(Y_,{Tabs:()=>S_});var S_=(_)=>{let{items:E,class:M,...C}=_,A=typeof E==="function"?E:()=>E||[],W=D(0);return Watch(()=>{let L=A().findIndex((P)=>G(P.active)===!0);if(L!==-1&&L!==W())W(L)}),f("div",{...C,class:"w-full"},[f("div",{role:"tablist",class:Q("tabs",M||"tabs-box")},()=>{return A().map((P,J)=>{let B=()=>W()===J,Z=f("button",{role:"tab",class:()=>Q("tab",B()?"tab-active":""),onclick:(X)=>{if(X.preventDefault(),!G(P.disabled)){if(P.onclick)P.onclick();W(J)}}});return Watch(()=>{let X=G(P.label);if(X instanceof Node)Z.replaceChildren(X);else Z.textContent=String(X)}),Z})}),f("div",{class:"tab-panels"},()=>{return A().map((L,P)=>{let J=()=>W()===P;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var R_={};z(R_,{Timeline:()=>q_});var q_=(_)=>{let{class:E,items:M=[],vertical:C=!0,compact:A=!1,...W}=_,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...W,class:()=>Q(`timeline ${G(C)?"timeline-vertical":"timeline-horizontal"} ${G(A)?"timeline-compact":""}`,E)},()=>{let P=(typeof M==="function"?M():M)||[];return P.map((J,B)=>{let Z=B===0,X=B===P.length-1,R=J.type||"success",Y=()=>G(J.completed),S=()=>B>0&&G(P[B-1].completed),$=(k)=>typeof k==="function"?k():k;return f("li",{class:"flex-1"},[!Z?f("hr",{class:()=>S()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>$(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?w(J.icon):w(L[R]||L.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>$(J.detail)]),!X?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var $_={};z($_,{Toast:()=>K_});var K_=(_,E="alert-success",M=3500)=>{let C=document.getElementById("sigpro-toast-container");if(!C)C=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(C);let A=f("div",{style:"display: contents"});C.appendChild(A);let W,L=()=>{clearTimeout(W);let B=A.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),A.remove(),!C.hasChildNodes())C.remove()},300);else J.destroy(),A.remove()},J=Xf(()=>{let B=w("icon-[lucide--x]"),Z=f("div",{class:`alert alert-soft ${E} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof _==="function"?_():_]),d({class:"btn-xs btn-circle btn-ghost",onclick:L},B)]);return requestAnimationFrame(()=>Z.classList.remove("translate-x-10","opacity-0")),Z},A);if(M>0)W=setTimeout(L,M);return L};var D_={};z(D_,{Tooltip:()=>z_});var z_=(_,E)=>f("div",{..._,class:()=>Q("tooltip",_.class),"data-tip":_.tip},E);var O_={...Sf,...qf,...$f,...Df,...wf,...kf,...Uf,...Ff,...hf,...jf,...If,...vf,...uf,...cf,...Rf,...pf,...nf,...of,...tf,...af,...f_,...M_,...C_,...L_,...P_,...B_,...Q_,...Z_,...Y_,...R_,...$_,...D_},b_={...O_,install:(_=window)=>{Object.entries(O_).forEach(([E,M])=>{_[E]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([_,E])=>{window[_]=E}),window.Utils=e,window.tt=x,window.SigProUI={...ff,Utils:e,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/docs/README.md b/docs/README.md index f5909ca..6490511 100644 --- a/docs/README.md +++ b/docs/README.md @@ -90,7 +90,7 @@ To achieve the performance promised by SigPro-UI, your environment must be equip ### 1. SigPro Core -The atomic heart. SigPro-UI requires the SigPro runtime (`$`, `$watch`, `$html`, etc.) to be present in the global scope or provided as a module. +The atomic heart. SigPro-UI requires the SigPro runtime (`$`, `Watch`, `Tag`, etc.) to be present in the global scope or provided as a module. ### 2. daisyUI v5 diff --git a/docs/components/accordion.md b/docs/components/accordion.md index 035e951..446d0fb 100644 --- a/docs/components/accordion.md +++ b/docs/components/accordion.md @@ -69,7 +69,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Group Accordion (Radio Style) @@ -112,7 +112,7 @@ const GroupDemo = () => { ]) ]); }; -$mount(GroupDemo, '#demo-group'); +Mount(GroupDemo, '#demo-group'); ``` ### FAQ Accordion @@ -146,7 +146,7 @@ const FaqDemo = () => { ]) )); }; -$mount(FaqDemo, '#demo-faq'); +Mount(FaqDemo, '#demo-faq'); ``` ### With Rich Content @@ -218,7 +218,7 @@ const RichDemo = () => { ]) ]); }; -$mount(RichDemo, '#demo-rich'); +Mount(RichDemo, '#demo-rich'); ``` ### Form Accordion @@ -346,7 +346,7 @@ const FormAccordion = () => { ]) ]); }; -$mount(FormAccordion, '#demo-form'); +Mount(FormAccordion, '#demo-form'); ``` ### All Variants @@ -396,5 +396,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/alert.md b/docs/components/alert.md index 8bae786..16df9d7 100644 --- a/docs/components/alert.md +++ b/docs/components/alert.md @@ -60,7 +60,7 @@ const BasicDemo = () => { Alert({ type: 'error', message: 'An error occurred while processing your request.' }) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Soft vs Solid Variants @@ -81,7 +81,7 @@ const VariantsDemo = () => { Alert({ type: 'success', soft: false, message: 'Solid success alert' }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### With Actions @@ -130,7 +130,7 @@ const ActionsDemo = () => { }) : null ]); }; -$mount(ActionsDemo, '#demo-actions'); +Mount(ActionsDemo, '#demo-actions'); ``` ### Dismissible Alert @@ -161,7 +161,7 @@ const DismissibleDemo = () => { }, 'Show Alert') : null ]); }; -$mount(DismissibleDemo, '#demo-dismissible'); +Mount(DismissibleDemo, '#demo-dismissible'); ``` ### Reactive Alert @@ -201,7 +201,7 @@ const ReactiveDemo = () => { }) : null ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Form Validation @@ -268,7 +268,7 @@ const FormDemo = () => { }) : null ]); }; -$mount(FormDemo, '#demo-form'); +Mount(FormDemo, '#demo-form'); ``` ### Icon Alerts @@ -289,7 +289,7 @@ const IconsDemo = () => { Alert({ type: 'error', message: 'Error alert with custom icon' }) ]); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### All Types @@ -310,5 +310,5 @@ const AllTypesDemo = () => { Alert({ type: 'error', message: '❌ This is an error alert' }) ]); }; -$mount(AllTypesDemo, '#demo-all'); +Mount(AllTypesDemo, '#demo-all'); ``` \ No newline at end of file diff --git a/docs/components/autocomplete.md b/docs/components/autocomplete.md index b05f670..500fa93 100644 --- a/docs/components/autocomplete.md +++ b/docs/components/autocomplete.md @@ -51,7 +51,7 @@ const BasicDemo = () => { onSelect: (value) => selected(value) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Objects @@ -94,7 +94,7 @@ const ObjectsDemo = () => { ]) ]); }; -$mount(ObjectsDemo, '#demo-objects'); +Mount(ObjectsDemo, '#demo-objects'); ``` ### With Reactive Display @@ -125,7 +125,7 @@ const ReactiveDemo = () => { ]) : null ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Dynamic Items @@ -165,7 +165,7 @@ const DynamicDemo = () => { }) ]); }; -$mount(DynamicDemo, '#demo-dynamic'); +Mount(DynamicDemo, '#demo-dynamic'); ``` ### All Variants @@ -208,5 +208,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/badge.md b/docs/components/badge.md index aa9cb41..d148669 100644 --- a/docs/components/badge.md +++ b/docs/components/badge.md @@ -56,7 +56,7 @@ const BasicDemo = () => { Badge({ class: 'badge-error' }, 'Error') ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Badge Sizes @@ -78,7 +78,7 @@ const SizesDemo = () => { Badge({ class: 'badge-lg' }, 'Large') ]); }; -$mount(SizesDemo, '#demo-sizes'); +Mount(SizesDemo, '#demo-sizes'); ``` ### Outline Badges @@ -103,7 +103,7 @@ const OutlineDemo = () => { Badge({ class: 'badge-outline badge-error' }, 'Error') ]); }; -$mount(OutlineDemo, '#demo-outline'); +Mount(OutlineDemo, '#demo-outline'); ``` ### Ghost Badges @@ -128,7 +128,7 @@ const GhostDemo = () => { Badge({ class: 'badge-ghost badge-error' }, 'Error') ]); }; -$mount(GhostDemo, '#demo-ghost'); +Mount(GhostDemo, '#demo-ghost'); ``` ### With Icons @@ -165,7 +165,7 @@ const IconsDemo = () => { ]) ]); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Status Badges @@ -194,7 +194,7 @@ const StatusDemo = () => { )) ]); }; -$mount(StatusDemo, '#demo-status'); +Mount(StatusDemo, '#demo-status'); ``` ### Count Badges @@ -227,7 +227,7 @@ const CountDemo = () => { ]) ]); }; -$mount(CountDemo, '#demo-count'); +Mount(CountDemo, '#demo-count'); ``` ### Interactive Badge @@ -255,7 +255,7 @@ const InteractiveDemo = () => { }, 'Reset') ]); }; -$mount(InteractiveDemo, '#demo-interactive'); +Mount(InteractiveDemo, '#demo-interactive'); ``` ### All Variants @@ -287,7 +287,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Inline with Text @@ -319,5 +319,5 @@ const InlineDemo = () => { ]) ]); }; -$mount(InlineDemo, '#demo-inline'); +Mount(InlineDemo, '#demo-inline'); ``` \ No newline at end of file diff --git a/docs/components/button.md b/docs/components/button.md index cbb0f87..dd1b55e 100644 --- a/docs/components/button.md +++ b/docs/components/button.md @@ -48,7 +48,7 @@ Button({ class: "btn-primary btn-lg btn-circle gap-4"}, "Click Me"); const BasicDemo = () => { return Button({ class: "btn-primary" }, "Click Me"); }; -$mount(BasicDemo, "#demo-basic"); +Mount(BasicDemo, "#demo-basic"); ``` ### With Loading State @@ -72,7 +72,7 @@ const LoadingDemo = () => { "Save Changes", ); }; -$mount(LoadingDemo, "#demo-loading"); +Mount(LoadingDemo, "#demo-loading"); ``` ### With Icon @@ -89,7 +89,7 @@ const IconDemo = () => { "Favorite", ); }; -$mount(IconDemo, "#demo-icon"); +Mount(IconDemo, "#demo-icon"); ``` ### With Badge (using Indicator) @@ -103,7 +103,7 @@ const BadgeDemo = () => { Button({ class: "btn-outline" }, "Notifications"), ); }; -$mount(BadgeDemo, "#demo-badge"); +Mount(BadgeDemo, "#demo-badge"); ``` ### With Tooltip @@ -114,7 +114,7 @@ $mount(BadgeDemo, "#demo-badge"); const TooltipDemo = () => { return Tooltip({ tip: "Delete item" }, Button({ class: "btn-ghost" }, "Delete")); }; -$mount(TooltipDemo, "#demo-tooltip"); +Mount(TooltipDemo, "#demo-tooltip"); ``` ### Combined (Badge + Tooltip) @@ -139,7 +139,7 @@ const CombinedDemo = () => { ), ); }; -$mount(CombinedDemo, "#demo-combined"); +Mount(CombinedDemo, "#demo-combined"); ``` ### All Color Variants @@ -156,5 +156,5 @@ const VariantsDemo = () => { Button({ class: "btn-outline" }, "Outline"), ]); }; -$mount(VariantsDemo, "#demo-variants"); +Mount(VariantsDemo, "#demo-variants"); ``` diff --git a/docs/components/checkbox.md b/docs/components/checkbox.md index 5e2f75c..4341953 100644 --- a/docs/components/checkbox.md +++ b/docs/components/checkbox.md @@ -62,7 +62,7 @@ const BasicDemo = () => { onclick: () => accepted(!accepted()) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Toggle Switch @@ -90,7 +90,7 @@ const ToggleDemo = () => { : Div({ class: 'alert alert-soft' }, 'Notifications are OFF') ]); }; -$mount(ToggleDemo, '#demo-toggle'); +Mount(ToggleDemo, '#demo-toggle'); ``` ### With Tooltip @@ -113,7 +113,7 @@ const TooltipDemo = () => { onclick: () => darkMode(!darkMode()) }); }; -$mount(TooltipDemo, '#demo-tooltip'); +Mount(TooltipDemo, '#demo-tooltip'); ``` ### Disabled State @@ -140,7 +140,7 @@ const DisabledDemo = () => { }) ]); }; -$mount(DisabledDemo, '#demo-disabled'); +Mount(DisabledDemo, '#demo-disabled'); ``` ### Reactive Multiple Selection @@ -193,7 +193,7 @@ const MultipleDemo = () => { }) ]); }; -$mount(MultipleDemo, '#demo-multiple'); +Mount(MultipleDemo, '#demo-multiple'); ``` ### All Variants @@ -242,7 +242,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Form Example @@ -286,5 +286,5 @@ const FormDemo = () => { : null ]); }; -$mount(FormDemo, '#demo-form'); +Mount(FormDemo, '#demo-form'); ``` \ No newline at end of file diff --git a/docs/components/colorpicker.md b/docs/components/colorpicker.md index 4794a5f..ab097f5 100644 --- a/docs/components/colorpicker.md +++ b/docs/components/colorpicker.md @@ -45,7 +45,7 @@ const BasicDemo = () => { value: color }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Reactive Preview @@ -74,7 +74,7 @@ const PreviewDemo = () => { ]) ]); }; -$mount(PreviewDemo, '#demo-preview'); +Mount(PreviewDemo, '#demo-preview'); ``` ### Color Palette Grid @@ -112,7 +112,7 @@ const PaletteDemo = () => { Div({ class: 'mt-2 text-center text-sm font-mono' }, () => selectedColor()) ]); }; -$mount(PaletteDemo, '#demo-palette'); +Mount(PaletteDemo, '#demo-palette'); ``` ### With Text Color Preview @@ -148,7 +148,7 @@ const TextDemo = () => { ]) ]); }; -$mount(TextDemo, '#demo-text'); +Mount(TextDemo, '#demo-text'); ``` ### All Variants @@ -181,7 +181,7 @@ const VariantsDemo = () => { }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Dynamic Color Swatch @@ -221,5 +221,5 @@ const DynamicDemo = () => { ]) ]); }; -$mount(DynamicDemo, '#demo-dynamic'); +Mount(DynamicDemo, '#demo-dynamic'); ``` \ No newline at end of file diff --git a/docs/components/datepicker.md b/docs/components/datepicker.md index 460daf9..7a1ce04 100644 --- a/docs/components/datepicker.md +++ b/docs/components/datepicker.md @@ -50,7 +50,7 @@ const BasicDemo = () => { placeholder: 'Choose a date...' }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Date Range Picker @@ -78,7 +78,7 @@ const RangeDemo = () => { ]) : null ]); }; -$mount(RangeDemo, '#demo-range'); +Mount(RangeDemo, '#demo-range'); ``` ### With Time Selection @@ -106,7 +106,7 @@ const TimeDemo = () => { ]) : null ]); }; -$mount(TimeDemo, '#demo-time'); +Mount(TimeDemo, '#demo-time'); ``` ### Range with Time @@ -135,7 +135,7 @@ const RangeTimeDemo = () => { ]) : null ]); }; -$mount(RangeTimeDemo, '#demo-range-time'); +Mount(RangeTimeDemo, '#demo-range-time'); ``` ### Reactive Display @@ -167,7 +167,7 @@ const ReactiveDemo = () => { ]) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### All Variants @@ -201,5 +201,5 @@ const VariantsDemo = () => { }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/drawer.md b/docs/components/drawer.md index 9cfeaeb..8cd8baf 100644 --- a/docs/components/drawer.md +++ b/docs/components/drawer.md @@ -61,7 +61,7 @@ const BasicDemo = () => { ]) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Navigation Drawer @@ -138,7 +138,7 @@ const NavDrawer = () => { ]) }); }; -$mount(NavDrawer, '#demo-nav'); +Mount(NavDrawer, '#demo-nav'); ``` ### Settings Drawer @@ -233,7 +233,7 @@ const SettingsDrawer = () => { ]) }); }; -$mount(SettingsDrawer, '#demo-settings'); +Mount(SettingsDrawer, '#demo-settings'); ``` ### Cart Drawer @@ -336,7 +336,7 @@ const CartDrawer = () => { ]) }); }; -$mount(CartDrawer, '#demo-cart'); +Mount(CartDrawer, '#demo-cart'); ``` ### Responsive Drawer @@ -404,7 +404,7 @@ const ResponsiveDrawer = () => { ]) }); }; -$mount(ResponsiveDrawer, '#demo-responsive'); +Mount(ResponsiveDrawer, '#demo-responsive'); ``` ### Form Drawer @@ -462,7 +462,7 @@ const FormDrawer = () => { }), Div({ class: 'form-control' }, [ Span({ class: 'label-text mb-1' }, 'Message'), - $html('textarea', { + Tag('textarea', { class: 'textarea textarea-bordered h-24', placeholder: 'Your message', value: message, @@ -489,5 +489,5 @@ const FormDrawer = () => { ]) }); }; -$mount(FormDrawer, '#demo-form'); +Mount(FormDrawer, '#demo-form'); ``` \ No newline at end of file diff --git a/docs/components/dropdown.md b/docs/components/dropdown.md index 0950152..e0db34f 100644 --- a/docs/components/dropdown.md +++ b/docs/components/dropdown.md @@ -71,7 +71,7 @@ const BasicDemo = () => { ] }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Icons @@ -96,7 +96,7 @@ const IconsDemo = () => { ] }); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Action Dropdown @@ -124,7 +124,7 @@ const ActionsDemo = () => { ] }); }; -$mount(ActionsDemo, '#demo-actions'); +Mount(ActionsDemo, '#demo-actions'); ``` ### User Dropdown @@ -153,7 +153,7 @@ const UserDropdown = () => { ] }); }; -$mount(UserDropdown, '#demo-user'); +Mount(UserDropdown, '#demo-user'); ``` ### Reactive Items @@ -180,7 +180,7 @@ const ReactiveDropdown = () => { items: items }); }; -$mount(ReactiveDropdown, '#demo-reactive'); +Mount(ReactiveDropdown, '#demo-reactive'); ``` ### Notification Dropdown @@ -225,7 +225,7 @@ const NotificationsDropdown = () => { }); }; -$mount(NotificationsDropdown, '#demo-notifications'); +Mount(NotificationsDropdown, '#demo-notifications'); ``` ### All Variants @@ -251,5 +251,5 @@ const VariantsDemo = () => { Dropdown({ label: 'End Position', class: 'dropdown-end', items: commonItems }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/fab.md b/docs/components/fab.md index 83d3d69..317d0ad 100644 --- a/docs/components/fab.md +++ b/docs/components/fab.md @@ -75,7 +75,7 @@ const BasicDemo = () => { }) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Label @@ -101,7 +101,7 @@ const LabelDemo = () => { }) ]); }; -$mount(LabelDemo, '#demo-label'); +Mount(LabelDemo, '#demo-label'); ``` ### Different Positions @@ -145,7 +145,7 @@ const PositionsDemo = () => { }) ]); }; -$mount(PositionsDemo, '#demo-positions'); +Mount(PositionsDemo, '#demo-positions'); ``` ### Color Variants @@ -190,7 +190,7 @@ const ColorsDemo = () => { }) ]); }; -$mount(ColorsDemo, '#demo-colors'); +Mount(ColorsDemo, '#demo-colors'); ``` ### Reactive Actions @@ -236,7 +236,7 @@ const ReactiveActions = () => { }) ]); }; -$mount(ReactiveActions, '#demo-reactive'); +Mount(ReactiveActions, '#demo-reactive'); ``` ### Document Actions @@ -275,7 +275,7 @@ const DocumentActions = () => { }) ]); }; -$mount(DocumentActions, '#demo-document'); +Mount(DocumentActions, '#demo-document'); ``` ### Messaging FAB @@ -333,7 +333,7 @@ const MessagingFAB = () => { }) ]); }; -$mount(MessagingFAB, '#demo-messaging'); +Mount(MessagingFAB, '#demo-messaging'); ``` ### All Variants @@ -374,5 +374,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/fieldset.md b/docs/components/fieldset.md index 38c1d6e..1c004ee 100644 --- a/docs/components/fieldset.md +++ b/docs/components/fieldset.md @@ -62,7 +62,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Reactive Legend @@ -104,7 +104,7 @@ const ReactiveDemo = () => { ]) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Address Form @@ -146,7 +146,7 @@ const AddressDemo = () => { ]) ]); }; -$mount(AddressDemo, '#demo-address'); +Mount(AddressDemo, '#demo-address'); ``` ### Payment Method @@ -187,7 +187,7 @@ const PaymentDemo = () => { ]) ]); }; -$mount(PaymentDemo, '#demo-payment'); +Mount(PaymentDemo, '#demo-payment'); ``` ### Preferences Panel @@ -236,7 +236,7 @@ const PreferencesDemo = () => { ]) ]); }; -$mount(PreferencesDemo, '#demo-preferences'); +Mount(PreferencesDemo, '#demo-preferences'); ``` ### Registration Form @@ -294,7 +294,7 @@ const RegistrationDemo = () => { ]) ]); }; -$mount(RegistrationDemo, '#demo-registration'); +Mount(RegistrationDemo, '#demo-registration'); ``` ### All Variants @@ -320,5 +320,5 @@ const VariantsDemo = () => { Fieldset({ legend: 'With Background', class: 'w-full bg-base-100' }, [commonContent]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/indicator.md b/docs/components/indicator.md index bac6190..1a0673b 100644 --- a/docs/components/indicator.md +++ b/docs/components/indicator.md @@ -59,7 +59,7 @@ const BasicDemo = () => { ) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Online Status Indicator @@ -91,7 +91,7 @@ const StatusDemo = () => { ) ]); }; -$mount(StatusDemo, '#demo-status'); +Mount(StatusDemo, '#demo-status'); ``` ### Reactive Counter @@ -129,7 +129,7 @@ const ReactiveDemo = () => { ]) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Shopping Cart @@ -188,7 +188,7 @@ const CartDemo = () => { ]); }; -$mount(CartDemo, '#demo-cart'); +Mount(CartDemo, '#demo-cart'); ``` ### Email Inbox @@ -249,7 +249,7 @@ const InboxDemo = () => { ]); }; -$mount(InboxDemo, '#demo-inbox'); +Mount(InboxDemo, '#demo-inbox'); ``` ### All Variants @@ -280,5 +280,5 @@ const VariantsDemo = () => { ) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/input.md b/docs/components/input.md index 7e3d1ff..290c9b0 100644 --- a/docs/components/input.md +++ b/docs/components/input.md @@ -43,7 +43,7 @@ const BasicDemo = () => { oninput: (e) => name(e.target.value) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Icon @@ -66,7 +66,7 @@ const IconDemo = () => { oninput: (e) => email(e.target.value) }); }; -$mount(IconDemo, '#demo-icon'); +Mount(IconDemo, '#demo-icon'); ``` ### Password with Toggle @@ -88,7 +88,7 @@ const PasswordDemo = () => { oninput: (e) => password(e.target.value) }); }; -$mount(PasswordDemo, '#demo-password'); +Mount(PasswordDemo, '#demo-password'); ``` ### With Tooltip @@ -110,7 +110,7 @@ const TooltipDemo = () => { oninput: (e) => username(e.target.value) }); }; -$mount(TooltipDemo, '#demo-tooltip'); +Mount(TooltipDemo, '#demo-tooltip'); ``` ### Error State @@ -142,7 +142,7 @@ const ErrorDemo = () => { }) ]); }; -$mount(ErrorDemo, '#demo-error'); +Mount(ErrorDemo, '#demo-error'); ``` ### Disabled State @@ -161,7 +161,7 @@ const DisabledDemo = () => { disabled: true }); }; -$mount(DisabledDemo, '#demo-disabled'); +Mount(DisabledDemo, '#demo-disabled'); ``` ### All Variants @@ -205,5 +205,5 @@ const VariantsDemo = () => { ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` diff --git a/docs/components/list.md b/docs/components/list.md index 17f102b..938f8a0 100644 --- a/docs/components/list.md +++ b/docs/components/list.md @@ -51,7 +51,7 @@ const BasicDemo = () => { ]), }); }; -$mount(BasicDemo, "#demo-basic"); +Mount(BasicDemo, "#demo-basic"); ``` ### With Header @@ -90,7 +90,7 @@ const HeaderDemo = () => { ]), }); }; -$mount(HeaderDemo, "#demo-header"); +Mount(HeaderDemo, "#demo-header"); ``` ### With Icons @@ -134,7 +134,7 @@ const IconsDemo = () => { ), }); }; -$mount(IconsDemo, "#demo-icons"); +Mount(IconsDemo, "#demo-icons"); ``` ### With Badges @@ -194,7 +194,7 @@ const BadgesDemo = () => { ), }); }; -$mount(BadgesDemo, "#demo-badges"); +Mount(BadgesDemo, "#demo-badges"); ``` ### Interactive List @@ -252,7 +252,7 @@ const InteractiveDemo = () => { : Div({ class: "alert alert-soft" }, "Select a project to see details"), ]); }; -$mount(InteractiveDemo, "#demo-interactive"); +Mount(InteractiveDemo, "#demo-interactive"); ``` ### Reactive List (Todo App) @@ -291,7 +291,7 @@ const ReactiveDemo = () => { }; const pendingCount = () => todos().filter(t => !t.done).length; - $watch(()=> console.log(pendingCount())); + Watch(()=> console.log(pendingCount())); return Div({ class: 'flex flex-col gap-4' }, [ Div({ class: 'flex gap-2' }, [ Input({ @@ -330,7 +330,7 @@ const ReactiveDemo = () => { ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Avatar List @@ -383,7 +383,7 @@ const AvatarDemo = () => { ]), }); }; -$mount(AvatarDemo, "#demo-avatar"); +Mount(AvatarDemo, "#demo-avatar"); ``` ### All Variants @@ -421,5 +421,5 @@ const VariantsDemo = () => { }), ]); }; -$mount(VariantsDemo, "#demo-variants"); +Mount(VariantsDemo, "#demo-variants"); ``` diff --git a/docs/components/menu.md b/docs/components/menu.md index 620738e..b3c34c3 100644 --- a/docs/components/menu.md +++ b/docs/components/menu.md @@ -72,7 +72,7 @@ const BasicDemo = () => { ] }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Icons @@ -117,7 +117,7 @@ const IconsDemo = () => { ] }); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Nested Menu @@ -187,7 +187,7 @@ const NestedDemo = () => { ] }); }; -$mount(NestedDemo, '#demo-nested'); +Mount(NestedDemo, '#demo-nested'); ``` ### Horizontal Menu @@ -232,7 +232,7 @@ const HorizontalDemo = () => { ] }); }; -$mount(HorizontalDemo, '#demo-horizontal'); +Mount(HorizontalDemo, '#demo-horizontal'); ``` ### Sidebar Menu @@ -295,7 +295,7 @@ const SidebarDemo = () => { ]) ]); }; -$mount(SidebarDemo, '#demo-sidebar'); +Mount(SidebarDemo, '#demo-sidebar'); ``` ### Account Menu @@ -346,7 +346,7 @@ const AccountDemo = () => { ] }); }; -$mount(AccountDemo, '#demo-account'); +Mount(AccountDemo, '#demo-account'); ``` ### Collapsible Sidebar @@ -384,7 +384,7 @@ const CollapsibleDemo = () => { ]) ]); }; -$mount(CollapsibleDemo, '#demo-collapsible'); +Mount(CollapsibleDemo, '#demo-collapsible'); ``` ### All Variants @@ -422,5 +422,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/modal.md b/docs/components/modal.md index 0f894ab..9f3a9cc 100644 --- a/docs/components/modal.md +++ b/docs/components/modal.md @@ -63,7 +63,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Modal with Actions @@ -113,7 +113,7 @@ const ActionsDemo = () => { ]) ]); }; -$mount(ActionsDemo, '#demo-actions'); +Mount(ActionsDemo, '#demo-actions'); ``` ### Form Modal @@ -182,7 +182,7 @@ const FormModal = () => { ]) ]); }; -$mount(FormModal, '#demo-form'); +Mount(FormModal, '#demo-form'); ``` ### Confirmation Modal @@ -243,7 +243,7 @@ const ConfirmDemo = () => { ]) ]); }; -$mount(ConfirmDemo, '#demo-confirm'); +Mount(ConfirmDemo, '#demo-confirm'); ``` ### Large Content Modal @@ -295,7 +295,7 @@ const LargeDemo = () => { ]) ]); }; -$mount(LargeDemo, '#demo-large'); +Mount(LargeDemo, '#demo-large'); ``` ### Multiple Modals @@ -337,7 +337,7 @@ const MultipleDemo = () => { }, 'Please review your input before proceeding.') ]); }; -$mount(MultipleDemo, '#demo-multiple'); +Mount(MultipleDemo, '#demo-multiple'); ``` ### Custom Styled Modal @@ -374,5 +374,5 @@ const CustomDemo = () => { ]) ]); }; -$mount(CustomDemo, '#demo-custom'); +Mount(CustomDemo, '#demo-custom'); ``` \ No newline at end of file diff --git a/docs/components/navbar.md b/docs/components/navbar.md index 1a3145f..144f058 100644 --- a/docs/components/navbar.md +++ b/docs/components/navbar.md @@ -51,7 +51,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Navigation Links @@ -92,7 +92,7 @@ const LinksDemo = () => { ]) ]); }; -$mount(LinksDemo, '#demo-links'); +Mount(LinksDemo, '#demo-links'); ``` ### With Search @@ -128,7 +128,7 @@ const SearchDemo = () => { ]) ]); }; -$mount(SearchDemo, '#demo-search'); +Mount(SearchDemo, '#demo-search'); ``` ### With Avatar and Dropdown @@ -167,7 +167,7 @@ const AvatarDemo = () => { ]) ]); }; -$mount(AvatarDemo, '#demo-avatar'); +Mount(AvatarDemo, '#demo-avatar'); ``` ### Responsive Navbar @@ -206,7 +206,7 @@ const ResponsiveDemo = () => { ]) : null ]); }; -$mount(ResponsiveDemo, '#demo-responsive'); +Mount(ResponsiveDemo, '#demo-responsive'); ``` ### With Brand and Actions @@ -237,7 +237,7 @@ const BrandDemo = () => { ]) ]); }; -$mount(BrandDemo, '#demo-brand'); +Mount(BrandDemo, '#demo-brand'); ``` ### All Variants @@ -272,5 +272,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/radio.md b/docs/components/radio.md index df249fb..4a066f4 100644 --- a/docs/components/radio.md +++ b/docs/components/radio.md @@ -70,7 +70,7 @@ const BasicDemo = () => { Div({ class: 'mt-2 text-sm opacity-70' }, () => `Selected: ${selected()}`) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Tooltip @@ -105,7 +105,7 @@ const TooltipDemo = () => { }) ]); }; -$mount(TooltipDemo, '#demo-tooltip'); +Mount(TooltipDemo, '#demo-tooltip'); ``` ### Disabled State @@ -139,7 +139,7 @@ const DisabledDemo = () => { }) ]); }; -$mount(DisabledDemo, '#demo-disabled'); +Mount(DisabledDemo, '#demo-disabled'); ``` ### Reactive Preview @@ -199,7 +199,7 @@ const ReactiveDemo = () => { }, () => `${size()} ${color()} preview`) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Payment Method Selection @@ -250,7 +250,7 @@ const PaymentDemo = () => { }) ]); }; -$mount(PaymentDemo, '#demo-payment'); +Mount(PaymentDemo, '#demo-payment'); ``` ### All Variants @@ -334,7 +334,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Dynamic Options @@ -405,5 +405,5 @@ const DynamicDemo = () => { : null ]); }; -$mount(DynamicDemo, '#demo-dynamic'); +Mount(DynamicDemo, '#demo-dynamic'); ``` \ No newline at end of file diff --git a/docs/components/range.md b/docs/components/range.md index 7af31cb..7b2f3e4 100644 --- a/docs/components/range.md +++ b/docs/components/range.md @@ -57,7 +57,7 @@ const BasicDemo = () => { Div({ class: 'text-center' }, () => `Value: ${value()}%`) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Tooltip @@ -85,7 +85,7 @@ const TooltipDemo = () => { Div({ class: 'w-full h-20 rounded-lg transition-all', style: () => `background-color: hsl(0, 0%, ${brightness()}%)` }) ]); }; -$mount(TooltipDemo, '#demo-tooltip'); +Mount(TooltipDemo, '#demo-tooltip'); ``` ### Color Variants @@ -109,7 +109,7 @@ const ColorsDemo = () => { Range({ label: 'Accent', value: accent, class: 'range-accent', oninput: (e) => accent(e.target.value) }) ]); }; -$mount(ColorsDemo, '#demo-colors'); +Mount(ColorsDemo, '#demo-colors'); ``` ### Size Variants @@ -135,7 +135,7 @@ const SizesDemo = () => { Range({ label: 'Large', value: lg, class: 'range-lg', oninput: (e) => lg(e.target.value) }) ]); }; -$mount(SizesDemo, '#demo-sizes'); +Mount(SizesDemo, '#demo-sizes'); ``` ### Price Range @@ -173,7 +173,7 @@ const PriceDemo = () => { }) ]); }; -$mount(PriceDemo, '#demo-price'); +Mount(PriceDemo, '#demo-price'); ``` ### Audio Controls @@ -227,7 +227,7 @@ const AudioDemo = () => { ]) ]); }; -$mount(AudioDemo, '#demo-audio'); +Mount(AudioDemo, '#demo-audio'); ``` ### All Variants @@ -254,5 +254,5 @@ const VariantsDemo = () => { Range({ disabled: true, value: $(50), oninput: (e) => {} }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/rating.md b/docs/components/rating.md index 4e8282f..8caec3c 100644 --- a/docs/components/rating.md +++ b/docs/components/rating.md @@ -54,7 +54,7 @@ const BasicDemo = () => { Div({ class: 'text-sm opacity-70' }, () => `Rating: ${rating()} / 5`) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Heart Rating @@ -80,7 +80,7 @@ const HeartDemo = () => { Div({ class: 'text-sm opacity-70' }, () => `${rating()} hearts`) ]); }; -$mount(HeartDemo, '#demo-heart'); +Mount(HeartDemo, '#demo-heart'); ``` ### Star with Outline @@ -106,7 +106,7 @@ const Star2Demo = () => { Div({ class: 'text-sm opacity-70' }, () => `${rating()} stars`) ]); }; -$mount(Star2Demo, '#demo-star2'); +Mount(Star2Demo, '#demo-star2'); ``` ### Read-only Rating @@ -131,7 +131,7 @@ const ReadonlyDemo = () => { Div({ class: 'text-sm opacity-70' }, 'Average rating: 4.5/5 (read-only)') ]); }; -$mount(ReadonlyDemo, '#demo-readonly'); +Mount(ReadonlyDemo, '#demo-readonly'); ``` ### Product Review @@ -186,7 +186,7 @@ const ReviewDemo = () => { ]) ]); }; -$mount(ReviewDemo, '#demo-review'); +Mount(ReviewDemo, '#demo-review'); ``` ### All Variants @@ -219,7 +219,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Interactive Feedback @@ -268,5 +268,5 @@ const FeedbackDemo = () => { : null ]); }; -$mount(FeedbackDemo, '#demo-feedback'); +Mount(FeedbackDemo, '#demo-feedback'); ``` \ No newline at end of file diff --git a/docs/components/select.md b/docs/components/select.md index 22c9412..72d6c60 100644 --- a/docs/components/select.md +++ b/docs/components/select.md @@ -56,7 +56,7 @@ const BasicDemo = () => { onchange: (e) => selected(e.target.value) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Reactive Display @@ -85,7 +85,7 @@ const ReactiveDemo = () => { Div({ class: 'alert alert-info' }, () => `You selected: ${selected()}`) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Disabled State @@ -110,7 +110,7 @@ const DisabledDemo = () => { disabled: true }); }; -$mount(DisabledDemo, '#demo-disabled'); +Mount(DisabledDemo, '#demo-disabled'); ``` ### Dynamic Items @@ -160,7 +160,7 @@ const DynamicDemo = () => { () => selectedItem() ? Div({ class: 'alert alert-success' }, `Selected: ${selectedItem()}`) : null ]); }; -$mount(DynamicDemo, '#demo-dynamic'); +Mount(DynamicDemo, '#demo-dynamic'); ``` ### All Variants @@ -213,5 +213,5 @@ const VariantsDemo = () => { }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/stack.md b/docs/components/stack.md index f26bfd6..d0f5fa5 100644 --- a/docs/components/stack.md +++ b/docs/components/stack.md @@ -44,7 +44,7 @@ const BasicDemo = () => { Div({ class: 'bg-accent text-accent-content rounded-lg p-4 shadow-lg' }, 'Layer 3') ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Card Stack @@ -73,7 +73,7 @@ const CardsDemo = () => { ]) ]); }; -$mount(CardsDemo, '#demo-cards'); +Mount(CardsDemo, '#demo-cards'); ``` ### Avatar Stack @@ -99,7 +99,7 @@ const AvatarsDemo = () => { ]) ]); }; -$mount(AvatarsDemo, '#demo-avatars'); +Mount(AvatarsDemo, '#demo-avatars'); ``` ### Image Stack @@ -125,7 +125,7 @@ const ImagesDemo = () => { ]) ]); }; -$mount(ImagesDemo, '#demo-images'); +Mount(ImagesDemo, '#demo-images'); ``` ### Photo Gallery Stack @@ -157,7 +157,7 @@ const GalleryDemo = () => { ) ]); }; -$mount(GalleryDemo, '#demo-gallery'); +Mount(GalleryDemo, '#demo-gallery'); ``` ### Interactive Stack @@ -197,7 +197,7 @@ const InteractiveDemo = () => { ]) ]); }; -$mount(InteractiveDemo, '#demo-interactive'); +Mount(InteractiveDemo, '#demo-interactive'); ``` ### Notification Stack @@ -249,7 +249,7 @@ const NotificationsDemo = () => { }, 'Clear All') ]); }; -$mount(NotificationsDemo, '#demo-notifications'); +Mount(NotificationsDemo, '#demo-notifications'); ``` ### All Variants @@ -290,5 +290,5 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/stat.md b/docs/components/stat.md index 7659163..924e001 100644 --- a/docs/components/stat.md +++ b/docs/components/stat.md @@ -59,7 +59,7 @@ const BasicDemo = () => { }) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Icons @@ -94,7 +94,7 @@ const IconsDemo = () => { }) ]); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Reactive Values @@ -137,7 +137,7 @@ const ReactiveDemo = () => { ]) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Multiple Stats in Row @@ -178,7 +178,7 @@ const MultipleDemo = () => { }) ]); }; -$mount(MultipleDemo, '#demo-multiple'); +Mount(MultipleDemo, '#demo-multiple'); ``` ### Dashboard Example @@ -243,7 +243,7 @@ const DashboardDemo = () => { ]) ]); }; -$mount(DashboardDemo, '#demo-dashboard'); +Mount(DashboardDemo, '#demo-dashboard'); ``` ### All Variants @@ -288,7 +288,7 @@ const VariantsDemo = () => { }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Compact Stats @@ -325,5 +325,5 @@ const CompactDemo = () => { }) ]); }; -$mount(CompactDemo, '#demo-compact'); +Mount(CompactDemo, '#demo-compact'); ``` \ No newline at end of file diff --git a/docs/components/swap.md b/docs/components/swap.md index bfd64a2..6c12bfa 100644 --- a/docs/components/swap.md +++ b/docs/components/swap.md @@ -50,7 +50,7 @@ const BasicDemo = () => { onclick: () => isOn(!isOn()) }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Icon Swap @@ -73,7 +73,7 @@ const IconsDemo = () => { onclick: () => isOn(!isOn()) }); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Emoji Swap @@ -96,7 +96,7 @@ const EmojiDemo = () => { onclick: () => isOn(!isOn()) }); }; -$mount(EmojiDemo, '#demo-emoji'); +Mount(EmojiDemo, '#demo-emoji'); ``` ### Custom Content Swap @@ -119,7 +119,7 @@ const CustomDemo = () => { onclick: () => isOn(!isOn()) }); }; -$mount(CustomDemo, '#demo-custom'); +Mount(CustomDemo, '#demo-custom'); ``` ### With Reactive State @@ -149,7 +149,7 @@ const ReactiveDemo = () => { ) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Toggle Mode Swap @@ -200,7 +200,7 @@ const ModeDemo = () => { ]) ]); }; -$mount(ModeDemo, '#demo-mode'); +Mount(ModeDemo, '#demo-mode'); ``` ### All Variants @@ -249,7 +249,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` ### Simple Todo Toggle @@ -288,5 +288,5 @@ const TodoDemo = () => { }) ]); }; -$mount(TodoDemo, '#demo-todo'); +Mount(TodoDemo, '#demo-todo'); ``` \ No newline at end of file diff --git a/docs/components/table.md b/docs/components/table.md index 5cf949c..f918d67 100644 --- a/docs/components/table.md +++ b/docs/components/table.md @@ -70,7 +70,7 @@ const BasicDemo = () => { ] }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Zebra Stripes @@ -101,7 +101,7 @@ const ZebraDemo = () => { zebra: true }); }; -$mount(ZebraDemo, '#demo-zebra'); +Mount(ZebraDemo, '#demo-zebra'); ``` ### With Custom Cell Rendering @@ -147,7 +147,7 @@ const CustomDemo = () => { zebra: true }); }; -$mount(CustomDemo, '#demo-custom'); +Mount(CustomDemo, '#demo-custom'); ``` ### With Footers @@ -195,7 +195,7 @@ const FooterDemo = () => { zebra: true }); }; -$mount(FooterDemo, '#demo-footer'); +Mount(FooterDemo, '#demo-footer'); ``` ### Empty State @@ -223,7 +223,7 @@ const EmptyDemo = () => { ]) }); }; -$mount(EmptyDemo, '#demo-empty'); +Mount(EmptyDemo, '#demo-empty'); ``` ### Reactive Data @@ -294,7 +294,7 @@ const ReactiveDemo = () => { }) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### With Actions @@ -354,7 +354,7 @@ const ActionsDemo = () => { zebra: true }); }; -$mount(ActionsDemo, '#demo-actions'); +Mount(ActionsDemo, '#demo-actions'); ``` ### All Variants @@ -408,5 +408,5 @@ const VariantsDemo = () => { }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/tabs.md b/docs/components/tabs.md index 02284a9..f9a9b88 100644 --- a/docs/components/tabs.md +++ b/docs/components/tabs.md @@ -87,7 +87,7 @@ const BasicDemo = () => { ] }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### With Icons @@ -126,7 +126,7 @@ const IconsDemo = () => { ] }); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### With Tooltips @@ -168,7 +168,7 @@ const TooltipsDemo = () => { ] }); }; -$mount(TooltipsDemo, '#demo-tooltips'); +Mount(TooltipsDemo, '#demo-tooltips'); ``` ### Disabled Tab @@ -207,7 +207,7 @@ const DisabledDemo = () => { ] }); }; -$mount(DisabledDemo, '#demo-disabled'); +Mount(DisabledDemo, '#demo-disabled'); ``` ### Reactive Content @@ -253,7 +253,7 @@ const ReactiveDemo = () => { ] }); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Form Tabs @@ -355,7 +355,7 @@ const FormTabs = () => { ]) ]); }; -$mount(FormTabs, '#demo-form'); +Mount(FormTabs, '#demo-form'); ``` ### All Variants @@ -405,5 +405,5 @@ const VariantsDemo = () => { Tabs({ items: createItems(active3), class: 'tabs-lifted' }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/timeline.md b/docs/components/timeline.md index fa3ffbf..f8f8213 100644 --- a/docs/components/timeline.md +++ b/docs/components/timeline.md @@ -60,7 +60,7 @@ const BasicDemo = () => { return Timeline({ items: events }); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Horizontal Timeline @@ -88,7 +88,7 @@ const HorizontalDemo = () => { class: 'min-w-[600px]' }); }; -$mount(HorizontalDemo, '#demo-horizontal'); +Mount(HorizontalDemo, '#demo-horizontal'); ``` ### Compact Timeline @@ -114,7 +114,7 @@ const CompactDemo = () => { compact: true }); }; -$mount(CompactDemo, '#demo-compact'); +Mount(CompactDemo, '#demo-compact'); ``` ### Custom Icons @@ -137,7 +137,7 @@ const IconsDemo = () => { return Timeline({ items: milestones }); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Reactive Timeline @@ -192,7 +192,7 @@ const ReactiveDemo = () => { ]) ]); }; -$mount(ReactiveDemo, '#demo-reactive'); +Mount(ReactiveDemo, '#demo-reactive'); ``` ### Order Status Tracker @@ -234,7 +234,7 @@ const OrderDemo = () => { )) ]); }; -$mount(OrderDemo, '#demo-order'); +Mount(OrderDemo, '#demo-order'); ``` ### Company History @@ -259,7 +259,7 @@ const HistoryDemo = () => { return Timeline({ items: milestones }); }; -$mount(HistoryDemo, '#demo-history'); +Mount(HistoryDemo, '#demo-history'); ``` ### All Variants @@ -290,5 +290,5 @@ const VariantsDemo = () => { Timeline({ items: sampleItems, compact: true }) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` \ No newline at end of file diff --git a/docs/components/toast.md b/docs/components/toast.md index dbe715f..f6850ab 100644 --- a/docs/components/toast.md +++ b/docs/components/toast.md @@ -44,7 +44,7 @@ const BasicDemo = () => { }, 'Error Toast') ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Different Durations @@ -77,7 +77,7 @@ const DurationDemo = () => { }, '8 Seconds') ]); }; -$mount(DurationDemo, '#demo-duration'); +Mount(DurationDemo, '#demo-duration'); ``` ### Interactive Toast @@ -115,7 +115,7 @@ const InteractiveDemo = () => { Div({ class: 'text-sm opacity-70' }, () => `Toasts shown: ${count()}`) ]); }; -$mount(InteractiveDemo, '#demo-interactive'); +Mount(InteractiveDemo, '#demo-interactive'); ``` ### Form Validation Toast @@ -174,7 +174,7 @@ const FormToastDemo = () => { }, 'Login') ]); }; -$mount(FormToastDemo, '#demo-form'); +Mount(FormToastDemo, '#demo-form'); ``` ### Success Feedback @@ -227,7 +227,7 @@ const FeedbackDemo = () => { )) ]); }; -$mount(FeedbackDemo, '#demo-feedback'); +Mount(FeedbackDemo, '#demo-feedback'); ``` ### Error Handling @@ -274,7 +274,7 @@ const ErrorDemo = () => { }, 'Timeout') ]); }; -$mount(ErrorDemo, '#demo-error'); +Mount(ErrorDemo, '#demo-error'); ``` ### Custom Messages @@ -311,7 +311,7 @@ const CustomDemo = () => { }, 'Security Alert') ]); }; -$mount(CustomDemo, '#demo-custom'); +Mount(CustomDemo, '#demo-custom'); ``` ### Multiple Toasts @@ -339,5 +339,5 @@ const MultipleDemo = () => { }, 'Show Multiple Toasts') ]); }; -$mount(MultipleDemo, '#demo-multiple'); +Mount(MultipleDemo, '#demo-multiple'); ``` \ No newline at end of file diff --git a/docs/components/tooltip.md b/docs/components/tooltip.md index 0721a3d..c40d293 100644 --- a/docs/components/tooltip.md +++ b/docs/components/tooltip.md @@ -58,7 +58,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Tooltip Positions @@ -87,7 +87,7 @@ const PositionsDemo = () => { ]) ]); }; -$mount(PositionsDemo, '#demo-positions'); +Mount(PositionsDemo, '#demo-positions'); ``` ### Tooltip with Icons @@ -116,7 +116,7 @@ const IconsDemo = () => { ]) ]); }; -$mount(IconsDemo, '#demo-icons'); +Mount(IconsDemo, '#demo-icons'); ``` ### Form Field Tooltips @@ -159,7 +159,7 @@ const FormDemo = () => { ]) ]); }; -$mount(FormDemo, '#demo-form'); +Mount(FormDemo, '#demo-form'); ``` ### Interactive Tooltip @@ -201,7 +201,7 @@ const InteractiveDemo = () => { ]) ]); }; -$mount(InteractiveDemo, '#demo-interactive'); +Mount(InteractiveDemo, '#demo-interactive'); ``` ### Rich Tooltip Content @@ -240,7 +240,7 @@ const RichDemo = () => { ]) ]); }; -$mount(RichDemo, '#demo-rich'); +Mount(RichDemo, '#demo-rich'); ``` ### Color Variants @@ -278,7 +278,7 @@ const ColorsDemo = () => { ]) ]); }; -$mount(ColorsDemo, '#demo-colors'); +Mount(ColorsDemo, '#demo-colors'); ``` ### All Tooltip Positions @@ -315,5 +315,5 @@ const AllPositionsDemo = () => { ]) ]); }; -$mount(AllPositionsDemo, '#demo-all-positions'); +Mount(AllPositionsDemo, '#demo-all-positions'); ``` \ No newline at end of file diff --git a/docs/components_old/accordion.md b/docs/components_old/accordion.md index 7ef4a85..d114c8a 100644 --- a/docs/components_old/accordion.md +++ b/docs/components_old/accordion.md @@ -57,7 +57,7 @@ const BasicDemo = () => { ]) ]); }; -$mount(BasicDemo, '#demo-basic'); +Mount(BasicDemo, '#demo-basic'); ``` ### Group Accordion (Radio Style) @@ -100,7 +100,7 @@ const GroupDemo = () => { ]) ]); }; -$mount(GroupDemo, '#demo-group'); +Mount(GroupDemo, '#demo-group'); ``` ### FAQ Accordion @@ -134,7 +134,7 @@ const FaqDemo = () => { ]) )); }; -$mount(FaqDemo, '#demo-faq'); +Mount(FaqDemo, '#demo-faq'); ``` ### With Rich Content @@ -206,7 +206,7 @@ const RichDemo = () => { ]) ]); }; -$mount(RichDemo, '#demo-rich'); +Mount(RichDemo, '#demo-rich'); ``` ### Form Accordion @@ -334,7 +334,7 @@ const FormAccordion = () => { ]) ]); }; -$mount(FormAccordion, '#demo-form'); +Mount(FormAccordion, '#demo-form'); ``` ### All Variants @@ -384,7 +384,7 @@ const VariantsDemo = () => { ]) ]); }; -$mount(VariantsDemo, '#demo-variants'); +Mount(VariantsDemo, '#demo-variants'); ``` @@ -115,12 +115,12 @@ When you install SigProUI, you get: ### SigPro Core Functions - `$()` - Reactive signals -- `$watch()` - Watch reactive dependencies -- `$html()` - Create HTML elements with reactivity -- `$if()` - Conditional rendering -- `$for()` - List rendering -- `$router()` - Hash-based routing -- `$mount()` - Mount components to DOM +- `Watch()` - Watch reactive dependencies +- `Tag()` - Create HTML elements with reactivity +- `If()` - Conditional rendering +- `For()` - List rendering +- `Router()` - Hash-based routing +- `Mount()` - Mount components to DOM >For more information about SigPro Core visit official Docs [SigPro Docs](https://natxocc.github.io/sigpro/#/) diff --git a/docs/quick.md b/docs/quick.md index 1777d4c..ccfbefe 100644 --- a/docs/quick.md +++ b/docs/quick.md @@ -184,14 +184,14 @@ Input({ const userId = $("123"); const userData = $(null); -$watch(userId, async (id) => { +Watch(userId, async (id) => { loading(true); userData(await fetch(`/api/user/${id}`).then(r => r.json())); loading(false); }); // In template -$if(() => userData(), () => Alert({ type: "success" }, userData()?.name)) +If(() => userData(), () => Alert({ type: "success" }, userData()?.name)) ``` ### Modal with Confirm Action diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 34fc3a2..530fa47 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:_f,getOwnPropertyNames:w_,getOwnPropertyDescriptor:N_}=Object,F_=Object.prototype.hasOwnProperty;var K_=new WeakMap,U_=(A)=>{var C=K_.get(A),M;if(C)return C;if(C=_f({},"__esModule",{value:!0}),A&&typeof A==="object"||typeof A==="function")w_(A).map((E)=>!F_.call(C,E)&&_f(C,E,{get:()=>A[E],enumerable:!(M=N_(A,E))||M.enumerable}));return K_.set(A,C),C};var z=(A,C)=>{for(var M in C)_f(A,M,{get:C[M],enumerable:!0,configurable:!0,set:(E)=>C[M]=()=>E})};var x_={};z(x_,{val:()=>Q,ui:()=>X,tt:()=>y,getIcon:()=>N,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var O=null,v=null,m=new Set,n=!1,Af=new WeakMap,V_=()=>{if(n)return;n=!0;while(m.size>0){let A=Array.from(m).sort((C,M)=>(C.depth||0)-(M.depth||0));m.clear();for(let C of A)if(!C._deleted)C()}n=!1},Y_=(A)=>{if(O&&!O._deleted)A.add(O),O._deps.add(A)},Mf=(A)=>{for(let C of A){if(C===O||C._deleted)continue;if(C._isComputed){if(C.markDirty(),C._subs)Mf(C._subs)}else m.add(C)}if(!n)queueMicrotask(V_)},Ef=(A)=>{if(A._cleanups)A._cleanups.forEach((C)=>C()),A._cleanups.clear();A.childNodes?.forEach(Ef)},o=(A)=>{let C=new Set,M=v,E=document.createElement("div");E.style.display="contents",v={cleanups:C};try{let W=A({onCleanup:(_)=>C.add(_)}),T=(_)=>{if(!_)return;if(_._isRuntime)C.add(_.destroy),E.appendChild(_.container);else if(Array.isArray(_))_.forEach(T);else E.appendChild(_ instanceof Node?_:document.createTextNode(String(_)))};T(W)}finally{v=M}return{_isRuntime:!0,container:E,destroy:()=>{C.forEach((W)=>W()),Ef(E),E.remove()}}},w=(A,C=null)=>{if(typeof A==="function"){let W=new Set,T,_=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear();let B=O;O=L;try{let P=A();if(!Object.is(T,P)||_)T=P,_=!1,Mf(W)}finally{O=B}};if(L._deps=new Set,L._isComputed=!0,L._subs=W,L._deleted=!1,L.markDirty=()=>_=!0,L.stop=()=>{L._deleted=!0,L._deps.forEach((B)=>B.delete(L)),W.clear()},v)v.cleanups.add(L.stop);return()=>{if(_)L();return Y_(W),T}}let M=A;if(C)try{let W=localStorage.getItem(C);if(W!==null)M=JSON.parse(W)}catch(W){console.warn("SigPro: LocalStorage locked",W)}let E=new Set;return(...W)=>{if(W.length){let T=typeof W[0]==="function"?W[0](M):W[0];if(!Object.is(M,T)){if(M=T,C)localStorage.setItem(C,JSON.stringify(M));Mf(E)}}return Y_(E),M}};var x=(A,C)=>{let M=Array.isArray(A),E=M?C:A,W=M?A:null;if(typeof E!=="function")return()=>{};let T=v,_=()=>{if(_._deleted)return;_._deps.forEach((P)=>P.delete(_)),_._deps.clear(),_._cleanups.forEach((P)=>P()),_._cleanups.clear();let L=O,B=v;O=_,v={cleanups:_._cleanups},_.depth=L?L.depth+1:0;try{if(M)O=null,E(),O=_,W.forEach((P)=>typeof P==="function"&&P());else E()}finally{O=L,v=B}};if(_._deps=new Set,_._cleanups=new Set,_._deleted=!1,_.stop=()=>{if(_._deleted)return;if(_._deleted=!0,m.delete(_),_._deps.forEach((L)=>L.delete(_)),_._cleanups.forEach((L)=>L()),T)T.cleanups.delete(_.stop)},T)T.cleanups.add(_.stop);return _(),_.stop},f=(A,C={},M=[])=>{if(C instanceof Node||Array.isArray(C)||typeof C!=="object")M=C,C={};let W=["svg","path","circle","rect","line","polyline","polygon","g","defs","text","tspan","use"].includes(A),T=W?document.createElementNS("http://www.w3.org/2000/svg",A):document.createElement(A),_=(P,G)=>(P==="src"||P==="href")&&String(G).toLowerCase().includes("javascript:")?"#":G;T._cleanups=new Set;let L=["disabled","checked","required","readonly","selected","multiple","autofocus"];for(let[P,G]of Object.entries(C)){if(P==="ref"){typeof G==="function"?G(T):G.current=T;continue}let Z=typeof G==="function";if(["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(P==="value"||P==="checked")&&Z){T._cleanups.add(x(()=>{let D=G();if(T[P]!==D)T[P]=D}));let J=P==="checked"?"change":"input",q=(D)=>G(D.target[P]);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(P.startsWith("on")){let J=P.slice(2).toLowerCase().split(".")[0],q=(D)=>G(D);T.addEventListener(J,q),T._cleanups.add(()=>T.removeEventListener(J,q))}else if(Z)T._cleanups.add(x(()=>{let J=_(P,G());if(P==="class")T.className=J||"";else if(L.includes(P))if(J)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else if(J==null)T.removeAttribute(P);else if(W&&typeof J==="number")T.setAttribute(P,J);else T.setAttribute(P,J)}));else if(L.includes(P))if(G)T.setAttribute(P,""),T[P]=!0;else T.removeAttribute(P),T[P]=!1;else T.setAttribute(P,_(P,G))}let B=(P)=>{if(Array.isArray(P))return P.forEach(B);if(P instanceof Node)T.appendChild(P);else if(typeof P==="function"){let G=document.createTextNode("");T.appendChild(G);let Z=[];T._cleanups.add(x(()=>{let S=P(),Y=(Array.isArray(S)?S:[S]).map((J)=>J?._isRuntime?J.container:J instanceof Node?J:document.createTextNode(J??""));Z.forEach((J)=>{Ef?.(J),J.remove()}),Y.forEach((J)=>G.parentNode?.insertBefore(J,G)),Z=Y}))}else T.appendChild(document.createTextNode(P??""))};return B(M),T},U=(A,C,M=null,E=null)=>{let W=document.createTextNode(""),T=f("div",{style:"display:contents"},[W]),_=null,L=null;return x(()=>{let B=!!(typeof A==="function"?A():A);if(B===L)return;if(L=B,_&&!B&&E?.out)E.out(_.container,()=>{_.destroy(),_=null});else{if(_)_.destroy();_=null}if(B||!B&&M){let P=B?C:M;if(P){if(_=o(()=>typeof P==="function"?P():P),T.insertBefore(_.container,W),B&&E?.in)E.in(_.container)}}}),T};U.not=(A,C,M)=>U(()=>!(typeof A==="function"?A():A),C,M);var V=(A,C,M,E="div",W={style:"display:contents"})=>{let T=document.createTextNode(""),_=f(E,W,[T]),L=new Map;return x(()=>{let B=(typeof A==="function"?A():A)||[],P=new Map,G=[];for(let S=0;SC(Y,S));else L.delete(J);P.set(J,q),G.push(J)}L.forEach((S)=>{S.destroy(),S.container.remove()});let Z=T;for(let S=G.length-1;S>=0;S--){let Y=P.get(G[S]);if(Y.container.nextSibling!==Z)_.insertBefore(Y.container,Z);Z=Y.container}L=P}),_},g=(A)=>{let C=w(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>C(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),E=null;return x([C],async()=>{let W=C(),T=A.find((_)=>{let L=_.path.split("/").filter(Boolean),B=W.split("/").filter(Boolean);return L.length===B.length&&L.every((P,G)=>P.startsWith(":")||P===B[G])})||A.find((_)=>_.path==="*");if(T){let _=T.component;if(typeof _==="function"&&_.toString().includes("import"))_=(await _()).default||await _();let L={};if(T.path.split("/").filter(Boolean).forEach((B,P)=>{if(B.startsWith(":"))L[B.slice(1)]=W.split("/").filter(Boolean)[P]}),E)E.destroy();if(g.params)g.params(L);E=o(()=>{try{return typeof _==="function"?_(L):_}catch(B){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};g.params=w({});g.to=(A)=>window.location.hash=A.replace(/^#?\/?/,"#/");g.back=()=>window.history.back();g.path=()=>window.location.hash.replace(/^#/,"")||"/";var Cf=(A,C)=>{let M=typeof C==="string"?document.querySelector(C):C;if(!M)return;if(Af.has(M))Af.get(M).destroy();let E=o(typeof A==="function"?A:()=>A);return M.replaceChildren(E.container),Af.set(M,E),E},q_=({children:A})=>A,O_={$:w,$watch:x,$html:f,$if:U,$for:V,$router:g,$mount:Cf,Fragment:q_};if(typeof window<"u")((C)=>{Object.keys(C).forEach((E)=>{window[E]=C[E]}),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(/\s+/).forEach((E)=>{let W=E.charAt(0).toUpperCase()+E.slice(1);if(!(W in window))window[W]=(T,_)=>f(E,T,_)}),window.Fragment=q_,window.SigPro=Object.freeze(C)})(O_);var a={};z(a,{default:()=>y_,Tooltip:()=>G_,Toast:()=>J_,Timeline:()=>P_,Tabs:()=>L_,Table:()=>C_,Swap:()=>M_,Stat:()=>__,Stack:()=>tf,Select:()=>ef,Rating:()=>af,Range:()=>nf,Radio:()=>pf,Navbar:()=>df,Modal:()=>bf,Menu:()=>hf,List:()=>uf,Label:()=>If,Input:()=>b,Indicator:()=>xf,Fileinput:()=>Hf,Fieldset:()=>Of,Fab:()=>Uf,Dropdown:()=>Nf,Drawer:()=>Df,Datepicker:()=>Rf,Colorpicker:()=>qf,Checkbox:()=>Kf,Button:()=>c,Badge:()=>Gf,Autocomplete:()=>Jf,Alert:()=>Wf,Accordion:()=>Tf});var Lf={};z(Lf,{Accordion:()=>Tf});var i={};z(i,{val:()=>Q,ui:()=>X,getIcon:()=>N});var Q=(A)=>typeof A==="function"?A():A,X=(A,C)=>typeof C==="function"?()=>`${A} ${C()||""}`.trim():`${A} ${C||""}`.trim(),N=(A)=>{if(!A)return null;if(typeof A==="function")return f("span",{class:"mr-1"},A());if(typeof A==="object")return f("span",{class:"mr-1"},A);if(typeof A==="string"){let C=A.trim().split(/\s+/),M=C[C.length-1]==="right",E=M?C.slice(0,-1).join(" "):A,W=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return f("span",{class:W},E);return f("span",{class:`${E} ${W}`.trim()})}return null};var Tf=(A,C)=>{let{class:M,title:E,name:W,open:T,..._}=A;return f("div",{..._,class:X("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:W?"radio":"checkbox",name:W,checked:Q(T)}),f("div",{class:"collapse-title text-xl font-medium"},E),f("div",{class:"collapse-content"},C)])};var Pf={};z(Pf,{Alert:()=>Wf});var Wf=(A,C)=>{let{class:M,actions:E,type:W="info",soft:T=!0,..._}=A,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},G=[`alert-${W}`,T?"alert-soft":"",M].filter(Boolean).join(" "),Z=C||A.message;return f("div",{..._,role:"alert",class:X("alert",G)},()=>[N(L[W]),f("div",{class:"flex-1"},[f("span",{},[typeof Z==="function"?Z():Z])]),E?f("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Qf={};z(Qf,{Autocomplete:()=>Jf});var k_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},H_=w("es");var y=(A)=>()=>k_[H_()][A]||A;var Bf={};z(Bf,{Input:()=>b});var b=(A)=>{let{class:C,value:M,type:E="text",icon:W,oninput:T,placeholder:_,disabled:L,size:B,validate:P,...G}=A,Z=E==="password",S=w(!1),Y=w(null),J={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},q=W?N(W):J[E]?N(J[E]):null,D=()=>N(S()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",s=Z?"pr-10":"",p=()=>{if(C?.includes("input-xs"))return"btn-xs";if(C?.includes("input-sm"))return"btn-sm";if(C?.includes("input-lg"))return"btn-lg";return"btn-md"},r=(F)=>{let k=F.target.value;if(P){let $=P(k);Y($||null)}T?.(F)},u=()=>Y()&&Y()!=="",R=f("input",{...G,type:()=>Z?S()?"text":"password":E,placeholder:_||" ",class:()=>{let F=`input w-full ${d} ${s}`;if(C)F+=` ${C}`;if(u())F+=" input-error";return F.trim()},value:M,oninput:r,disabled:()=>Q(L),"aria-invalid":()=>u()?"true":"false"});return f("div",{class:"relative w-full"},()=>[R,q?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,Z?f("button",{type:"button",class:X("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",p()),onclick:(F)=>{F.preventDefault(),S(!S())}},()=>D()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>u()?Y():null)])};var Jf=(A)=>{let{class:C,items:M=[],value:E,onSelect:W,label:T,placeholder:_,...L}=A,B=w(Q(E)||""),P=w(!1),G=w(-1),Z=w(()=>{let J=B().toLowerCase(),q=Q(M)||[];return J?q.filter((D)=>(typeof D==="string"?D:D.label).toLowerCase().includes(J)):q}),S=(J)=>{let q=typeof J==="string"?J:J.value,D=typeof J==="string"?J:J.label;if(B(D),typeof E==="function")E(q);W?.(J),P(!1),G(-1)},Y=(J)=>{let q=Z();if(J.key==="ArrowDown")J.preventDefault(),P(!0),G(Math.min(G()+1,q.length-1));else if(J.key==="ArrowUp")J.preventDefault(),G(Math.max(G()-1,0));else if(J.key==="Enter"&&G()>=0)J.preventDefault(),S(q[G()]);else if(J.key==="Escape")P(!1)};return f("div",{class:"relative w-full"},[b({label:T,class:C,placeholder:_||y("search")(),value:B,onfocus:()=>P(!0),onblur:()=>setTimeout(()=>P(!1),150),onkeydown:Y,oninput:(J)=>{let q=J.target.value;if(B(q),typeof E==="function")E(q);P(!0),G(-1)},...L}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>P()&&Z().length?"display:block":"display:none"},[V(Z,(J,q)=>f("li",{},[f("a",{class:()=>`block w-full ${G()===q?"active bg-primary text-primary-content":""}`,onclick:()=>S(J),onmouseenter:()=>G(q)},typeof J==="string"?J:J.label)]),(J,q)=>(typeof J==="string"?J:J.value)+q),()=>Z().length?null:f("li",{class:"p-2 text-center opacity-50"},y("nodata")())])])};var Xf={};z(Xf,{Badge:()=>Gf});var Gf=(A,C)=>{let{class:M,...E}=A;return f("span",{...E,class:X("badge",M)},C)};var Zf={};z(Zf,{Button:()=>c});var c=(A,C)=>{let{class:M,loading:E,icon:W,...T}=A,_=N(W);return f("button",{...T,class:X("btn",M),disabled:()=>Q(E)||Q(A.disabled)},()=>[Q(E)&&f("span",{class:"loading loading-spinner"}),_,C].filter(Boolean))};var Yf={};z(Yf,{Checkbox:()=>Kf});var Kf=(A)=>{let{class:C,value:M,tooltip:E,toggle:W,label:T,..._}=A,L=f("input",{..._,type:"checkbox",class:()=>X(Q(W)?"toggle":"checkbox",C),checked:M}),B=f("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?f("span",{class:"label-text"},T):null]);return E?f("div",{class:"tooltip","data-tip":E},B):B};var Sf={};z(Sf,{Colorpicker:()=>qf});var qf=(A)=>{let{class:C,value:M,label:E,...W}=A,T=w(!1),_=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],L=()=>Q(M)||"#000000";return f("div",{class:X("relative w-fit",C)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(B)=>{B.stopPropagation(),T(!T())},...W},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?f("span",{class:"opacity-80"},E):null]),U(T,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(B)=>B.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},_.map((B)=>f("button",{type:"button",style:`background-color: ${B}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 - ${L().toLowerCase()===B.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(B);T(!1)}})))])),U(T,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>T(!1)}))])};var zf={};z(zf,{Datepicker:()=>Rf});var Rf=(A)=>{let{class:C,value:M,range:E,label:W,placeholder:T,hour:_=!1,...L}=A,B=w(!1),P=w(new Date),G=w(null),Z=w(0),S=w(0),Y=()=>Q(E)===!0,J=new Date,q=`${J.getFullYear()}-${String(J.getMonth()+1).padStart(2,"0")}-${String(J.getDate()).padStart(2,"0")}`,D=(K)=>{let R=K.getFullYear(),F=String(K.getMonth()+1).padStart(2,"0"),k=String(K.getDate()).padStart(2,"0");return`${R}-${F}-${k}`},d=(K)=>{let R=D(K),F=Q(M);if(Y())if(!F?.start||F.start&&F.end){if(typeof M==="function")M({start:R,end:null,..._&&{startHour:Z()}})}else{let k=F.start;if(typeof M==="function"){let $=R{let K=Q(M);if(!K)return"";if(typeof K==="string"){if(_&&K.includes("T"))return K.replace("T"," ");return K}if(K.start&&K.end){let R=_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start,F=_&&K.endHour?`${K.end} ${String(K.endHour).padStart(2,"0")}:00`:K.end;return`${R} - ${F}`}if(K.start)return`${_&&K.startHour?`${K.start} ${String(K.startHour).padStart(2,"0")}:00`:K.start}...`;return""}),p=(K)=>{let R=P();P(new Date(R.getFullYear(),R.getMonth()+K,1))},r=(K)=>{let R=P();P(new Date(R.getFullYear()+K,R.getMonth(),1))},u=({value:K,onChange:R})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:K,class:"range range-xs flex-1",oninput:(F)=>{let k=parseInt(F.target.value);R(k)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(Q(K)).padStart(2,"0")+":00")])])};return f("div",{class:X("relative w-full",C)},[b({label:W,placeholder:T||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:s,readonly:!0,icon:N("icon-[lucide--calendar]"),onclick:(K)=>{K.stopPropagation(),B(!B())},...L}),U(B,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(K)=>K.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(-1)},N("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(-1)},N("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>P().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>p(1)},N("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>r(1)},N("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>G(null)},[...["L","M","X","J","V","S","D"].map((K)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},K)),()=>{let K=P(),R=K.getFullYear(),F=K.getMonth(),k=new Date(R,F,1).getDay(),$=k===0?6:k-1,R_=new Date(R,F+1,0).getDate(),e=[];for(let h=0;h<$;h++)e.push(f("div"));for(let h=1;h<=R_;h++){let Z_=new Date(R,F,h),H=D(Z_);e.push(f("button",{type:"button",class:()=>{let I=Q(M),l=G(),z_=typeof I==="string"?I.split("T")[0]===H:I?.start===H,D_=I?.end===H,t=!1;if(Y()&&I?.start){let ff=I.start;if(!I.end&&l)t=H>ff&&H<=l||H=l;else if(I.end)t=H>ff&&H{if(Y())G(H)},onclick:()=>d(Z_)},[h.toString()]))}return e}]),_?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R?.start)M({...R,startHour:K})}}),u({value:S,onChange:(K)=>{S(K);let R=Q(M);if(R?.end)M({...R,endHour:K})}})]):u({value:Z,onChange:(K)=>{Z(K);let R=Q(M);if(R&&typeof R==="string"&&R.includes("-"))M(R.split("T")[0]+"T"+String(K).padStart(2,"0")+":00:00")}})]):null])),U(B,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>B(!1)}))])};var wf={};z(wf,{Drawer:()=>Df});var Df=(A,C)=>{let{class:M,id:E,open:W,side:T,content:_,...L}=A,B=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...L,class:X("drawer",M)},[f("input",{id:B,type:"checkbox",class:"drawer-toggle",checked:()=>typeof W==="function"?W():W,onchange:(P)=>{if(typeof W==="function")W(P.target.checked)}}),f("div",{class:"drawer-content"},[typeof _==="function"?_():_]),f("div",{class:"drawer-side"},[f("label",{for:B,class:"drawer-overlay",onclick:()=>{if(typeof W==="function")W(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof T==="function"?T():T])])])};var Ff={};z(Ff,{Dropdown:()=>Nf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(A)=>{if(j&&!j.contains(A.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var Nf=(A)=>{let{class:C,label:M,icon:E,items:W,...T}=A;return $html("details",{...T,class:X("dropdown",C)},[$html("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(_)=>{let L=_.currentTarget.closest("details");if(j&&j!==L)j.open=!1;setTimeout(()=>{j=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>M?typeof M==="function"?M():M:null]),$html("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof W==="function"?W():W||[]).map((L)=>$html("li",{},[$html("a",{class:L.class||"",onclick:(B)=>{if(L.onclick)L.onclick(B);let P=B.currentTarget.closest("details");if(P){if(P.open=!1,j===P)j=null}}},[L.icon?$html("span",{},L.icon):null,$html("span",{},L.label)])]))}])])};var Vf={};z(Vf,{Fab:()=>Uf});var Uf=(A)=>{let{class:C,icon:M,label:E,actions:W=[],position:T="bottom-6 right-6",..._}=A;return f("div",{..._,class:X(`fab absolute ${T} flex flex-col-reverse items-end gap-3 z-[100]`,C)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?N(M):null,!M&&E?E:null]),...Q(W).map((L)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(B)=>{B.stopPropagation(),L.onclick?.(B)}},[L.icon?N(L.icon):L.text||""])]))])};var kf={};z(kf,{Fieldset:()=>Of});var Of=(A,C)=>{let{class:M,legend:E,...W}=A;return f("fieldset",{...W,class:X("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let T=Q(E);return T?f("legend",{class:"fieldset-legend font-bold"},[T]):null},C])};var yf={};z(yf,{Fileinput:()=>Hf});var Hf=(A)=>{let{class:C,tooltip:M,max:E=2,accept:W="*",onSelect:T,..._}=A,L=w([]),B=w(!1),P=w(null),G=E*1024*1024,Z=(Y)=>{let J=Array.from(Y);if(P(null),J.find((D)=>D.size>G)){P(`Máx ${E}MB`);return}L([...L(),...J]),T?.(L())},S=(Y)=>{let J=L().filter((q,D)=>D!==Y);L(J),T?.(J)};return f("fieldset",{..._,class:X("fieldset w-full p-0",C)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` +(()=>{var{defineProperty:Lf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:j_}=Object,y_=Object.prototype.hasOwnProperty;var V_=new WeakMap,I_=(_)=>{var E=V_.get(_),M;if(E)return E;if(E=Lf({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function")x_(_).map((C)=>!y_.call(E,C)&&Lf(E,C,{get:()=>_[C],enumerable:!(M=j_(_,C))||M.enumerable}));return V_.set(_,E),E};var z=(_,E)=>{for(var M in E)Lf(_,M,{get:E[M],enumerable:!0,configurable:!0,set:(C)=>E[M]=()=>C})};var c_={};z(c_,{val:()=>G,ui:()=>Q,tt:()=>x,getIcon:()=>w,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var h=null,I=null,n=new Set,t=!1,Wf=new WeakMap,a=document,g=Array.isArray,Gf=Object.assign,N_=(_)=>a.createElement(_),p=(_)=>a.createTextNode(String(_??"")),U=(_)=>typeof _==="function",Pf=(_)=>typeof _==="object"&&_!==null,Jf=(_,E)=>{let M=h;h=_;try{return E()}finally{h=M}},Qf=(_)=>{if(_._cleanups)_._cleanups.forEach((E)=>E()),_._cleanups.clear();_.childNodes?.forEach(Qf)},m_=()=>{if(t)return;t=!0;while(n.size>0){let _=Array.from(n).sort((E,M)=>(E.depth||0)-(M.depth||0));n.clear();for(let E of _)if(!E._deleted)E()}t=!1},Bf=(_)=>{if(h&&!h._deleted)_.add(h),h._deps.add(_)},s=(_)=>{if(_.forEach((E)=>{if(E===h||E._deleted)return;if(E._isComputed){if(E.markDirty(),E._subs)s(E._subs)}else n.add(E)}),!t)queueMicrotask(m_)},o=(_)=>{let E=new Set,M=I,C=N_("div");C.style.display="contents",I={cleanups:E};let A=(W)=>{if(!W)return;if(W._isRuntime)E.add(W.destroy),C.appendChild(W.container);else if(g(W))W.forEach(A);else C.appendChild(W instanceof Node?W:p(W))};try{A(_({onCleanup:(W)=>E.add(W)}))}finally{I=M}return{_isRuntime:!0,container:C,destroy:()=>{E.forEach((W)=>W()),Qf(C),C.remove()}}},D=(_,E=null)=>{let M=new Set;if(U(_)){let A,W=!0,L=()=>{if(L._deleted)return;L._deps.forEach((P)=>P.delete(L)),L._deps.clear(),Jf(L,()=>{let P=_();if(!Object.is(A,P)||W)A=P,W=!1,s(M)})};if(Gf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>W=!0,stop:()=>{L._deleted=!0,L._deps.forEach((P)=>P.delete(L)),M.clear()}}),I)I.cleanups.add(L.stop);return()=>{if(W)L();return Bf(M),A}}let C=_;if(E)try{let A=localStorage.getItem(E);if(A!==null)C=JSON.parse(A)}catch(A){console.warn("SigPro Storage Lock",A)}return(...A)=>{if(A.length){let W=U(A[0])?A[0](C):A[0];if(!Object.is(C,W)){if(C=W,E)localStorage.setItem(E,JSON.stringify(C));s(M)}}return Bf(M),C}},U_=(_,E=new WeakMap)=>{if(!Pf(_))return _;if(E.has(_))return E.get(_);let M={},C=new Proxy(_,{get(A,W){if(h)Bf(M[W]??=new Set);let L=Reflect.get(A,W);return Pf(L)?U_(L,E):L},set(A,W,L){if(Object.is(A[W],L))return!0;let P=Reflect.set(A,W,L);if(M[W])s(M[W]);return P}});return E.set(_,C),C},m=(_,E)=>{let M=g(_),C=M?E:_;if(!U(C))return()=>{};let A=I,W=()=>{if(W._deleted)return;W._deps.forEach((P)=>P.delete(W)),W._deps.clear(),W._cleanups.forEach((P)=>P()),W._cleanups.clear();let L=I;W.depth=h?h.depth+1:0,Jf(W,()=>{if(I={cleanups:W._cleanups},M)Jf(null,C),_.forEach((P)=>U(P)&&P());else C();I=L})};if(Gf(W,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(W._deleted)return;if(W._deleted=!0,n.delete(W),W._deps.forEach((L)=>L.delete(W)),W._cleanups.forEach((L)=>L()),A)A.cleanups.delete(W.stop)}}),A)A.cleanups.add(W.stop);return W(),W.stop},f=(_,E={},M=[])=>{if(E instanceof Node||g(E)||!Pf(E))M=E,E={};let A=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(_)?a.createElementNS("http://www.w3.org/2000/svg",_):N_(_);A._cleanups=new Set,A.onUnmount=(J)=>A._cleanups.add(J);let W=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(J,B)=>{let Z=(J==="src"||J==="href")&&String(B).toLowerCase().includes("javascript:")?"#":B;if(W.includes(J))A[J]=!!Z,Z?A.setAttribute(J,""):A.removeAttribute(J);else Z==null?A.removeAttribute(J):A.setAttribute(J,Z)};for(let[J,B]of Object.entries(E)){if(J==="ref"){U(B)?B(A):B.current=A;continue}let Z=U(B);if(J.startsWith("on")){let X=J.slice(2).toLowerCase().split(".")[0];A.addEventListener(X,B),A._cleanups.add(()=>A.removeEventListener(X,B))}else if(Z){if(A._cleanups.add(m(()=>{let X=B();J==="class"?A.className=X||"":L(J,X)})),["INPUT","TEXTAREA","SELECT"].includes(A.tagName)&&(J==="value"||J==="checked")){let X=J==="checked"?"change":"input",R=(Y)=>B(Y.target[J]);A.addEventListener(X,R),A._cleanups.add(()=>A.removeEventListener(X,R))}}else L(J,B)}let P=(J)=>{if(g(J))return J.forEach(P);if(U(J)){let B=p("");A.appendChild(B);let Z=[];A._cleanups.add(m(()=>{let X=J(),R=(g(X)?X:[X]).map((Y)=>Y?._isRuntime?Y.container:Y instanceof Node?Y:p(Y));Z.forEach((Y)=>{Qf(Y),Y.remove()}),R.forEach((Y)=>B.parentNode?.insertBefore(Y,B)),Z=R}))}else A.appendChild(J instanceof Node?J:p(J))};return P(M),A},O=(_,E,M=null,C=null)=>{let A=p(""),W=f("div",{style:"display:contents"},[A]),L=null,P=null;return m(()=>{let J=!!(U(_)?_():_);if(J===P)return;P=J;let B=()=>{if(L)L.destroy();L=null};if(L&&!J&&C?.out)C.out(L.container,B);else B();let Z=J?E:M;if(Z){if(L=o(()=>U(Z)?Z():Z),W.insertBefore(L.container,A),J&&C?.in)C.in(L.container)}}),W},N=(_,E,M,C="div",A={style:"display:contents"})=>{let W=p(""),L=f(C,A,[W]),P=new Map;return m(()=>{let J=(U(_)?_():_)||[],B=new Map,Z=[];for(let R=0;RE(Y,R));P.delete(S),B.set(S,$),Z.push(S)}P.forEach((R)=>{R.destroy(),R.container.remove()});let X=W;for(let R=Z.length-1;R>=0;R--){let Y=B.get(Z[R]);if(Y.container.nextSibling!==X)L.insertBefore(Y.container,X);X=Y.container}P=B}),L},b=(_)=>{let E=D(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>E(window.location.hash.replace(/^#/,"")||"/"));let M=f("div",{class:"router-outlet"}),C=null;return m([E],async()=>{let A=E(),W=_.find((L)=>{let P=L.path.split("/").filter(Boolean),J=A.split("/").filter(Boolean);return P.length===J.length&&P.every((B,Z)=>B.startsWith(":")||B===J[Z])})||_.find((L)=>L.path==="*");if(W){let L=W.component;if(U(L)&&L.toString().includes("import"))L=(await L()).default||await L();let P={};if(W.path.split("/").filter(Boolean).forEach((J,B)=>{if(J.startsWith(":"))P[J.slice(1)]=A.split("/").filter(Boolean)[B]}),C)C.destroy();if(b.params)b.params(P);C=o(()=>{try{return U(L)?L(P):L}catch(J){return f("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(C.container)}}),M};b.params=D({});b.to=(_)=>window.location.hash=_.replace(/^#?\/?/,"#/");b.back=()=>window.history.back();b.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xf=(_,E)=>{let M=typeof E==="string"?a.querySelector(E):E;if(!M)return;if(Wf.has(M))Wf.get(M).destroy();let C=o(U(_)?_:()=>_);return M.replaceChildren(C.container),Wf.set(M,C),C},v_=({children:_})=>_,k_={$:D,$$:U_,Render:o,Watch:m,Tag:f,If:O,For:N,Router:b,Mount:Xf,Fragment:v_};if(typeof window<"u")Gf(window,k_),"div span p h1 h2 h3 h4 h5 h6 br hr section article aside nav main header footer address ul ol li dl dt dd a em strong small i b u mark time sub sup pre code blockquote details summary dialog form label input textarea select button option fieldset legend table thead tbody tfoot tr th td caption img video audio canvas svg iframe picture source progress meter".split(" ").forEach((E)=>{let M=E[0].toUpperCase()+E.slice(1);if(!(M in window))window[M]=(C,A)=>f(E,C,A)}),window.SigPro=Object.freeze(k_);var ff={};z(ff,{default:()=>b_,Tooltip:()=>z_,Toast:()=>K_,Timeline:()=>q_,Tabs:()=>S_,Table:()=>X_,Swap:()=>G_,Stat:()=>J_,Stack:()=>W_,Select:()=>A_,Rating:()=>E_,Range:()=>__,Radio:()=>ef,Navbar:()=>sf,Modal:()=>lf,Menu:()=>gf,List:()=>rf,Label:()=>df,Input:()=>c,Indicator:()=>bf,Fileinput:()=>Tf,Fieldset:()=>mf,Fab:()=>yf,Dropdown:()=>xf,Drawer:()=>Hf,Datepicker:()=>Of,Colorpicker:()=>Nf,Checkbox:()=>Vf,Button:()=>d,Badge:()=>zf,Autocomplete:()=>Kf,Alert:()=>Yf,Accordion:()=>Zf});var Sf={};z(Sf,{Accordion:()=>Zf});var e={};z(e,{val:()=>G,ui:()=>Q,getIcon:()=>w});var G=(_)=>typeof _==="function"?_():_,Q=(_,E)=>typeof E==="function"?()=>`${_} ${E()||""}`.trim():`${_} ${E||""}`.trim(),w=(_)=>{if(!_)return null;if(typeof _==="function")return f("span",{class:"mr-1"},_());if(typeof _==="object")return f("span",{class:"mr-1"},_);if(typeof _==="string"){let E=_.trim().split(/\s+/),M=E[E.length-1]==="right",C=M?E.slice(0,-1).join(" "):_,A=M?"ml-1":"mr-1";if(C&&!C.startsWith("icon-[")&&!C.includes("--"))return f("span",{class:A},C);return f("span",{class:`${C} ${A}`.trim()})}return null};var Zf=(_,E)=>{let{class:M,title:C,name:A,open:W,...L}=_;return f("div",{...L,class:Q("collapse collapse-arrow bg-base-200 mb-2",M)},[f("input",{type:A?"radio":"checkbox",name:A,checked:G(W)}),f("div",{class:"collapse-title text-xl font-medium"},C),f("div",{class:"collapse-content"},E)])};var qf={};z(qf,{Alert:()=>Yf});var Yf=(_,E)=>{let{class:M,actions:C,type:A="info",soft:W=!0,...L}=_,P={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Z=[`alert-${A}`,W?"alert-soft":"",M].filter(Boolean).join(" "),X=E||_.message;return f("div",{...L,role:"alert",class:Q("alert",Z)},()=>[w(P[A]),f("div",{class:"flex-1"},[f("span",{},[typeof X==="function"?X():X])]),C?f("div",{class:"flex-none"},[typeof C==="function"?C():C]):null].filter(Boolean))};var $f={};z($f,{Autocomplete:()=>Kf});var T_={es:{close:"Cerrar",confirm:"Confirmar",cancel:"Cancelar",search:"Buscar...",loading:"Cargando...",nodata:"Sin datos"},en:{close:"Close",confirm:"Confirm",cancel:"Cancel",search:"Search...",loading:"Loading...",nodata:"No data"}},u_=D("es");var x=(_)=>()=>T_[u_()][_]||_;var Rf={};z(Rf,{Input:()=>c});var c=(_)=>{let{class:E,value:M,type:C="text",icon:A,oninput:W,placeholder:L,disabled:P,size:J,validate:B,...Z}=_,X=C==="password",R=D(!1),Y=D(null),S={text:"icon-[lucide--text]",password:"icon-[lucide--lock]",date:"icon-[lucide--calendar]",number:"icon-[lucide--hash]",email:"icon-[lucide--mail]",search:"icon-[lucide--search]",tel:"icon-[lucide--phone]",url:"icon-[lucide--link]"},$=A?w(A):S[C]?w(S[C]):null,k=()=>w(R()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),r=$?"pl-10":"",_f=X?"pr-10":"",i=()=>{if(E?.includes("input-xs"))return"btn-xs";if(E?.includes("input-sm"))return"btn-sm";if(E?.includes("input-lg"))return"btn-lg";return"btn-md"},l=(V)=>{let F=V.target.value;if(B){let T=B(F);Y(T||null)}W?.(V)},v=()=>Y()&&Y()!=="",K=f("input",{...Z,type:()=>X?R()?"text":"password":C,placeholder:L||" ",class:()=>{let V=`input w-full ${r} ${_f}`;if(E)V+=` ${E}`;if(v())V+=" input-error";return V.trim()},value:M,oninput:l,disabled:()=>G(P),"aria-invalid":()=>v()?"true":"false"});return f("div",{class:"relative w-full"},()=>[K,$?f("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},$):null,X?f("button",{type:"button",class:Q("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",i()),onclick:(V)=>{V.preventDefault(),R(!R())}},()=>k()):null,f("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>v()?Y():null)])};var Kf=(_)=>{let{class:E,items:M=[],value:C,onSelect:A,label:W,placeholder:L,...P}=_,J=D(G(C)||""),B=D(!1),Z=D(-1),X=D(()=>{let S=J().toLowerCase(),$=G(M)||[];return S?$.filter((k)=>(typeof k==="string"?k:k.label).toLowerCase().includes(S)):$}),R=(S)=>{let $=typeof S==="string"?S:S.value,k=typeof S==="string"?S:S.label;if(J(k),typeof C==="function")C($);A?.(S),B(!1),Z(-1)},Y=(S)=>{let $=X();if(S.key==="ArrowDown")S.preventDefault(),B(!0),Z(Math.min(Z()+1,$.length-1));else if(S.key==="ArrowUp")S.preventDefault(),Z(Math.max(Z()-1,0));else if(S.key==="Enter"&&Z()>=0)S.preventDefault(),R($[Z()]);else if(S.key==="Escape")B(!1)};return f("div",{class:"relative w-full"},[c({label:W,class:E,placeholder:L||x("search")(),value:J,onfocus:()=>B(!0),onblur:()=>setTimeout(()=>B(!1),150),onkeydown:Y,oninput:(S)=>{let $=S.target.value;if(J($),typeof C==="function")C($);B(!0),Z(-1)},...P}),f("ul",{class:"absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50",style:()=>B()&&X().length?"display:block":"display:none"},[N(X,(S,$)=>f("li",{},[f("a",{class:()=>`block w-full ${Z()===$?"active bg-primary text-primary-content":""}`,onclick:()=>R(S),onmouseenter:()=>Z($)},typeof S==="string"?S:S.label)]),(S,$)=>(typeof S==="string"?S:S.value)+$),()=>X().length?null:f("li",{class:"p-2 text-center opacity-50"},x("nodata")())])])};var Df={};z(Df,{Badge:()=>zf});var zf=(_,E)=>{let{class:M,...C}=_;return f("span",{...C,class:Q("badge",M)},E)};var wf={};z(wf,{Button:()=>d});var d=(_,E)=>{let{class:M,loading:C,icon:A,...W}=_,L=w(A);return f("button",{...W,class:Q("btn",M),disabled:()=>G(C)||G(_.disabled)},()=>[G(C)&&f("span",{class:"loading loading-spinner"}),L,E].filter(Boolean))};var kf={};z(kf,{Checkbox:()=>Vf});var Vf=(_)=>{let{class:E,value:M,tooltip:C,toggle:A,label:W,...L}=_,P=f("input",{...L,type:"checkbox",class:()=>Q(G(A)?"toggle":"checkbox",E),checked:M}),J=f("label",{class:"label cursor-pointer justify-start gap-3"},[P,W?f("span",{class:"label-text"},W):null]);return C?f("div",{class:"tooltip","data-tip":C},J):J};var Uf={};z(Uf,{Colorpicker:()=>Nf});var Nf=(_)=>{let{class:E,value:M,label:C,...A}=_,W=D(!1),L=["#000","#1A1A1A","#333","#4D4D4D","#666","#808080","#B3B3B3","#FFF","#450a0a","#7f1d1d","#991b1b","#b91c1c","#dc2626","#ef4444","#f87171","#fca5a5","#431407","#7c2d12","#9a3412","#c2410c","#ea580c","#f97316","#fb923c","#ffedd5","#713f12","#a16207","#ca8a04","#eab308","#facc15","#fde047","#fef08a","#fff9c4","#064e3b","#065f46","#059669","#10b981","#34d399","#4ade80","#84cc16","#d9f99d","#082f49","#075985","#0284c7","#0ea5e9","#38bdf8","#7dd3fc","#22d3ee","#cffafe","#1e1b4b","#312e81","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc","#e0e7ff","#2e1065","#4c1d95","#6d28d9","#7c3aed","#8b5cf6","#a855f7","#d946ef","#fae8ff"],P=()=>G(M)||"#000000";return f("div",{class:Q("relative w-fit",E)},[f("button",{type:"button",class:"btn px-3 bg-base-100 border-base-300 hover:border-primary/50 flex items-center gap-2 shadow-sm font-normal normal-case",onclick:(J)=>{J.stopPropagation(),W(!W())},...A},[f("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${P()}`}),C?f("span",{class:"opacity-80"},C):null]),O(W,()=>f("div",{class:"absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none",onclick:(J)=>J.stopPropagation()},[f("div",{class:"grid grid-cols-8 gap-1"},L.map((J)=>f("button",{type:"button",style:`background-color: ${J}`,class:()=>{return`size-6 rounded-sm cursor-pointer transition-all hover:scale-125 hover:z-10 active:scale-95 outline-none border border-black/5 + ${P().toLowerCase()===J.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(J);W(!1)}})))])),O(W,()=>f("div",{class:"fixed inset-0 z-[100]",onclick:()=>W(!1)}))])};var Ff={};z(Ff,{Datepicker:()=>Of});var Of=(_)=>{let{class:E,value:M,range:C,label:A,placeholder:W,hour:L=!1,...P}=_,J=D(!1),B=D(new Date),Z=D(null),X=D(0),R=D(0),Y=()=>G(C)===!0,S=new Date,$=`${S.getFullYear()}-${String(S.getMonth()+1).padStart(2,"0")}-${String(S.getDate()).padStart(2,"0")}`,k=(q)=>{let K=q.getFullYear(),V=String(q.getMonth()+1).padStart(2,"0"),F=String(q.getDate()).padStart(2,"0");return`${K}-${V}-${F}`},r=(q)=>{let K=k(q),V=G(M);if(Y())if(!V?.start||V.start&&V.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:X()}})}else{let F=V.start;if(typeof M==="function"){let T=K{let q=G(M);if(!q)return"";if(typeof q==="string"){if(L&&q.includes("T"))return q.replace("T"," ");return q}if(q.start&&q.end){let K=L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start,V=L&&q.endHour?`${q.end} ${String(q.endHour).padStart(2,"0")}:00`:q.end;return`${K} - ${V}`}if(q.start)return`${L&&q.startHour?`${q.start} ${String(q.startHour).padStart(2,"0")}:00`:q.start}...`;return""}),i=(q)=>{let K=B();B(new Date(K.getFullYear(),K.getMonth()+q,1))},l=(q)=>{let K=B();B(new Date(K.getFullYear()+q,K.getMonth(),1))},v=({value:q,onChange:K})=>{return f("div",{class:"flex-1"},[f("div",{class:"flex gap-2 items-center"},[f("input",{type:"range",min:0,max:23,value:q,class:"range range-xs flex-1",oninput:(V)=>{let F=parseInt(V.target.value);K(F)}}),f("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(G(q)).padStart(2,"0")+":00")])])};return f("div",{class:Q("relative w-full",E)},[c({label:A,placeholder:W||(Y()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:w("icon-[lucide--calendar]"),onclick:(q)=>{q.stopPropagation(),J(!J())},...P}),O(J,()=>f("div",{class:"absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none",onclick:(q)=>q.stopPropagation()},[f("div",{class:"flex justify-between items-center mb-4 gap-1"},[f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(-1)},w("icon-[lucide--chevrons-left]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(-1)},w("icon-[lucide--chevron-left]"))]),f("span",{class:"font-bold uppercase flex-1 text-center"},[()=>B().toLocaleString("es-ES",{month:"short",year:"numeric"})]),f("div",{class:"flex gap-0.5"},[f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},w("icon-[lucide--chevron-right]")),f("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>l(1)},w("icon-[lucide--chevrons-right]"))])]),f("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Z(null)},[...["L","M","X","J","V","S","D"].map((q)=>f("div",{class:"text-[10px] opacity-40 font-bold text-center"},q)),()=>{let q=B(),K=q.getFullYear(),V=q.getMonth(),F=new Date(K,V,1).getDay(),T=F===0?6:F-1,F_=new Date(K,V+1,0).getDate(),Mf=[];for(let u=0;u{let y=G(M),Ef=Z(),H_=typeof y==="string"?y.split("T")[0]===H:y?.start===H,h_=y?.end===H,Cf=!1;if(Y()&&y?.start){let Af=y.start;if(!y.end&&Ef)Cf=H>Af&&H<=Ef||H=Ef;else if(y.end)Cf=H>Af&&H{if(Y())Z(H)},onclick:()=>r(w_)},[u.toString()]))}return Mf}]),L?f("div",{class:"mt-3 pt-2 border-t border-base-300"},[Y()?f("div",{class:"flex gap-4"},[v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K?.start)M({...K,startHour:q})}}),v({value:R,onChange:(q)=>{R(q);let K=G(M);if(K?.end)M({...K,endHour:q})}})]):v({value:X,onChange:(q)=>{X(q);let K=G(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(q).padStart(2,"0")+":00:00")}})]):null])),O(J,()=>f("div",{class:"fixed inset-0 z-[90]",onclick:()=>J(!1)}))])};var hf={};z(hf,{Drawer:()=>Hf});var Hf=(_,E)=>{let{class:M,id:C,open:A,side:W,content:L,...P}=_,J=C||`drawer-${Math.random().toString(36).slice(2,9)}`;return f("div",{...P,class:Q("drawer",M)},[f("input",{id:J,type:"checkbox",class:"drawer-toggle",checked:()=>typeof A==="function"?A():A,onchange:(B)=>{if(typeof A==="function")A(B.target.checked)}}),f("div",{class:"drawer-content"},[typeof L==="function"?L():L]),f("div",{class:"drawer-side"},[f("label",{for:J,class:"drawer-overlay",onclick:()=>{if(typeof A==="function")A(!1)}}),f("div",{class:"min-h-full bg-base-200 w-80"},[typeof W==="function"?W():W])])])};var jf={};z(jf,{Dropdown:()=>xf});var j=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(_)=>{if(j&&!j.contains(_.target))j.open=!1,j=null}),window.__dropdownHandlerRegistered=!0;var xf=(_)=>{let{class:E,label:M,icon:C,items:A,...W}=_;return Tag("details",{...W,class:Q("dropdown",E)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let P=L.currentTarget.closest("details");if(j&&j!==P)j.open=!1;setTimeout(()=>{j=P.open?P:null},0)}},[()=>C?typeof C==="function"?C():C:null,()=>M?typeof M==="function"?M():M:null]),Tag("ul",{tabindex:"-1",class:"dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300"},[()=>{return(typeof A==="function"?A():A||[]).map((P)=>Tag("li",{},[Tag("a",{class:P.class||"",onclick:(J)=>{if(P.onclick)P.onclick(J);let B=J.currentTarget.closest("details");if(B){if(B.open=!1,j===B)j=null}}},[P.icon?Tag("span",{},P.icon):null,Tag("span",{},P.label)])]))}])])};var If={};z(If,{Fab:()=>yf});var yf=(_)=>{let{class:E,icon:M,label:C,actions:A=[],position:W="bottom-6 right-6",...L}=_;return f("div",{...L,class:Q(`fab absolute ${W} flex flex-col-reverse items-end gap-3 z-[100]`,E)},[f("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?w(M):null,!M&&C?C:null]),...G(A).map((P)=>f("div",{class:"flex items-center gap-3 transition-all duration-300"},[P.label?f("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},P.label):null,f("button",{type:"button",class:`btn btn-circle shadow-lg ${P.class||""}`,onclick:(J)=>{J.stopPropagation(),P.onclick?.(J)}},[P.icon?w(P.icon):P.text||""])]))])};var vf={};z(vf,{Fieldset:()=>mf});var mf=(_,E)=>{let{class:M,legend:C,...A}=_;return f("fieldset",{...A,class:Q("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let W=G(C);return W?f("legend",{class:"fieldset-legend font-bold"},[W]):null},E])};var uf={};z(uf,{Fileinput:()=>Tf});var Tf=(_)=>{let{class:E,tooltip:M,max:C=2,accept:A="*",onSelect:W,...L}=_,P=D([]),J=D(!1),B=D(null),Z=C*1024*1024,X=(Y)=>{let S=Array.from(Y);if(B(null),S.find((k)=>k.size>Z)){B(`Máx ${C}MB`);return}P([...P(),...S]),W?.(P())},R=(Y)=>{let S=P().filter(($,k)=>k!==Y);P(S),W?.(S)};return f("fieldset",{...L,class:Q("fieldset w-full p-0",E)},[f("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[f("label",{class:()=>` relative flex items-center justify-between w-full h-12 px-4 border-2 border-dashed rounded-lg cursor-pointer transition-all duration-200 - ${B()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Y)=>{Y.preventDefault(),B(!0)},ondragleave:()=>B(!1),ondrop:(Y)=>{Y.preventDefault(),B(!1),Z(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[N("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${E}MB`)]),f("input",{type:"file",multiple:!0,accept:W,class:"hidden",onchange:(Y)=>Z(Y.target.files)})])]),()=>P()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},P()):null,U(()=>L().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[V(L,(Y,J)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),S(J)}},[N("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var jf={};z(jf,{Indicator:()=>xf});var xf=(A,C)=>{let{value:M,class:E,...W}=A;return f("div",{...W,class:"indicator"},()=>[M?f("span",{class:X("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,C].filter(Boolean))};var vf={};z(vf,{Label:()=>If});var If=(A)=>{let{children:C,value:M,floating:E=!1,error:W,required:T,class:_,...L}=A;if(E)return f("label",{class:X("floating-label w-full",_),...L},()=>[M?f("span",{},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null]);return f("label",{class:X("input w-full",_),...L},()=>[M?f("span",{class:"label"},M):null,C,W?f("span",{class:"text-error text-xs"},Q(W)):null])};var $f={};z($f,{List:()=>uf});var uf=(A)=>{let{class:C,items:M,header:E,render:W,keyFn:T=(B,P)=>B.id??P,..._}=A,L=V(M,(B,P)=>f("li",{class:"list-row"},[W(B,P)]),T);return f("ul",{..._,class:X("list bg-base-100 rounded-box shadow-md",C)},E?[U(E,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[Q(E)])),L]:L)};var gf={};z(gf,{Menu:()=>hf});var hf=(A)=>{let{class:C,items:M,...E}=A,W=(T)=>V(()=>T||[],(_)=>f("li",{},[_.children?f("details",{open:_.open},[f("summary",{},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label]),f("ul",{},W(_.children))]):f("a",{class:()=>Q(_.active)?"active":"",onclick:_.onclick},[_.icon&&f("span",{class:"mr-2"},_.icon),_.label])]),(_,L)=>_.label||L);return f("ul",{...E,class:X("menu bg-base-200 rounded-box",C)},W(M))};var cf={};z(cf,{Modal:()=>bf});var bf=(A,C)=>{let{class:M,title:E,buttons:W,open:T,..._}=A,L=null,B=()=>{let G=typeof T==="function"?T():T;if(!L)return;if(G){if(!L.open)L.showModal()}else if(L.open)L.close()};x(()=>B());let P=()=>{if(typeof T==="function")T(!1)};return f("dialog",{..._,ref:(G)=>{if(L=G,G)B()},class:X("modal",M),onclose:P,oncancel:P},[f("div",{class:"modal-box"},[E?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,f("div",{class:"py-2"},[typeof C==="function"?C():C]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(W)?W:[W]).filter(Boolean),c({type:"submit"},y("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var mf={};z(mf,{Navbar:()=>df});var df=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("navbar bg-base-100 shadow-sm px-4",M)},C)};var rf={};z(rf,{Radio:()=>pf});var pf=(A)=>{let{class:C,label:M,tooltip:E,value:W,inputValue:T,name:_,...L}=A,B=f("input",{...L,type:"radio",name:_,class:X("radio",C),checked:()=>Q(W)===T,onclick:()=>{if(typeof W==="function")W(T)}});if(!M&&!E)return B;let P=f("label",{class:"label cursor-pointer justify-start gap-3"},[B,M?f("span",{class:"label-text"},M):null]);return E?f("div",{class:"tooltip","data-tip":E},P):P};var of={};z(of,{Range:()=>nf});var nf=(A)=>{let{class:C,label:M,tooltip:E,value:W,...T}=A,_=f("input",{...T,type:"range",class:X("range",C),value:W,disabled:()=>Q(A.disabled)});if(!M&&!E)return _;let L=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,_]);return E?f("div",{class:"tooltip","data-tip":E},L):L};var sf={};z(sf,{Rating:()=>af});var af=(A)=>{let{class:C,value:M,count:E=5,mask:W="mask-star",readonly:T=!1,onchange:_,...L}=A,B=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...L,class:()=>X(`rating ${Q(T)?"pointer-events-none":""}`,C)},Array.from({length:Q(E)},(P,G)=>{let Z=G+1;return f("input",{type:"radio",name:B,class:`mask ${W}`,checked:()=>Math.round(Q(M))===Z,onchange:()=>{if(!Q(T)){if(typeof _==="function")_(Z);else if(typeof M==="function")M(Z)}}})}))};var lf={};z(lf,{Select:()=>ef});var ef=(A)=>{let{class:C,label:M,items:E,value:W,...T}=A,_=f("select",{...T,class:X("select select-bordered w-full",C),value:W},V(()=>Q(E)||[],(L)=>f("option",{value:L.value,$selected:()=>String(Q(W))===String(L.value)},L.label),(L)=>L.value));if(!M)return _;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),_])};var f_={};z(f_,{Stack:()=>tf});var tf=(A,C)=>{let{class:M,...E}=A;return f("div",{...E,class:X("stack",M)},C)};var A_={};z(A_,{Stat:()=>__});var __=(A)=>{let{class:C,icon:M,label:E,value:W,desc:T,..._}=A;return f("div",{..._,class:X("stat",C)},[M&&f("div",{class:"stat-figure text-secondary"},M),E&&f("div",{class:"stat-title"},E),f("div",{class:"stat-value"},()=>Q(W)??W),T&&f("div",{class:"stat-desc"},T)])};var E_={};z(E_,{Swap:()=>M_});var M_=(A)=>{let{class:C,value:M,on:E,off:W,...T}=A;return f("label",{...T,class:X("swap",C)},[f("input",{type:"checkbox",checked:()=>Q(M),onclick:(_)=>{if(typeof M==="function")M(_.target.checked)}}),f("div",{class:"swap-on"},E),f("div",{class:"swap-off"},W)])};var T_={};z(T_,{Table:()=>C_});var C_=(A)=>{let{class:C,items:M=[],columns:E=[],keyFn:W,zebra:T=!1,pinRows:_=!1,empty:L=y("nodata")(),...B}=A,P=()=>{let Z=Q(T)?"table-zebra":"",S=Q(_)?"table-pin-rows":"";return X("table",C,Z,S)},G=W||((Z,S)=>Z.id||S);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...B,class:P},[f("thead",{},[f("tr",{},E.map((Z)=>f("th",{class:Z.class||""},Z.label)))]),f("tbody",{},[V(M,(Z,S)=>{let Y=()=>{let J=Q(M),q=G(Z,S);return J.find((D,d)=>G(D,d)===q)||Z};return f("tr",{class:"hover"},E.map((J)=>{let q=()=>{let D=Y();if(J.render)return J.render(D,S);return Q(D[J.key])};return f("td",{class:J.class||""},[q])}))},G),U(()=>Q(M).length===0,()=>f("tr",{},[f("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[Q(L)])]))])])])};var W_={};z(W_,{Tabs:()=>L_});var L_=(A)=>{let{items:C,class:M,...E}=A,W=typeof C==="function"?C:()=>C||[],T=w(0);return $watch(()=>{let _=W().findIndex((L)=>Q(L.active)===!0);if(_!==-1&&_!==T())T(_)}),f("div",{...E,class:"w-full"},[f("div",{role:"tablist",class:X("tabs",M||"tabs-box")},()=>{return W().map((L,B)=>{let P=()=>T()===B,G=f("button",{role:"tab",class:()=>X("tab",P()?"tab-active":""),onclick:(Z)=>{if(Z.preventDefault(),!Q(L.disabled)){if(L.onclick)L.onclick();T(B)}}});return $watch(()=>{let Z=Q(L.label);if(Z instanceof Node)G.replaceChildren(Z);else G.textContent=String(Z)}),G})}),f("div",{class:"tab-panels"},()=>{return W().map((_,L)=>{let B=()=>T()===L;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>B()?"display: block":"display: none"},[()=>typeof _.content==="function"?_.content():_.content])})})])};var B_={};z(B_,{Timeline:()=>P_});var P_=(A)=>{let{class:C,items:M=[],vertical:E=!0,compact:W=!1,...T}=A,_={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...T,class:()=>X(`timeline ${Q(E)?"timeline-vertical":"timeline-horizontal"} ${Q(W)?"timeline-compact":""}`,C)},()=>{let L=(typeof M==="function"?M():M)||[];return L.map((B,P)=>{let G=P===0,Z=P===L.length-1,S=B.type||"success",Y=()=>Q(B.completed),J=()=>P>0&&Q(L[P-1].completed),q=(D)=>typeof D==="function"?D():D;return f("li",{class:"flex-1"},[!G?f("hr",{class:()=>J()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>q(B.title)]),f("div",{class:"timeline-middle"},[()=>B.icon?N(B.icon):N(_[S]||_.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(B.detail)]),!Z?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var Q_={};z(Q_,{Toast:()=>J_});var J_=(A,C="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(E);let W=f("div",{style:"display: contents"});E.appendChild(W);let T,_=()=>{clearTimeout(T);let P=W.firstElementChild;if(P&&!P.classList.contains("opacity-0"))P.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(B.destroy(),W.remove(),!E.hasChildNodes())E.remove()},300);else B.destroy(),W.remove()},B=Cf(()=>{let P=N("icon-[lucide--x]"),G=f("div",{class:`alert alert-soft ${C} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof A==="function"?A():A]),c({class:"btn-xs btn-circle btn-ghost",onclick:_},P)]);return requestAnimationFrame(()=>G.classList.remove("translate-x-10","opacity-0")),G},W);if(M>0)T=setTimeout(_,M);return _};var X_={};z(X_,{Tooltip:()=>G_});var G_=(A,C)=>f("div",{...A,class:()=>X("tooltip",A.class),"data-tip":A.tip},C);var S_={...Lf,...Pf,...Qf,...Xf,...Zf,...Yf,...Sf,...zf,...wf,...Ff,...Vf,...kf,...yf,...jf,...Bf,...vf,...$f,...gf,...cf,...mf,...rf,...of,...sf,...lf,...f_,...A_,...E_,...T_,...W_,...B_,...Q_,...X_},y_={...S_,install:(A=window)=>{Object.entries(S_).forEach(([C,M])=>{A[C]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(a).forEach(([A,C])=>{window[A]=C}),window.Utils=i,window.tt=y,window.SigProUI={...a,Utils:i,tt:y},console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${J()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Y)=>{Y.preventDefault(),J(!0)},ondragleave:()=>J(!1),ondrop:(Y)=>{Y.preventDefault(),J(!1),X(Y.dataTransfer.files)}},[f("div",{class:"flex items-center gap-3 w-full"},[w("icon-[lucide--upload]"),f("span",{class:"text-sm opacity-70 truncate grow text-left"},"Arrastra o selecciona archivos..."),f("span",{class:"text-[10px] opacity-40 shrink-0"},`Máx ${C}MB`)]),f("input",{type:"file",multiple:!0,accept:A,class:"hidden",onchange:(Y)=>X(Y.target.files)})])]),()=>B()?f("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},B()):null,O(()=>P().length>0,()=>f("ul",{class:"mt-2 space-y-1"},[N(P,(Y,S)=>f("li",{class:"flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300"},[f("div",{class:"flex items-center gap-2 truncate"},[f("span",{class:"opacity-50"},"\uD83D\uDCC4"),f("span",{class:"truncate font-medium max-w-[200px]"},Y.name),f("span",{class:"text-[9px] opacity-40"},`(${(Y.size/1024).toFixed(0)} KB)`)]),f("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:($)=>{$.preventDefault(),$.stopPropagation(),R(S)}},[w("icon-[lucide--x]")])]),(Y)=>Y.name+Y.lastModified)]))])};var cf={};z(cf,{Indicator:()=>bf});var bf=(_,E)=>{let{value:M,class:C,...A}=_;return f("div",{...A,class:"indicator"},()=>[M?f("span",{class:Q("indicator-item badge",C)},()=>typeof M==="function"?M():M):null,E].filter(Boolean))};var pf={};z(pf,{Label:()=>df});var df=(_)=>{let{children:E,value:M,floating:C=!1,error:A,required:W,class:L,...P}=_;if(C)return f("label",{class:Q("floating-label w-full",L),...P},()=>[M?f("span",{},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null]);return f("label",{class:Q("input w-full",L),...P},()=>[M?f("span",{class:"label"},M):null,E,A?f("span",{class:"text-error text-xs"},G(A)):null])};var nf={};z(nf,{List:()=>rf});var rf=(_)=>{let{class:E,items:M,header:C,render:A,keyFn:W=(J,B)=>J.id??B,...L}=_,P=N(M,(J,B)=>f("li",{class:"list-row"},[A(J,B)]),W);return f("ul",{...L,class:Q("list bg-base-100 rounded-box shadow-md",E)},C?[O(C,()=>f("li",{class:"p-4 pb-2 text-xs opacity-60"},[G(C)])),P]:P)};var of={};z(of,{Menu:()=>gf});var gf=(_)=>{let{class:E,items:M,...C}=_,A=(W)=>N(()=>W||[],(L)=>f("li",{},[L.children?f("details",{open:L.open},[f("summary",{},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label]),f("ul",{},A(L.children))]):f("a",{class:()=>G(L.active)?"active":"",onclick:L.onclick},[L.icon&&f("span",{class:"mr-2"},L.icon),L.label])]),(L,P)=>L.label||P);return f("ul",{...C,class:Q("menu bg-base-200 rounded-box",E)},A(M))};var tf={};z(tf,{Modal:()=>lf});var lf=(_,E)=>{let{class:M,title:C,buttons:A,open:W,...L}=_,P=null,J=()=>{let Z=typeof W==="function"?W():W;if(!P)return;if(Z){if(!P.open)P.showModal()}else if(P.open)P.close()};m(()=>J());let B=()=>{if(typeof W==="function")W(!1)};return f("dialog",{...L,ref:(Z)=>{if(P=Z,Z)J()},class:Q("modal",M),onclose:B,oncancel:B},[f("div",{class:"modal-box"},[C?f("h3",{class:"text-lg font-bold mb-4"},()=>typeof C==="function"?C():C):null,f("div",{class:"py-2"},[typeof E==="function"?E():E]),f("div",{class:"modal-action"},[f("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(A)?A:[A]).filter(Boolean),d({type:"submit"},x("close")())])])]),f("form",{method:"dialog",class:"modal-backdrop"},[f("button",{},"close")])])};var af={};z(af,{Navbar:()=>sf});var sf=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("navbar bg-base-100 shadow-sm px-4",M)},E)};var f_={};z(f_,{Radio:()=>ef});var ef=(_)=>{let{class:E,label:M,tooltip:C,value:A,inputValue:W,name:L,...P}=_,J=f("input",{...P,type:"radio",name:L,class:Q("radio",E),checked:()=>G(A)===W,onclick:()=>{if(typeof A==="function")A(W)}});if(!M&&!C)return J;let B=f("label",{class:"label cursor-pointer justify-start gap-3"},[J,M?f("span",{class:"label-text"},M):null]);return C?f("div",{class:"tooltip","data-tip":C},B):B};var M_={};z(M_,{Range:()=>__});var __=(_)=>{let{class:E,label:M,tooltip:C,value:A,...W}=_,L=f("input",{...W,type:"range",class:Q("range",E),value:A,disabled:()=>G(_.disabled)});if(!M&&!C)return L;let P=f("div",{class:"flex flex-col gap-2"},[M?f("span",{class:"label-text"},M):null,L]);return C?f("div",{class:"tooltip","data-tip":C},P):P};var C_={};z(C_,{Rating:()=>E_});var E_=(_)=>{let{class:E,value:M,count:C=5,mask:A="mask-star",readonly:W=!1,onchange:L,...P}=_,J=`rating-${Math.random().toString(36).slice(2,7)}`;return f("div",{...P,class:()=>Q(`rating ${G(W)?"pointer-events-none":""}`,E)},Array.from({length:G(C)},(B,Z)=>{let X=Z+1;return f("input",{type:"radio",name:J,class:`mask ${A}`,checked:()=>Math.round(G(M))===X,onchange:()=>{if(!G(W)){if(typeof L==="function")L(X);else if(typeof M==="function")M(X)}}})}))};var L_={};z(L_,{Select:()=>A_});var A_=(_)=>{let{class:E,label:M,items:C,value:A,...W}=_,L=f("select",{...W,class:Q("select select-bordered w-full",E),value:A},N(()=>G(C)||[],(P)=>f("option",{value:P.value,$selected:()=>String(G(A))===String(P.value)},P.label),(P)=>P.value));if(!M)return L;return f("label",{class:"fieldset-label flex flex-col gap-1"},[f("span",{},M),L])};var P_={};z(P_,{Stack:()=>W_});var W_=(_,E)=>{let{class:M,...C}=_;return f("div",{...C,class:Q("stack",M)},E)};var B_={};z(B_,{Stat:()=>J_});var J_=(_)=>{let{class:E,icon:M,label:C,value:A,desc:W,...L}=_;return f("div",{...L,class:Q("stat",E)},[M&&f("div",{class:"stat-figure text-secondary"},M),C&&f("div",{class:"stat-title"},C),f("div",{class:"stat-value"},()=>G(A)??A),W&&f("div",{class:"stat-desc"},W)])};var Q_={};z(Q_,{Swap:()=>G_});var G_=(_)=>{let{class:E,value:M,on:C,off:A,...W}=_;return f("label",{...W,class:Q("swap",E)},[f("input",{type:"checkbox",checked:()=>G(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),f("div",{class:"swap-on"},C),f("div",{class:"swap-off"},A)])};var Z_={};z(Z_,{Table:()=>X_});var X_=(_)=>{let{class:E,items:M=[],columns:C=[],keyFn:A,zebra:W=!1,pinRows:L=!1,empty:P=x("nodata")(),...J}=_,B=()=>{let X=G(W)?"table-zebra":"",R=G(L)?"table-pin-rows":"";return Q("table",E,X,R)},Z=A||((X,R)=>X.id||R);return f("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[f("table",{...J,class:B},[f("thead",{},[f("tr",{},C.map((X)=>f("th",{class:X.class||""},X.label)))]),f("tbody",{},[N(M,(X,R)=>{let Y=()=>{let S=G(M),$=Z(X,R);return S.find((k,r)=>Z(k,r)===$)||X};return f("tr",{class:"hover"},C.map((S)=>{let $=()=>{let k=Y();if(S.render)return S.render(k,R);return G(k[S.key])};return f("td",{class:S.class||""},[$])}))},Z),O(()=>G(M).length===0,()=>f("tr",{},[f("td",{colspan:C.length,class:"text-center p-10 opacity-50"},[G(P)])]))])])])};var Y_={};z(Y_,{Tabs:()=>S_});var S_=(_)=>{let{items:E,class:M,...C}=_,A=typeof E==="function"?E:()=>E||[],W=D(0);return Watch(()=>{let L=A().findIndex((P)=>G(P.active)===!0);if(L!==-1&&L!==W())W(L)}),f("div",{...C,class:"w-full"},[f("div",{role:"tablist",class:Q("tabs",M||"tabs-box")},()=>{return A().map((P,J)=>{let B=()=>W()===J,Z=f("button",{role:"tab",class:()=>Q("tab",B()?"tab-active":""),onclick:(X)=>{if(X.preventDefault(),!G(P.disabled)){if(P.onclick)P.onclick();W(J)}}});return Watch(()=>{let X=G(P.label);if(X instanceof Node)Z.replaceChildren(X);else Z.textContent=String(X)}),Z})}),f("div",{class:"tab-panels"},()=>{return A().map((L,P)=>{let J=()=>W()===P;return f("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>J()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var R_={};z(R_,{Timeline:()=>q_});var q_=(_)=>{let{class:E,items:M=[],vertical:C=!0,compact:A=!1,...W}=_,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return f("ul",{...W,class:()=>Q(`timeline ${G(C)?"timeline-vertical":"timeline-horizontal"} ${G(A)?"timeline-compact":""}`,E)},()=>{let P=(typeof M==="function"?M():M)||[];return P.map((J,B)=>{let Z=B===0,X=B===P.length-1,R=J.type||"success",Y=()=>G(J.completed),S=()=>B>0&&G(P[B-1].completed),$=(k)=>typeof k==="function"?k():k;return f("li",{class:"flex-1"},[!Z?f("hr",{class:()=>S()?"bg-primary":""}):null,f("div",{class:"timeline-start"},[()=>$(J.title)]),f("div",{class:"timeline-middle"},[()=>J.icon?w(J.icon):w(L[R]||L.success)]),f("div",{class:"timeline-end timeline-box shadow-sm"},[()=>$(J.detail)]),!X?f("hr",{class:()=>Y()?"bg-primary":""}):null])})})};var $_={};z($_,{Toast:()=>K_});var K_=(_,E="alert-success",M=3500)=>{let C=document.getElementById("sigpro-toast-container");if(!C)C=f("div",{id:"sigpro-toast-container",class:"fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none"}),document.body.appendChild(C);let A=f("div",{style:"display: contents"});C.appendChild(A);let W,L=()=>{clearTimeout(W);let B=A.firstElementChild;if(B&&!B.classList.contains("opacity-0"))B.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(J.destroy(),A.remove(),!C.hasChildNodes())C.remove()},300);else J.destroy(),A.remove()},J=Xf(()=>{let B=w("icon-[lucide--x]"),Z=f("div",{class:`alert alert-soft ${E} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[f("span",{},[typeof _==="function"?_():_]),d({class:"btn-xs btn-circle btn-ghost",onclick:L},B)]);return requestAnimationFrame(()=>Z.classList.remove("translate-x-10","opacity-0")),Z},A);if(M>0)W=setTimeout(L,M);return L};var D_={};z(D_,{Tooltip:()=>z_});var z_=(_,E)=>f("div",{..._,class:()=>Q("tooltip",_.class),"data-tip":_.tip},E);var O_={...Sf,...qf,...$f,...Df,...wf,...kf,...Uf,...Ff,...hf,...jf,...If,...vf,...uf,...cf,...Rf,...pf,...nf,...of,...tf,...af,...f_,...M_,...C_,...L_,...P_,...B_,...Q_,...Z_,...Y_,...R_,...$_,...D_},b_={...O_,install:(_=window)=>{Object.entries(O_).forEach(([E,M])=>{_[E]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([_,E])=>{window[_]=E}),window.Utils=e,window.tt=x,window.SigProUI={...ff,Utils:e,tt:x},console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/docs/sigpro.css b/docs/sigpro.css index 7455b10..5c855ab 100644 --- a/docs/sigpro.css +++ b/docs/sigpro.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */ -@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@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-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-3xl:64px;--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;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}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fab-flower{--position:0rem;display:grid}.fab-flower>:nth-child(-n+2){--position:0rem}.fab-flower>*{--degree:180deg;--flip-degree:calc(180deg - var(--degree));transform:translateX(calc(cos(var(--degree)) * var(--position))) translateY(calc(sin(var(--degree)) * -1 * var(--position)));grid-area:1/1}[dir=rtl] :is(.fab-flower>*){transform:translateX(calc(cos(var(--flip-degree)) * var(--position))) translateY(calc(sin(var(--flip-degree)) * -1 * var(--position)))}.fab-flower>:nth-child(n+7){display:none}.fab-flower:has(:nth-child(3)){--position:140%}.fab-flower:has(:nth-child(3))>:nth-child(3){--degree:135deg}.fab-flower:has(:nth-child(4)){--position:140%}.fab-flower:has(:nth-child(4))>:nth-child(3){--degree:165deg}.fab-flower:has(:nth-child(4))>:nth-child(4){--degree:105deg}.fab-flower:has(:nth-child(5)){--position:180%}.fab-flower:has(:nth-child(5))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(5))>:nth-child(4){--degree:135deg}.fab-flower:has(:nth-child(5))>:nth-child(5){--degree:90deg}.fab-flower:has(:nth-child(6)){--position:220%}.fab-flower:has(:nth-child(6))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(6))>:nth-child(4){--degree:150deg}.fab-flower:has(:nth-child(6))>:nth-child(5){--degree:120deg}.fab-flower:has(:nth-child(6))>:nth-child(6){--degree:90deg}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px color-mix(in oklab, color-mix(in oklab, #000 20%, var(--alert-color,var(--color-base-200))) calc(var(--depth) * 20%), #0000), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.collapse-plus>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.collapse-plus>.collapse-title:after{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{--tw-content:"+";content:var(--tw-content);pointer-events:none;top:.9rem;inset-inline-end:1.4rem}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.loading-md{width:calc(var(--size-selector,.25rem) * 6)}.loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-ball{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E")}.loading-bars{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E")}.loading-dots{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}.loading-infinity{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E")}.loading-ring{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.mask-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.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:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-90{z-index:90}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);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-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * 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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100,.bg-base-100\/30{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/30{background-color:color-mix(in oklab, var(--color-base-100) 30%, transparent)}}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.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-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-20{--tw-leading:calc(var(--spacing) * 20);line-height:calc(var(--spacing) * 20)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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:"";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:"";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:"";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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file +@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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}}@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-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-3xl:1.5rem;--drop-shadow-2xl:0 25px 25px #00000026;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-3xl:64px;--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;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}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}@property --radialprogress{syntax:"";inherits:true;initial-value:0%}:root:not(span){overflow:var(--page-overflow)}:root{background:var(--page-scroll-bg,var(--root-bg));--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000)) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset) ; else: unset)}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background:var(--page-scroll-bg,var(--root-bg));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(25% .006 285);--color-primary:oklch(25% .006 285);--color-primary-content:oklch(98% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(98% 0 0);--color-accent:oklch(96% 0 0);--color-accent-content:oklch(25% .006 285);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(62% .17 163);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .18 84);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(60% .25 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(15% .005 285.823);--color-base-200:oklch(20% .005 285.823);--color-base-300:oklch(30% .005 285.823);--color-base-content:oklch(92% .004 286.32);--color-primary:oklch(98% 0 0);--color-primary-content:oklch(15% 0 0);--color-secondary:oklch(65% .046 257.417);--color-secondary-content:oklch(15% .005 285.823);--color-accent:oklch(25% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(92% .004 286.32);--color-neutral-content:oklch(14% .005 285.823);--color-info:oklch(70% .1 230);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(65% .15 160);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(85% .15 90);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(55% .2 27);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.4rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}.fab{pointer-events:none;z-index:999;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));white-space:nowrap;inset-inline-end:1rem;flex-direction:column-reverse;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:1rem}.fab>*{pointer-events:auto;align-items:center;gap:.5rem;display:flex}.fab>:hover,.fab>:has(:focus-visible){z-index:1}.fab>[tabindex]:first-child{transition-property:opacity,visibility,rotate;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative}.fab .fab-close,.fab .fab-main-action{inset-inline-end:0;position:absolute;bottom:0}:is(.fab:focus-within:has(.fab-close),.fab:focus-within:has(.fab-main-action))>[tabindex]{opacity:0;rotate:90deg}.fab:focus-within>[tabindex]:first-child{pointer-events:none}.fab:focus-within>:nth-child(n+2){visibility:visible;--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:1}.fab>:nth-child(n+2){visibility:hidden;--tw-scale-x:80%;--tw-scale-y:80%;--tw-scale-z:80%;scale:var(--tw-scale-x) var(--tw-scale-y);opacity:0;transition-property:opacity,scale,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fab>:nth-child(n+2).fab-main-action,.fab>:nth-child(n+2).fab-close{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.fab>:nth-child(3){transition-delay:30ms}.fab>:nth-child(4){transition-delay:60ms}.fab>:nth-child(5){transition-delay:90ms}.fab>:nth-child(6){transition-delay:.12s}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(:root:has(.drawer-toggle:checked)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media (prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.tab\!{cursor:pointer!important;appearance:none!important;text-align:center!important;webkit-user-select:none!important;-webkit-user-select:none!important;user-select:none!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;display:inline-flex!important;position:relative!important}@media (hover:hover){.tab\!:hover{color:var(--color-base-content)!important}}.tab\!{--tab-p:.75rem!important;--tab-bg:var(--color-base-100)!important;--tab-border-color:var(--color-base-300)!important;--tab-radius-ss:0!important;--tab-radius-se:0!important;--tab-radius-es:0!important;--tab-radius-ee:0!important;--tab-order:0!important;--tab-radius-min:calc(.75rem - var(--border))!important;--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min))!important;--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px)!important;order:var(--tab-order)!important;height:var(--tab-height)!important;padding-inline:var(--tab-p)!important;border-color:#0000!important;font-size:.875rem!important}.tab\!:is(input[type=radio]){min-width:fit-content!important}.tab\!:is(input[type=radio]):after{--tw-content:attr(aria-label)!important;content:var(--tw-content)!important}.tab\!:is(label){position:relative!important}.tab\!:is(label) input{cursor:pointer!important;appearance:none!important;opacity:0!important;position:absolute!important;inset:0!important}:is(.tab\!:checked,.tab\!:is(label:has(:checked)),.tab\!:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block!important}.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)!important}@supports (color:color-mix(in lab, red, red)){.tab\!:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)!important}}.tab\!:not(input):empty{cursor:default!important;flex-grow:1!important}.tab\!:focus{--tw-outline-style:none!important;outline-style:none!important}@media (forced-colors:active){.tab\!:focus{outline-offset:2px!important;outline:2px solid #0000!important}}.tab\!:focus-visible,.tab\!:is(label:has(:checked:focus-visible)){outline-offset:-5px!important;outline:2px solid!important}.tab\![disabled]{pointer-events:none!important;opacity:.4!important}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.floating-label{display:block;position:relative}.floating-label input{display:block}.floating-label input::placeholder,.floating-label textarea::placeholder{transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out}.floating-label>span{z-index:1;background-color:var(--color-base-100);opacity:0;inset-inline-start:.75rem;top:calc(var(--size-field,.25rem) * 10 / 2);pointer-events:none;border-radius:2px;padding-inline:.25rem;font-size:.875rem;line-height:1;transition:top .1s ease-out,translate .1s ease-out,scale .1s ease-out,opacity .1s ease-out;position:absolute;translate:0 -50%}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown))) ::placeholder{opacity:0;pointer-events:auto;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}:is(.floating-label:focus-within,.floating-label:not(:has(input:placeholder-shown,textarea:placeholder-shown)))>span{opacity:1;pointer-events:auto;z-index:2;top:0;translate:-12.5% calc(-50% - .125em);scale:.75}.floating-label:has(:disabled,[disabled])>span{opacity:0}.floating-label:has(.input-xs,.select-xs,.textarea-xs) span{top:calc(var(--size-field,.25rem) * 6 / 2);font-size:.6875rem}.floating-label:has(.input-sm,.select-sm,.textarea-sm) span{top:calc(var(--size-field,.25rem) * 8 / 2);font-size:.75rem}.floating-label:has(.input-md,.select-md,.textarea-md) span{top:calc(var(--size-field,.25rem) * 10 / 2);font-size:.875rem}.floating-label:has(.input-lg,.select-lg,.textarea-lg) span{top:calc(var(--size-field,.25rem) * 12 / 2);font-size:1.125rem}.floating-label:has(.input-xl,.select-xl,.textarea-xl) span{top:calc(var(--size-field,.25rem) * 14 / 2);font-size:1.375rem}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-noise:var(--fx-noise)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.collapse{border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.collapse{transition:grid-template-rows .2s}}.collapse>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:focus-visible,.collapse:has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(.collapse-close)>input[type=checkbox],.collapse:not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:is(details){width:100%}@media (prefers-reduced-motion:no-preference){.collapse:is(details)::details-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords;height:0}.collapse:is(details):where([open])::details-content{height:auto}}.collapse:is(details) summary{display:block;position:relative}.collapse:is(details) summary::-webkit-details-marker{display:none}.collapse:is(details)>.collapse-content{content-visibility:visible}.collapse:is(details) summary{outline:none}.collapse-content{content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:0deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.indicator{width:max-content;display:inline-flex;position:relative}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.table{border-collapse:separate;--tw-border-spacing-x:calc(.25rem * 0);--tw-border-spacing-y:calc(.25rem * 0);width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2)) 0 0 calc(100cqw * var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.select{border:var(--border) solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{--size:calc(var(--size-field,.25rem) * 10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.swap{cursor:pointer;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;place-content:center;display:inline-grid;position:relative}.swap input{appearance:none;border:none}.swap>*{grid-row-start:1;grid-column-start:1}@media (prefers-reduced-motion:no-preference){.swap>*{transition-property:transform,rotate,opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off{opacity:0}.swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate{opacity:1;backface-visibility:visible}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media (prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media (prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.rating\!{vertical-align:middle!important;display:inline-flex!important;position:relative!important}.rating\! input{appearance:none!important;border:none!important}.rating\! :where(*){background-color:var(--color-base-content)!important;opacity:.2!important;border-radius:0!important;width:1.5rem!important;height:1.5rem!important}@media (prefers-reduced-motion:no-preference){.rating\! :where(*){animation:.25s ease-out rating!important}}.rating\! :where(*):is(input){cursor:pointer!important}.rating\! .rating-hidden{background-color:#0000!important;width:.5rem!important}.rating\! input[type=radio]:checked{background-image:none!important}.rating\! :checked,.rating\! [aria-checked=true],.rating\! [aria-current=true],.rating\! :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1!important}.rating\! :focus-visible{scale:1.1!important}@media (prefers-reduced-motion:no-preference){.rating\! :focus-visible{transition:scale .2s ease-out!important}}.rating\! :active:focus{animation:none!important;scale:1.1!important}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border) solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem), .875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.stat-figure{grid-row:1/span 3;grid-column-start:2;place-self:center flex-end}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:800}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.divider{--divider-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.fieldset-legend{color:var(--color-base-content);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:-.25rem;padding-block:.5rem;font-weight:600;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fab-flower{--position:0rem;display:grid}.fab-flower>:nth-child(-n+2){--position:0rem}.fab-flower>*{--degree:180deg;--flip-degree:calc(180deg - var(--degree));transform:translateX(calc(cos(var(--degree)) * var(--position))) translateY(calc(sin(var(--degree)) * -1 * var(--position)));grid-area:1/1}[dir=rtl] :is(.fab-flower>*){transform:translateX(calc(cos(var(--flip-degree)) * var(--position))) translateY(calc(sin(var(--flip-degree)) * -1 * var(--position)))}.fab-flower>:nth-child(n+7){display:none}.fab-flower:has(:nth-child(3)){--position:140%}.fab-flower:has(:nth-child(3))>:nth-child(3){--degree:135deg}.fab-flower:has(:nth-child(4)){--position:140%}.fab-flower:has(:nth-child(4))>:nth-child(3){--degree:165deg}.fab-flower:has(:nth-child(4))>:nth-child(4){--degree:105deg}.fab-flower:has(:nth-child(5)){--position:180%}.fab-flower:has(:nth-child(5))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(5))>:nth-child(4){--degree:135deg}.fab-flower:has(:nth-child(5))>:nth-child(5){--degree:90deg}.fab-flower:has(:nth-child(6)){--position:220%}.fab-flower:has(:nth-child(6))>:nth-child(3){--degree:180deg}.fab-flower:has(:nth-child(6))>:nth-child(4){--degree:150deg}.fab-flower:has(:nth-child(6))>:nth-child(5){--degree:120deg}.fab-flower:has(:nth-child(6))>:nth-child(6){--degree:90deg}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.fieldset-label:has(input){cursor:pointer}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px color-mix(in oklab, color-mix(in oklab, #000 20%, var(--alert-color,var(--color-base-200))) calc(var(--depth) * 20%), #0000), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}.collapse-plus>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.collapse-plus>.collapse-title:after{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{--tw-content:"+";content:var(--tw-content);pointer-events:none;top:.9rem;inset-inline-end:1.4rem}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn[disabled]{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn-disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.btn-disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn-disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn-disabled{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.tab-disabled{pointer-events:none;opacity:.4}@media (prefers-reduced-motion:no-preference){.collapse[open].collapse-arrow>.collapse-title:after,.collapse.collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse.collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse.collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse.collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse[open].collapse-plus>.collapse-title:after,.collapse[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse.collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr}.list .list-row>*{grid-row-start:1}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.menu-horizontal{flex-direction:row;display:inline-flex}.menu-horizontal>li:not(.menu-title)>details>ul{transform-origin:top;border-radius:var(--radius-box);background-color:var(--color-base-100);opacity:0;margin-inline-start:0;margin-top:1rem;padding-block:.5rem;padding-inline-end:.5rem;position:absolute;scale:.95;box-shadow:0 1px 3px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1)}@media (prefers-reduced-motion:no-preference){@starting-style{.menu-horizontal>li:not(.menu-title)>details>ul{opacity:0;scale:.95}}.menu-horizontal>li:not(.menu-title)>details>ul{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s menu}}.menu-horizontal>li:not(.menu-title)>details[open]>ul{opacity:1;scale:1}.menu-horizontal>li>details>ul:before{--tw-content:none;content:var(--tw-content)}.menu-vertical{flex-direction:column;display:inline-flex}.menu-vertical>li:not(.menu-title)>details>ul{background-color:revert-layer;border-radius:revert-layer;animation:revert-layer;box-shadow:revert-layer;margin-inline-start:1rem;margin-top:0;padding-block:0;padding-inline-end:0;transition:revert-layer;position:relative}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.rating\!.rating-xs :where(:not(.rating-hidden)){width:1rem!important;height:1rem!important}.rating\!.rating-sm :where(:not(.rating-hidden)){width:1.25rem!important;height:1.25rem!important}.rating\!.rating-md :where(:not(.rating-hidden)){width:1.5rem!important;height:1.5rem!important}.rating\!.rating-lg :where(:not(.rating-hidden)){width:1.75rem!important;height:1.75rem!important}.rating\!.rating-xl :where(:not(.rating-hidden)){width:2rem!important;height:2rem!important}:where(.navbar){position:relative}.tooltip-bottom>.tooltip-content,.tooltip-bottom[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem));inset:var(--tt-off) auto auto 50%}.tooltip-bottom:after{transform:translateX(-50%) translateY(var(--tt-pos,-.25rem)) rotate(180deg);inset:var(--tt-tail) auto auto 50%}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(-50%);inset:50% var(--tt-off) auto auto}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(-50%) rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px) auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translateX(calc(var(--tt-pos,-.25rem) + .25rem)) translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translateX(var(--tt-pos,-.25rem)) translateY(-50%) rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.tooltip-top>.tooltip-content,.tooltip-top[data-tip]:before{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%}.tooltip-top:after{transform:translateX(-50%) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.dropdown-bottom{--anchor-v:bottom}.dropdown-bottom .dropdown-content{transform-origin:top;top:100%;bottom:auto}.dropdown-top{--anchor-v:top}.dropdown-top .dropdown-content{transform-origin:bottom;top:auto;bottom:100%}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn-active{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-box>:is(input:checked),.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-horizontal{flex-direction:row}.timeline-horizontal>li{align-items:center}.timeline-horizontal>li>hr{width:100%;height:.25rem}.timeline-horizontal>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline-horizontal>li>hr:last-child{grid-area:2/3/auto/none}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal:has(.timeline-middle)>li>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-horizontal:has(.timeline-middle)>li>hr:last-child,.timeline-horizontal:not(:has(.timeline-middle)) :first-child>hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline-horizontal:not(:has(.timeline-middle)) :last-child>hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:has(.timeline-middle)>li>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical:has(.timeline-middle)>li>hr:last-child,.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.timeline-compact{--timeline-row-start:0}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.drawer-end{grid-auto-columns:auto max-content}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.input-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:max(var(--font-size,1.125rem), 1.125rem)}.input-lg[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-md{--size:calc(var(--size-field,.25rem) * 10);font-size:max(var(--font-size,.875rem), .875rem)}.input-md[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:max(var(--font-size,.75rem), .75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.input-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:max(var(--font-size,.6875rem), .6875rem)}.input-xs[type=number]::-webkit-inner-spin-button{margin-block:-.25rem;margin-inline-end:-.75rem}.modal-bottom{place-items:end}.modal-bottom .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-middle{place-items:center}.modal-middle .modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-top{place-items:start}.modal-top .modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.btn-wide{width:100%;max-width:16rem}.btn-block{width:100%}.loading-lg{width:calc(var(--size-selector,.25rem) * 7)}.loading-md{width:calc(var(--size-selector,.25rem) * 6)}.loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.loading-xs{width:calc(var(--size-selector,.25rem) * 4)}.swap-rotate .swap-on,.swap-rotate input:indeterminate~.swap-on{rotate:45deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-on,.swap-rotate.swap-active .swap-on{rotate:0deg}.swap-rotate input:is(:checked,:indeterminate)~.swap-off,.swap-rotate.swap-active .swap-off{rotate:-45deg}.swap-flip{transform-style:preserve-3d;perspective:20rem}.swap-flip .swap-on,.swap-flip .swap-indeterminate,.swap-flip input:indeterminate~.swap-on{backface-visibility:hidden;transform:rotateY(180deg)}.swap-flip input:is(:checked,:indeterminate)~.swap-on,.swap-flip.swap-active .swap-on{transform:rotateY(0)}.swap-flip input:is(:checked,:indeterminate)~.swap-off,.swap-flip.swap-active .swap-off{backface-visibility:hidden;opacity:1;transform:rotateY(-180deg)}.menu-lg :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-lg :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:1rem;font-size:1.125rem}.menu-lg .menu-title{padding-block:.75rem;padding-inline:1.5rem}.menu-md :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-md :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.375rem;padding-inline:.75rem;font-size:.875rem}.menu-md .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-sm :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.menu-xs :where(li:not(.menu-title)>:not(ul,details,.menu-title)),.menu-xs :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.5rem;font-size:.6875rem}.menu-xs .menu-title{padding-block:.25rem;padding-inline:.5rem}.badge-dash{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-style:dashed;border-color:currentColor}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.select-ghost{box-shadow:none;background-color:#0000;border-color:#0000;transition:background-color .2s}.select-ghost:focus,.select-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.input-ghost{box-shadow:none;background-color:#0000;border-color:#0000}.input-ghost:focus,.input-ghost:focus-within{background-color:var(--color-base-100);color:var(--color-base-content);box-shadow:none;border-color:#0000}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.table-zebra tbody tr:where(:nth-child(2n)),.table-zebra tbody tr:where(:nth-child(2n)) :where(.table-pin-cols tr th){background-color:var(--color-base-200)}@media (hover:hover){:is(.table-zebra tbody tr.row-hover,.table-zebra tbody tr.row-hover:where(:nth-child(2n))):hover{background-color:var(--color-base-300)}}.loading-ball{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='12' cy='5' rx='4' ry='4'%3E%3Canimate attributeName='cy' values='5;20;20.5;20;5' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3Canimate attributeName='rx' values='4;4;4.8;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='ry' values='4;4;3;4;4' keyTimes='0;0.469;0.5;0.531;1' dur='.8s' repeatCount='indefinite'/%3E%3C/ellipse%3E%3C/svg%3E")}.loading-bars{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite'/%3E%3C/rect%3E%3Crect x='9' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.65s'/%3E%3C/rect%3E%3Crect x='17' y='1' width='6' height='22'%3E%3Canimate attributeName='y' values='1;5;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='height' values='22;14;22' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3Canimate attributeName='opacity' values='1;0.2;1' keyTimes='0;0.938;1' dur='.8s' repeatCount='indefinite' begin='-0.5s'/%3E%3C/rect%3E%3C/svg%3E")}.loading-dots{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='4' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.1s'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3'%3E%3Canimate attributeName='cy' values='12;6;12;12' keyTimes='0;0.286;0.571;1' dur='1.05s' repeatCount='indefinite' keySplines='.33,0,.66,.33;.33,.66,.66,1' begin='0.2s'/%3E%3C/circle%3E%3C/svg%3E")}.loading-infinity{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='shape-rendering:auto;' width='200px' height='200px' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid'%3E%3Cpath fill='none' stroke='black' stroke-width='10' stroke-dasharray='205.271 51.318' d='M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z' stroke-linecap='round' style='transform:scale(0.8);transform-origin:50px 50px'%3E%3Canimate attributeName='stroke-dashoffset' repeatCount='indefinite' dur='2s' keyTimes='0;1' values='0;256.589'/%3E%3C/path%3E%3C/svg%3E")}.loading-ring{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' stroke='white'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' dur='1.8s' values='1;20' calcMode='spline' keyTimes='0;1' keySplines='0.165,0.84,0.44,1' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' dur='1.8s' values='1;0' calcMode='spline' keyTimes='0;1' keySplines='0.3,0.61,0.355,1' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.mask-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='black' cx='100' cy='100' r='100' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-heart{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='185' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M100 184.606a15.384 15.384 0 0 1-8.653-2.678C53.565 156.28 37.205 138.695 28.182 127.7 8.952 104.264-.254 80.202.005 54.146.308 24.287 24.264 0 53.406 0c21.192 0 35.869 11.937 44.416 21.879a2.884 2.884 0 0 0 4.356 0C110.725 11.927 125.402 0 146.594 0c29.142 0 53.098 24.287 53.4 54.151.26 26.061-8.956 50.122-28.176 73.554-9.023 10.994-25.383 28.58-63.165 54.228a15.384 15.384 0 0 1-8.653 2.673Z' fill='black' fill-rule='nonzero'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e")}.checkbox-lg{--size:calc(var(--size-selector,.25rem) * 7);padding:.3125rem}.checkbox-md{--size:calc(var(--size-selector,.25rem) * 6);padding:.25rem}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.checkbox-xs{--size:calc(var(--size-selector,.25rem) * 4);padding:.125rem}.radio-lg{padding:.3125rem}.radio-lg[type=radio]{--size:calc(var(--size-selector,.25rem) * 7)}.radio-md{padding:.25rem}.radio-md[type=radio]{--size:calc(var(--size-selector,.25rem) * 6)}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.radio-xs{padding:.125rem}.radio-xs[type=radio]{--size:calc(var(--size-selector,.25rem) * 4)}.select-lg{--size:calc(var(--size-field,.25rem) * 12);font-size:1.125rem}.select-lg option{padding-block:.375rem;padding-inline:1rem}.select-md{--size:calc(var(--size-field,.25rem) * 10);font-size:.875rem}.select-md option{padding-block:.375rem;padding-inline:.75rem}.select-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.select-xs{--size:calc(var(--size-field,.25rem) * 6);font-size:.6875rem}.select-xs option{padding-block:.25rem;padding-inline:.5rem}.table-lg :not(thead,tfoot) tr{font-size:1.125rem}.table-lg :where(th,td){padding-block:1rem;padding-inline:1.25rem}.table-md :not(thead,tfoot) tr{font-size:.875rem}.table-md :where(th,td){padding-block:.75rem;padding-inline:1rem}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.table-xl :not(thead,tfoot) tr{font-size:1.375rem}.table-xl :where(th,td){padding-block:1.25rem;padding-inline:1.5rem}.table-xs :not(thead,tfoot) tr{font-size:.6875rem}.table-xs :where(th,td){padding-block:.25rem;padding-inline:.5rem}.tabs-lg{--tab-height:calc(var(--size-field,.25rem) * 12)}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-md{--tab-height:calc(var(--size-field,.25rem) * 10)}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.tabs-xs{--tab-height:calc(var(--size-field,.25rem) * 6)}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.badge-lg{--size:calc(var(--size-selector,.25rem) * 7);font-size:1rem}.badge-md{--size:calc(var(--size-selector,.25rem) * 6);font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem) * 4);font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.checkbox-accent{color:var(--color-accent-content);--input-color:var(--color-accent)}.checkbox-error{color:var(--color-error-content);--input-color:var(--color-error)}.checkbox-info{color:var(--color-info-content);--input-color:var(--color-info)}.checkbox-primary{color:var(--color-primary-content);--input-color:var(--color-primary)}.checkbox-secondary{color:var(--color-secondary-content);--input-color:var(--color-secondary)}.checkbox-success{color:var(--color-success-content);--input-color:var(--color-success)}.checkbox-warning{color:var(--color-warning-content);--input-color:var(--color-warning)}.range-accent{color:var(--color-accent);--range-thumb:var(--color-accent-content)}.range-error{color:var(--color-error);--range-thumb:var(--color-error-content)}.range-info{color:var(--color-info);--range-thumb:var(--color-info-content)}.range-primary{color:var(--color-primary);--range-thumb:var(--color-primary-content)}.range-secondary{color:var(--color-secondary);--range-thumb:var(--color-secondary-content)}.range-success{color:var(--color-success);--range-thumb:var(--color-success-content)}.range-warning{color:var(--color-warning);--range-thumb:var(--color-warning-content)}.tooltip-accent{--tt-bg:var(--color-accent)}.tooltip-accent>.tooltip-content,.tooltip-accent[data-tip]:before{color:var(--color-accent-content)}.tooltip-error{--tt-bg:var(--color-error)}.tooltip-error>.tooltip-content,.tooltip-error[data-tip]:before{color:var(--color-error-content)}.tooltip-info{--tt-bg:var(--color-info)}.tooltip-info>.tooltip-content,.tooltip-info[data-tip]:before{color:var(--color-info-content)}.tooltip-primary{--tt-bg:var(--color-primary)}.tooltip-primary>.tooltip-content,.tooltip-primary[data-tip]:before{color:var(--color-primary-content)}.tooltip-secondary{--tt-bg:var(--color-secondary)}.tooltip-secondary>.tooltip-content,.tooltip-secondary[data-tip]:before{color:var(--color-secondary-content)}.tooltip-success{--tt-bg:var(--color-success)}.tooltip-success>.tooltip-content,.tooltip-success[data-tip]:before{color:var(--color-success-content)}.tooltip-warning{--tt-bg:var(--color-warning)}.tooltip-warning>.tooltip-content,.tooltip-warning[data-tip]:before{color:var(--color-warning-content)}.swap-active .swap-off{opacity:0}.swap-active .swap-on{opacity:1}.indicator-end{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}[dir=rtl] .indicator-end,.indicator-start{--indicator-s:0;--indicator-e:auto;--indicator-x:-50%}[dir=rtl] .indicator-start{--indicator-s:auto;--indicator-e:0;--indicator-x:50%}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-md{--fontsize:.875rem;--btn-p:1rem;--size:calc(var(--size-field,.25rem) * 10)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.btn-xl{--fontsize:1.375rem;--btn-p:1.5rem;--size:calc(var(--size-field,.25rem) * 14)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem) * 6)}.indicator-bottom{--indicator-t:auto;--indicator-b:0;--indicator-y:50%}.indicator-top{--indicator-t:0;--indicator-b:auto;--indicator-y:-50%}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-error{--badge-color:var(--color-error);--badge-fg:var(--color-error-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.input-accent,.input-accent:focus,.input-accent:focus-within{--input-color:var(--color-accent)}.input-error,.input-error:focus,.input-error:focus-within{--input-color:var(--color-error)}.input-info,.input-info:focus,.input-info:focus-within{--input-color:var(--color-info)}.input-primary,.input-primary:focus,.input-primary:focus-within{--input-color:var(--color-primary)}.input-secondary,.input-secondary:focus,.input-secondary:focus-within{--input-color:var(--color-secondary)}.input-success,.input-success:focus,.input-success:focus-within{--input-color:var(--color-success)}.input-warning,.input-warning:focus,.input-warning:focus-within{--input-color:var(--color-warning)}.radio-accent{--input-color:var(--color-accent)}.radio-error{--input-color:var(--color-error)}.radio-info{--input-color:var(--color-info)}.radio-primary{--input-color:var(--color-primary)}.radio-secondary{--input-color:var(--color-secondary)}.radio-success{--input-color:var(--color-success)}.radio-warning{--input-color:var(--color-warning)}.range-lg{--range-thumb-size:calc(var(--size-selector,.25rem) * 7)}.range-md{--range-thumb-size:calc(var(--size-selector,.25rem) * 6)}.range-sm{--range-thumb-size:calc(var(--size-selector,.25rem) * 5)}.range-xs{--range-thumb-size:calc(var(--size-selector,.25rem) * 4)}.select-accent,.select-accent:focus,.select-accent:focus-within{--input-color:var(--color-accent)}.select-error,.select-error:focus,.select-error:focus-within{--input-color:var(--color-error)}.select-info,.select-info:focus,.select-info:focus-within{--input-color:var(--color-info)}.select-primary,.select-primary:focus,.select-primary:focus-within{--input-color:var(--color-primary)}.select-secondary,.select-secondary:focus,.select-secondary:focus-within{--input-color:var(--color-secondary)}.select-success,.select-success:focus,.select-success:focus-within{--input-color:var(--color-success)}.select-warning,.select-warning:focus,.select-warning:focus-within{--input-color:var(--color-warning)}.toggle-accent:checked,.toggle-accent[aria-checked=true]{--input-color:var(--color-accent)}.toggle-error:checked,.toggle-error[aria-checked=true]{--input-color:var(--color-error)}.toggle-info:checked,.toggle-info[aria-checked=true]{--input-color:var(--color-info)}.toggle-lg[type=checkbox],.toggle-lg:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 7)}.toggle-md[type=checkbox],.toggle-md:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 6)}.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}.toggle-secondary:checked,.toggle-secondary[aria-checked=true]{--input-color:var(--color-secondary)}.toggle-sm[type=checkbox],.toggle-sm:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.toggle-warning:checked,.toggle-warning[aria-checked=true]{--input-color:var(--color-warning)}.toggle-xs[type=checkbox],.toggle-xs:has([type=checkbox]){--size:calc(var(--size-selector,.25rem) * 4)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.collapse{visibility:collapse}.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:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.top-10{top:calc(var(--spacing) * 10)}.-right-2{right:calc(var(--spacing) * -2)}.right-0{right:calc(var(--spacing) * 0)}.right-1\/4{right:25%}.right-3{right:calc(var(--spacing) * 3)}.right-6{right:calc(var(--spacing) * 6)}.-bottom-5{bottom:calc(var(--spacing) * -5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.-z-0{z-index:calc(0 * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-90{z-index:90}.z-\[1\]{z-index:1}.z-\[50\]{z-index:50}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[9999\]{z-index:9999}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-16{margin-block:calc(var(--spacing) * 16)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-6{margin-left:calc(var(--spacing) * 6)}.icon-\[lucide--alert-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--alert-triangle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--calendar\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 2v4m8-4v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--check-circle\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11l3 3L22 4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m15 18l-6-6l6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevron-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 18l6-6l-6-6'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-left\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m11 17l-5-5l5-5m7 10l-5-5l5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--chevrons-right\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 17l5-5l-5-5m7 10l5-5l-5-5'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye-off\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242'/%3E%3Cpath d='M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--eye\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--hash\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--info\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4m0-4h.01'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--link\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--lock\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='18' height='11' x='3' y='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--mail\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--phone\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--search\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--text\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 18H3M17 6H3m18 6H3'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--upload\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-\[lucide--x\]{width:1em;height:1em;-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);-webkit-mask-image:var(--svg);mask-image:var(--svg);--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.aspect-square{aspect-ratio:1}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-48{height:calc(var(--spacing) * 48)}.h-96{height:calc(var(--spacing) * 96)}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[100px\]{min-height:100px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[200px\]{max-width:200px}.max-w-md{max-width:var(--container-md)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-2{--tw-translate-x:calc(var(--spacing) * 2);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-x-10{--tw-translate-x:calc(var(--spacing) * 10);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * 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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-box{border-radius:var(--radius-box);border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}@layer daisyui.l1{.alert-dash{color:var(--alert-color);box-shadow:none;background-color:#0000;background-image:none;border-style:dashed}.btn-dash:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-dash:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{background:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 8%, var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.alert-soft{--alert-border-color:color-mix(in oklab, var(--alert-color,var(--color-base-content)) 10%, var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-link{--btn-border:#0000;--btn-bg:#0000;--btn-noise:none;--btn-shadow:"";outline-color:currentColor;text-decoration-line:underline}.btn-link:not(.btn-disabled,.btn:disabled,.btn[disabled]){--btn-fg:var(--btn-color,var(--color-primary))}.btn-link:is(.btn-active,:hover,:active:focus,:focus-visible){--btn-border:#0000;--btn-bg:#0000}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media (hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-outline:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}@media (hover:none){.btn-outline:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color);--btn-border:var(--btn-color);--btn-noise:none}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media (hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 8%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-content)) 10%, var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.btn-dash{border-style:dashed}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-base-200\/30{border-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.border-base-200\/30{border-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.border-base-300{border-color:var(--color-base-300)}.border-base-content\/20{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.border-base-content\/20{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.border-black\/5{border-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.border-black\/5{border-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.border-black\/10{border-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.border-primary,.border-primary\/20{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\/20{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-base-100,.bg-base-100\/30{background-color:var(--color-base-100)}@supports (color:color-mix(in lab, red, red)){.bg-base-100\/30{background-color:color-mix(in oklab, var(--color-base-100) 30%, transparent)}}.bg-base-200,.bg-base-200\/30{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/30{background-color:color-mix(in oklab, var(--color-base-200) 30%, transparent)}}.bg-base-200\/50{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/50{background-color:color-mix(in oklab, var(--color-base-200) 50%, transparent)}}.bg-base-300{background-color:var(--color-base-300)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-error,.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-info{background-color:var(--color-info)}.bg-neutral{background-color:var(--color-neutral)}.bg-primary,.bg-primary\/5{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/5{background-color:color-mix(in oklab, var(--color-primary) 5%, transparent)}}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-primary\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-success,.bg-success\/10{background-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.bg-success\/10{background-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.bg-warning,.bg-warning\/10{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent{--tw-gradient-from:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-primary{--tw-gradient-from:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-secondary{--tw-gradient-from:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-accent{--tw-gradient-to:var(--color-accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-primary{--tw-gradient-to:var(--color-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-secondary{--tw-gradient-to:var(--color-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.mask-circle{--tw-mask-radial-shape:circle}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.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-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-10{padding-left:calc(var(--spacing) * 10)}.\!text-center{text-align:center!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.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-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-20{--tw-leading:calc(var(--spacing) * 20);line-height:calc(var(--spacing) * 20)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-content{color:var(--color-accent-content)}.text-base-content,.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/90{color:color-mix(in oklab, var(--color-base-content) 90%, transparent)}}.text-error{color:var(--color-error)}.text-error-content{color:var(--color-error-content)}.text-gray-500{color:var(--color-gray-500)}.text-info{color:var(--color-info)}.text-info-content{color:var(--color-info-content)}.text-neutral-content{color:var(--color-neutral-content)}.text-primary{color:var(--color-primary)}.text-primary-content{color:var(--color-primary-content)}.text-secondary{color:var(--color-secondary)}.text-secondary-content{color:var(--color-secondary-content)}.text-success{color:var(--color-success)}.text-success-content{color:var(--color-success-content)}.text-transparent{color:#0000}.text-warning{color:var(--color-warning)}.text-warning-content{color:var(--color-warning-content)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.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-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-secondary\/20{--tw-shadow-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.shadow-secondary\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-secondary) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-2xl{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}}.before\:z-50:before,.after\:z-50:after{content:var(--tw-content);z-index:50}@media (hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-accent\/40:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-base-content\/20:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/20:hover{border-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.hover\:border-primary\/40:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.hover\:border-primary\/50:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.hover\:border-secondary\/40:hover{border-color:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:border-secondary\/40:hover{border-color:color-mix(in oklab, var(--color-secondary) 40%, transparent)}}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-200:hover{background-color:var(--color-base-200)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:text-base-content:hover{color:var(--color-base-content)}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:h-64{height:calc(var(--spacing) * 64)}.md\:w-64{width:calc(var(--spacing) * 64)}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}.input,.select,.textarea{transition:all .2s cubic-bezier(.4,0,.2,1)}:is(.input,.select,.textarea):focus,:is(.input,.select,.textarea):focus-within{outline-offset:2px!important;outline:2px solid #0000!important}:is(.input,.select,.textarea):hover:not(:focus){background-color:oklch(from var(--color-base-100) calc(l - .03) c h)}:is(.input,.select,.textarea):focus{--focus-color:var(--color-primary)}:is(.input,.select,.textarea):focus[class*=-secondary]{--focus-color:var(--color-secondary)}:is(.input,.select,.textarea):focus[class*=-accent]{--focus-color:var(--color-accent)}:is(.input,.select,.textarea):focus[class*=-neutral]{--focus-color:var(--color-neutral)}:is(.input,.select,.textarea):focus[class*=-ghost]{--focus-color:var(--color-base-content)}:is(.input,.select,.textarea):focus[class*=-info]{--focus-color:var(--color-info)}:is(.input,.select,.textarea):focus[class*=-success]{--focus-color:var(--color-success)}:is(.input,.select,.textarea):focus[class*=-warning]{--focus-color:var(--color-warning)}:is(.input,.select,.textarea):focus[class*=-error]{--focus-color:var(--color-error)}:is(.input,.select,.textarea):focus{background-color:oklch(from var(--focus-color) l c h / .05);border-color:var(--focus-color);box-shadow:0 0 0 4px oklch(from var(--focus-color) l c h / .25)}:is(.input,.select,.textarea):focus[class*=-ghost]{border-width:1px}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes progress{50%{background-position-x:-115%}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@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:"";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:"";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:"";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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/src/components/Accordion.js b/src/components/Accordion.js index 5b8a7bc..2b97869 100644 --- a/src/components/Accordion.js +++ b/src/components/Accordion.js @@ -1,5 +1,5 @@ // components/Accordion.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui, val } from "../core/utils.js"; /** @@ -14,16 +14,16 @@ import { ui, val } from "../core/utils.js"; export const Accordion = (props, children) => { const { class: className, title, name, open, ...rest } = props; - return $html("div", { + return Tag("div", { ...rest, class: ui('collapse collapse-arrow bg-base-200 mb-2', className), }, [ - $html("input", { + Tag("input", { type: name ? "radio" : "checkbox", name: name, checked: val(open), }), - $html("div", { class: "collapse-title text-xl font-medium" }, title), - $html("div", { class: "collapse-content" }, children), + Tag("div", { class: "collapse-title text-xl font-medium" }, title), + Tag("div", { class: "collapse-content" }, children), ]); }; \ No newline at end of file diff --git a/src/components/Alert.js b/src/components/Alert.js index 25302bc..ba40b1f 100644 --- a/src/components/Alert.js +++ b/src/components/Alert.js @@ -1,5 +1,5 @@ // components/Alert.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui, getIcon } from "../core/utils.js"; /** @@ -26,16 +26,16 @@ export const Alert = (props, children) => { const content = children || props.message; - return $html("div", { + return Tag("div", { ...rest, role: "alert", class: ui('alert', allClasses), }, () => [ getIcon(iconMap[type]), - $html("div", { class: "flex-1" }, [ - $html("span", {}, [typeof content === "function" ? content() : content]) + Tag("div", { class: "flex-1" }, [ + Tag("span", {}, [typeof content === "function" ? content() : content]) ]), - actions ? $html("div", { class: "flex-none" }, [ + actions ? Tag("div", { class: "flex-none" }, [ typeof actions === "function" ? actions() : actions ]) : null, ].filter(Boolean)); diff --git a/src/components/Autocomplete.js b/src/components/Autocomplete.js index b485c65..80167e6 100644 --- a/src/components/Autocomplete.js +++ b/src/components/Autocomplete.js @@ -1,5 +1,5 @@ // components/Autocomplete.js -import { $, $html, $for } from "../sigpro.js"; +import { $, Tag, For } from "../sigpro.js"; import { val } from "../core/utils.js"; import { tt } from "../core/i18n.js"; import { Input } from "./Input.js"; @@ -58,7 +58,7 @@ export const Autocomplete = (props) => { } }; - return $html("div", { class: 'relative w-full' }, [ + return Tag("div", { class: 'relative w-full' }, [ Input({ label, class: className, @@ -76,18 +76,18 @@ export const Autocomplete = (props) => { }, ...rest, }), - $html( + Tag( "ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => (isOpen() && list().length ? "display:block" : "display:none"), }, [ - $for( + For( list, (opt, i) => - $html("li", {}, [ - $html( + Tag("li", {}, [ + Tag( "a", { class: () => `block w-full ${cursor() === i ? "active bg-primary text-primary-content" : ""}`, @@ -99,7 +99,7 @@ export const Autocomplete = (props) => { ]), (opt, i) => (typeof opt === "string" ? opt : opt.value) + i, ), - () => (list().length ? null : $html("li", { class: "p-2 text-center opacity-50" }, tt("nodata")())), + () => (list().length ? null : Tag("li", { class: "p-2 text-center opacity-50" }, tt("nodata")())), ], ), ]); diff --git a/src/components/Badge.js b/src/components/Badge.js index 31c3c3d..d7c51e9 100644 --- a/src/components/Badge.js +++ b/src/components/Badge.js @@ -1,5 +1,5 @@ // components/Badge.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -14,7 +14,7 @@ import { ui } from "../core/utils.js"; export const Badge = (props, children) => { const { class: className, ...rest } = props; - return $html("span", { + return Tag("span", { ...rest, class: ui('badge', className), }, children); diff --git a/src/components/Button.js b/src/components/Button.js index c5a6dbb..23ebf88 100644 --- a/src/components/Button.js +++ b/src/components/Button.js @@ -1,5 +1,5 @@ // components/Button.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui, val, getIcon } from "../core/utils.js"; /** @@ -18,12 +18,12 @@ export const Button = (props, children) => { const iconEl = getIcon(icon); - return $html("button", { + return Tag("button", { ...rest, class: ui('btn', className), disabled: () => val(loading) || val(props.disabled), }, () => [ - val(loading) && $html("span", { class: "loading loading-spinner" }), + val(loading) && Tag("span", { class: "loading loading-spinner" }), iconEl, children ].filter(Boolean)); diff --git a/src/components/Checkbox.js b/src/components/Checkbox.js index a8f8340..4647976 100644 --- a/src/components/Checkbox.js +++ b/src/components/Checkbox.js @@ -1,5 +1,5 @@ // components/Checkbox.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -16,17 +16,17 @@ import { val, ui } from "../core/utils.js"; export const Checkbox = (props) => { const { class: className, value, tooltip, toggle, label, ...rest } = props; - const checkEl = $html("input", { + const checkEl = Tag("input", { ...rest, type: "checkbox", class: () => ui(val(toggle) ? "toggle" : "checkbox", className), checked: value }); - const layout = $html("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, - label ? $html("span", { class: "label-text" }, label) : null, + label ? Tag("span", { class: "label-text" }, label) : null, ]); - return tooltip ? $html("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; \ No newline at end of file diff --git a/src/components/Colorpicker.js b/src/components/Colorpicker.js index 795e2bb..3cae88e 100644 --- a/src/components/Colorpicker.js +++ b/src/components/Colorpicker.js @@ -1,5 +1,5 @@ // components/Colorpicker.js -import { $, $html, $if } from "../sigpro.js"; +import { $, Tag, If } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -30,8 +30,8 @@ export const Colorpicker = (props) => { const getColor = () => val(value) || "#000000"; - return $html("div", { class: ui('relative w-fit', className) }, [ - $html( + return Tag("div", { class: ui('relative w-fit', className) }, [ + Tag( "button", { type: "button", @@ -43,27 +43,27 @@ export const Colorpicker = (props) => { ...rest, }, [ - $html("div", { + Tag("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}`, }), - label ? $html("span", { class: "opacity-80" }, label) : null, + label ? Tag("span", { class: "opacity-80" }, label) : null, ], ), - $if(isOpen, () => - $html( + If(isOpen, () => + Tag( "div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation(), }, [ - $html( + Tag( "div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => - $html("button", { + Tag("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -82,8 +82,8 @@ export const Colorpicker = (props) => { ), ), - $if(isOpen, () => - $html("div", { + If(isOpen, () => + Tag("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false), }), diff --git a/src/components/Datepicker.js b/src/components/Datepicker.js index ce00bc9..05762e3 100644 --- a/src/components/Datepicker.js +++ b/src/components/Datepicker.js @@ -1,5 +1,5 @@ // components/Datepicker.js -import { $, $html, $if } from "../sigpro.js"; +import { $, Tag, If } from "../sigpro.js"; import { val, ui, getIcon } from "../core/utils.js"; import { Input } from "./Input.js"; @@ -99,9 +99,9 @@ export const Datepicker = (props) => { }; const HourSlider = ({ value: hVal, onChange }) => { - return $html("div", { class: "flex-1" }, [ - $html("div", { class: "flex gap-2 items-center" }, [ - $html("input", { + return Tag("div", { class: "flex-1" }, [ + Tag("div", { class: "flex gap-2 items-center" }, [ + Tag("input", { type: "range", min: 0, max: 23, @@ -112,14 +112,14 @@ export const Datepicker = (props) => { onChange(newHour); }, }), - $html("span", { class: "text-sm font-mono min-w-[48px] text-center" }, + Tag("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00" ), ]), ]); }; - return $html("div", { class: ui('relative w-full', className) }, [ + return Tag("div", { class: ui('relative w-full', className) }, [ Input({ label, placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."), @@ -133,38 +133,38 @@ export const Datepicker = (props) => { ...rest, }), - $if(isOpen, () => - $html( + If(isOpen, () => + Tag( "div", { class: "absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none", onclick: (e) => e.stopPropagation(), }, [ - $html("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - $html("div", { class: "flex gap-0.5" }, [ - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, + Tag("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + Tag("div", { class: "flex gap-0.5" }, [ + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, getIcon("icon-[lucide--chevrons-left]") ), - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, getIcon("icon-[lucide--chevron-left]") ), ]), - $html("span", { class: "font-bold uppercase flex-1 text-center" }, [ + Tag("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }), ]), - $html("div", { class: "flex gap-0.5" }, [ - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, + Tag("div", { class: "flex gap-0.5" }, [ + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, getIcon("icon-[lucide--chevron-right]") ), - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, getIcon("icon-[lucide--chevrons-right]") ), ]), ]), - $html("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => $html("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + Tag("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => Tag("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -174,14 +174,14 @@ export const Datepicker = (props) => { const daysInMonth = new Date(year, month + 1, 0).getDate(); const nodes = []; - for (let i = 0; i < offset; i++) nodes.push($html("div")); + for (let i = 0; i < offset; i++) nodes.push(Tag("div")); for (let i = 1; i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); nodes.push( - $html( + Tag( "button", { type: "button", @@ -218,9 +218,9 @@ export const Datepicker = (props) => { }, ]), - hour ? $html("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + hour ? Tag("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ isRangeMode() - ? $html("div", { class: "flex gap-4" }, [ + ? Tag("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (newHour) => { @@ -253,6 +253,6 @@ export const Datepicker = (props) => { ), ), - $if(isOpen, () => $html("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })), + If(isOpen, () => Tag("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })), ]); }; \ No newline at end of file diff --git a/src/components/Drawer.js b/src/components/Drawer.js index 202cc86..8394321 100644 --- a/src/components/Drawer.js +++ b/src/components/Drawer.js @@ -1,5 +1,5 @@ // components/Drawer.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -14,11 +14,11 @@ export const Drawer = (props, children) => { const drawerId = id || `drawer-${Math.random().toString(36).slice(2, 9)}`; - return $html("div", { + return Tag("div", { ...rest, class: ui('drawer', className), }, [ - $html("input", { + Tag("input", { id: drawerId, type: "checkbox", class: "drawer-toggle", @@ -27,18 +27,18 @@ export const Drawer = (props, children) => { if (typeof open === "function") open(e.target.checked); } }), - $html("div", { class: "drawer-content" }, [ + Tag("div", { class: "drawer-content" }, [ typeof content === "function" ? content() : content ]), - $html("div", { class: "drawer-side" }, [ - $html("label", { + Tag("div", { class: "drawer-side" }, [ + Tag("label", { for: drawerId, class: "drawer-overlay", onclick: () => { if (typeof open === "function") open(false); } }), - $html("div", { class: "min-h-full bg-base-200 w-80" }, [ + Tag("div", { class: "min-h-full bg-base-200 w-80" }, [ typeof side === "function" ? side() : side ]) ]) diff --git a/src/components/Dropdown.js b/src/components/Dropdown.js index 288f81a..054e5a6 100644 --- a/src/components/Dropdown.js +++ b/src/components/Dropdown.js @@ -1,5 +1,5 @@ // components/Dropdown.js -// import { $html, $for, $watch } from "../sigpro.js"; +// import { Tag, For, Watch } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -28,11 +28,11 @@ if (typeof window !== 'undefined' && !window.__dropdownHandlerRegistered) { export const Dropdown = (props) => { const { class: className, label, icon, items, ...rest } = props; - return $html("details", { + return Tag("details", { ...rest, class: ui('dropdown', className), }, [ - $html("summary", { + Tag("summary", { class: "btn m-1 flex items-center gap-2 list-none cursor-pointer", style: "display: inline-flex;", onclick: (e) => { @@ -48,15 +48,15 @@ export const Dropdown = (props) => { () => icon ? (typeof icon === "function" ? icon() : icon) : null, () => label ? (typeof label === "function" ? label() : label) : null ]), - $html("ul", { + Tag("ul", { tabindex: "-1", class: "dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300" }, [ () => { const currentItems = typeof items === "function" ? items() : (items || []); return currentItems.map(item => - $html("li", {}, [ - $html("a", { + Tag("li", {}, [ + Tag("a", { class: item.class || "", onclick: (e) => { if (item.onclick) item.onclick(e); @@ -67,8 +67,8 @@ export const Dropdown = (props) => { } } }, [ - item.icon ? $html("span", {}, item.icon) : null, - $html("span", {}, item.label) + item.icon ? Tag("span", {}, item.icon) : null, + Tag("span", {}, item.label) ]) ]) ); diff --git a/src/components/Fab.js b/src/components/Fab.js index b061067..24a8e0b 100644 --- a/src/components/Fab.js +++ b/src/components/Fab.js @@ -1,5 +1,5 @@ // components/Fab.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui, getIcon } from "../core/utils.js"; /** @@ -16,14 +16,14 @@ import { val, ui, getIcon } from "../core/utils.js"; export const Fab = (props) => { const { class: className, icon, label, actions = [], position = "bottom-6 right-6", ...rest } = props; - return $html( + return Tag( "div", { ...rest, class: ui(`fab absolute ${position} flex flex-col-reverse items-end gap-3 z-[100]`, className), }, [ - $html( + Tag( "div", { tabindex: 0, @@ -37,9 +37,9 @@ export const Fab = (props) => { ), ...val(actions).map((act) => - $html("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ - act.label ? $html("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, - $html( + Tag("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ + act.label ? Tag("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, + Tag( "button", { type: "button", diff --git a/src/components/Fieldset.js b/src/components/Fieldset.js index 58a20fc..c4c48ed 100644 --- a/src/components/Fieldset.js +++ b/src/components/Fieldset.js @@ -1,5 +1,5 @@ // components/Fieldset.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -13,7 +13,7 @@ import { val, ui } from "../core/utils.js"; export const Fieldset = (props, children) => { const { class: className, legend, ...rest } = props; - return $html( + return Tag( "fieldset", { ...rest, @@ -22,7 +22,7 @@ export const Fieldset = (props, children) => { [ () => { const legendText = val(legend); - return legendText ? $html("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; + return legendText ? Tag("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; }, children, ], diff --git a/src/components/Fileinput.js b/src/components/Fileinput.js index e3616a7..f4fad5d 100644 --- a/src/components/Fileinput.js +++ b/src/components/Fileinput.js @@ -1,5 +1,5 @@ // components/Fileinput.js -import { $, $html, $if, $for } from "../sigpro.js"; +import { $, Tag, If, For } from "../sigpro.js"; import { ui, getIcon } from "../core/utils.js"; /** @@ -47,15 +47,15 @@ export const Fileinput = (props) => { onSelect?.(updated); }; - return $html("fieldset", { ...rest, class: ui('fieldset w-full p-0', className) }, [ - $html( + return Tag("fieldset", { ...rest, class: ui('fieldset w-full p-0', className) }, [ + Tag( "div", { class: () => `w-full ${tooltip ? "tooltip tooltip-top before:z-50 after:z-50" : ""}`, "data-tip": tooltip, }, [ - $html( + Tag( "label", { class: () => ` @@ -76,12 +76,12 @@ export const Fileinput = (props) => { }, }, [ - $html("div", { class: "flex items-center gap-3 w-full" }, [ + Tag("div", { class: "flex items-center gap-3 w-full" }, [ getIcon("icon-[lucide--upload]"), - $html("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - $html("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`), + Tag("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + Tag("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`), ]), - $html("input", { + Tag("input", { type: "file", multiple: true, accept: accept, @@ -93,22 +93,22 @@ export const Fileinput = (props) => { ], ), - () => (error() ? $html("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null), + () => (error() ? Tag("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null), - $if( + If( () => selectedFiles().length > 0, () => - $html("ul", { class: "mt-2 space-y-1" }, [ - $for( + Tag("ul", { class: "mt-2 space-y-1" }, [ + For( selectedFiles, (file, index) => - $html("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - $html("div", { class: "flex items-center gap-2 truncate" }, [ - $html("span", { class: "opacity-50" }, "📄"), - $html("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - $html("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`), + Tag("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + Tag("div", { class: "flex items-center gap-2 truncate" }, [ + Tag("span", { class: "opacity-50" }, "📄"), + Tag("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + Tag("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`), ]), - $html( + Tag( "button", { type: "button", diff --git a/src/components/Indicator.js b/src/components/Indicator.js index f99a091..ce0a5b6 100644 --- a/src/components/Indicator.js +++ b/src/components/Indicator.js @@ -1,5 +1,5 @@ // components/Indicator.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -15,12 +15,12 @@ import { ui } from "../core/utils.js"; export const Indicator = (props, children) => { const { value, class: className, ...rest } = props; - return $html("div", { + return Tag("div", { ...rest, class: "indicator" }, () => [ // El indicador debe ir PRIMERO (antes que el children) - value ? $html("span", { + value ? Tag("span", { class: ui('indicator-item badge', className) }, () => typeof value === "function" ? value() : value) : null, children diff --git a/src/components/Input.js b/src/components/Input.js index 3bddf62..3e5bf42 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -1,5 +1,5 @@ // components/Input.js -import { $, $html, $watch } from "../sigpro.js"; +import { $, Tag, Watch } from "../sigpro.js"; import { val, ui, getIcon } from "../core/utils.js"; /** @@ -71,7 +71,7 @@ export const Input = (props) => { return classes.trim(); }; - const inputElement = $html("input", { + const inputElement = Tag("input", { ...rest, type: () => (isPassword ? (visible() ? "text" : "password") : type), placeholder: placeholder || " ", @@ -82,15 +82,15 @@ export const Input = (props) => { "aria-invalid": () => hasError() ? "true" : "false", }); - return $html( + return Tag( "div", { class: "relative w-full" }, () => [ inputElement, - leftIcon ? $html("div", { + leftIcon ? Tag("div", { class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60", }, leftIcon) : null, - isPassword ? $html("button", { + isPassword ? Tag("button", { type: "button", class: ui( "absolute right-3 inset-y-0 flex items-center", @@ -102,7 +102,7 @@ export const Input = (props) => { visible(!visible()); } }, () => getPasswordIcon()) : null, - $html("div", { + Tag("div", { class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0", }, () => hasError() ? errorMsg() : null), ] diff --git a/src/components/Label.js b/src/components/Label.js index 8904386..73ef995 100644 --- a/src/components/Label.js +++ b/src/components/Label.js @@ -1,5 +1,5 @@ // components/Label.js -import { $, $html } from "../sigpro.js"; +import { $, Tag } from "../sigpro.js"; import { ui, val } from "../core/utils.js"; /** @@ -13,16 +13,16 @@ export const Label = (props) => { const { children, value, floating = false, error, required, class: className, ...rest } = props; if (floating) { - return $html("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? $html("span", {}, value) : null, + return Tag("label", { class: ui("floating-label w-full", className), ...rest }, () => [ + value ? Tag("span", {}, value) : null, children, - error ? $html("span", { class: "text-error text-xs" }, val(error)) : null, + error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null, ]); } - return $html("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? $html("span", { class: "label" }, value) : null, + return Tag("label", { class: ui("input w-full", className), ...rest }, () => [ + value ? Tag("span", { class: "label" }, value) : null, children, - error ? $html("span", { class: "text-error text-xs" }, val(error)) : null, + error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null, ]); }; \ No newline at end of file diff --git a/src/components/List.js b/src/components/List.js index a06c7a6..409a514 100644 --- a/src/components/List.js +++ b/src/components/List.js @@ -1,5 +1,5 @@ // components/List.js -import { $html, $if, $for } from "../sigpro.js"; +import { Tag, If, For } from "../sigpro.js"; import { ui, val } from "../core/utils.js"; /** @@ -14,14 +14,14 @@ import { ui, val } from "../core/utils.js"; export const List = (props) => { const { class: className, items, header, render, keyFn = (item, index) => item.id ?? index, ...rest } = props; - const listItems = $for( + const listItems = For( items, - (item, index) => $html("li", { class: "list-row" }, [render(item, index)]), + (item, index) => Tag("li", { class: "list-row" }, [render(item, index)]), keyFn ); - return $html("ul", { + return Tag("ul", { ...rest, class: ui('list bg-base-100 rounded-box shadow-md', className), - }, header ? [$if(header, () => $html("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); + }, header ? [If(header, () => Tag("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems); }; \ No newline at end of file diff --git a/src/components/Menu.js b/src/components/Menu.js index a36fdb5..b5d8dec 100644 --- a/src/components/Menu.js +++ b/src/components/Menu.js @@ -1,5 +1,5 @@ // components/Menu.js -import { $html, $for } from "../sigpro.js"; +import { Tag, For } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -15,22 +15,22 @@ export const Menu = (props) => { const { class: className, items, ...rest } = props; const renderItems = (items) => - $for( + For( () => items || [], (it) => - $html("li", {}, [ + Tag("li", {}, [ it.children - ? $html("details", { open: it.open }, [ - $html("summary", {}, [it.icon && $html("span", { class: "mr-2" }, it.icon), it.label]), - $html("ul", {}, renderItems(it.children)), + ? Tag("details", { open: it.open }, [ + Tag("summary", {}, [it.icon && Tag("span", { class: "mr-2" }, it.icon), it.label]), + Tag("ul", {}, renderItems(it.children)), ]) - : $html("a", { class: () => (val(it.active) ? "active" : ""), onclick: it.onclick }, [ - it.icon && $html("span", { class: "mr-2" }, it.icon), + : Tag("a", { class: () => (val(it.active) ? "active" : ""), onclick: it.onclick }, [ + it.icon && Tag("span", { class: "mr-2" }, it.icon), it.label, ]), ]), (it, i) => it.label || i, ); - return $html("ul", { ...rest, class: ui('menu bg-base-200 rounded-box', className) }, renderItems(items)); + return Tag("ul", { ...rest, class: ui('menu bg-base-200 rounded-box', className) }, renderItems(items)); }; \ No newline at end of file diff --git a/src/components/Modal.js b/src/components/Modal.js index 47c1be7..bb166f4 100644 --- a/src/components/Modal.js +++ b/src/components/Modal.js @@ -1,5 +1,5 @@ // components/Modal.js -import { $html, $watch } from "../sigpro.js"; +import { Tag, Watch } from "../sigpro.js"; import { ui } from "../core/utils.js"; import { tt } from "../core/i18n.js"; import { Button } from "./Button.js"; @@ -28,13 +28,13 @@ export const Modal = (props, children) => { } }; - $watch(() => handleOpen()); + Watch(() => handleOpen()); const close = () => { if (typeof open === "function") open(false); }; - return $html("dialog", { + return Tag("dialog", { ...rest, ref: (el) => { dialogElement = el; @@ -44,22 +44,22 @@ export const Modal = (props, children) => { onclose: close, oncancel: close }, [ - $html("div", { class: "modal-box" }, [ - title ? $html("h3", { class: "text-lg font-bold mb-4" }, () => + Tag("div", { class: "modal-box" }, [ + title ? Tag("h3", { class: "text-lg font-bold mb-4" }, () => typeof title === "function" ? title() : title ) : null, - $html("div", { class: "py-2" }, [ + Tag("div", { class: "py-2" }, [ typeof children === "function" ? children() : children ]), - $html("div", { class: "modal-action" }, [ - $html("form", { method: "dialog", class: "flex gap-2" }, [ + Tag("div", { class: "modal-action" }, [ + Tag("form", { method: "dialog", class: "flex gap-2" }, [ ...(Array.isArray(buttons) ? buttons : [buttons]).filter(Boolean), Button({ type: "submit" }, tt("close")()) ]) ]) ]), - $html("form", { method: "dialog", class: "modal-backdrop" }, [ - $html("button", {}, "close") + Tag("form", { method: "dialog", class: "modal-backdrop" }, [ + Tag("button", {}, "close") ]) ]); }; \ No newline at end of file diff --git a/src/components/Navbar.js b/src/components/Navbar.js index e1711d5..e54a305 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -1,5 +1,5 @@ // components/Navbar.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -12,5 +12,5 @@ import { ui } from "../core/utils.js"; export const Navbar = (props, children) => { const { class: className, ...rest } = props; - return $html("div", { ...rest, class: ui('navbar bg-base-100 shadow-sm px-4', className) }, children); + return Tag("div", { ...rest, class: ui('navbar bg-base-100 shadow-sm px-4', className) }, children); }; \ No newline at end of file diff --git a/src/components/Radio.js b/src/components/Radio.js index 10dfa96..4ca40a9 100644 --- a/src/components/Radio.js +++ b/src/components/Radio.js @@ -1,5 +1,5 @@ // components/Radio.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -15,7 +15,7 @@ import { val, ui } from "../core/utils.js"; export const Radio = (props) => { const { class: className, label, tooltip, value, inputValue, name, ...rest } = props; - const radioEl = $html("input", { + const radioEl = Tag("input", { ...rest, type: "radio", name: name, @@ -28,10 +28,10 @@ export const Radio = (props) => { if (!label && !tooltip) return radioEl; - const layout = $html("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ radioEl, - label ? $html("span", { class: "label-text" }, label) : null, + label ? Tag("span", { class: "label-text" }, label) : null, ]); - return tooltip ? $html("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; \ No newline at end of file diff --git a/src/components/Range.js b/src/components/Range.js index ca31f66..03af9a5 100644 --- a/src/components/Range.js +++ b/src/components/Range.js @@ -1,5 +1,5 @@ // components/Range.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -15,7 +15,7 @@ import { val, ui } from "../core/utils.js"; export const Range = (props) => { const {class: className, label, tooltip, value, ...rest } = props; - const rangeEl = $html("input", { + const rangeEl = Tag("input", { ...rest, type: "range", class: ui('range', className), @@ -25,10 +25,10 @@ export const Range = (props) => { if (!label && !tooltip) return rangeEl; - const layout = $html("div", { class: "flex flex-col gap-2" }, [ - label ? $html("span", { class: "label-text" }, label) : null, + const layout = Tag("div", { class: "flex flex-col gap-2" }, [ + label ? Tag("span", { class: "label-text" }, label) : null, rangeEl ]); - return tooltip ? $html("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; \ No newline at end of file diff --git a/src/components/Rating.js b/src/components/Rating.js index 63fc7c9..ebb9e96 100644 --- a/src/components/Rating.js +++ b/src/components/Rating.js @@ -1,5 +1,5 @@ // components/Rating.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -15,7 +15,7 @@ export const Rating = (props) => { const ratingGroup = `rating-${Math.random().toString(36).slice(2, 7)}`; - return $html( + return Tag( "div", { ...rest, @@ -23,7 +23,7 @@ export const Rating = (props) => { }, Array.from({ length: val(count) }, (_, i) => { const starValue = i + 1; - return $html("input", { + return Tag("input", { type: "radio", name: ratingGroup, class: `mask ${mask}`, diff --git a/src/components/Select.js b/src/components/Select.js index 52f5966..36a4775 100644 --- a/src/components/Select.js +++ b/src/components/Select.js @@ -1,5 +1,5 @@ // components/Select.js -import { $html, $for } from "../sigpro.js"; +import { Tag, For } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -14,17 +14,17 @@ import { val, ui } from "../core/utils.js"; export const Select = (props) => { const { class: className, label, items, value, ...rest } = props; - const selectEl = $html( + const selectEl = Tag( "select", { ...rest, class: ui('select select-bordered w-full', className), value: value }, - $for( + For( () => val(items) || [], (opt) => - $html( + Tag( "option", { value: opt.value, @@ -38,8 +38,8 @@ export const Select = (props) => { if (!label) return selectEl; - return $html("label", { class: "fieldset-label flex flex-col gap-1" }, [ - $html("span", {}, label), + return Tag("label", { class: "fieldset-label flex flex-col gap-1" }, [ + Tag("span", {}, label), selectEl ]); }; \ No newline at end of file diff --git a/src/components/Stack.js b/src/components/Stack.js index 553bfef..35310ac 100644 --- a/src/components/Stack.js +++ b/src/components/Stack.js @@ -1,5 +1,5 @@ // components/Stack.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -11,5 +11,5 @@ import { ui } from "../core/utils.js"; export const Stack = (props, children) => { const { class: className, ...rest } = props; - return $html("div", { ...rest, class: ui('stack', className) }, children); + return Tag("div", { ...rest, class: ui('stack', className) }, children); }; \ No newline at end of file diff --git a/src/components/Stat.js b/src/components/Stat.js index da10e0e..cd5fdcc 100644 --- a/src/components/Stat.js +++ b/src/components/Stat.js @@ -1,5 +1,5 @@ // components/Stat.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -12,10 +12,10 @@ import { val, ui } from "../core/utils.js"; export const Stat = (props) => { const { class: className, icon, label, value, desc, ...rest } = props; - return $html("div", { ...rest, class: ui('stat', className) }, [ - icon && $html("div", { class: "stat-figure text-secondary" }, icon), - label && $html("div", { class: "stat-title" }, label), - $html("div", { class: "stat-value" }, () => val(value) ?? value), - desc && $html("div", { class: "stat-desc" }, desc), + return Tag("div", { ...rest, class: ui('stat', className) }, [ + icon && Tag("div", { class: "stat-figure text-secondary" }, icon), + label && Tag("div", { class: "stat-title" }, label), + Tag("div", { class: "stat-value" }, () => val(value) ?? value), + desc && Tag("div", { class: "stat-desc" }, desc), ]); }; \ No newline at end of file diff --git a/src/components/Swap.js b/src/components/Swap.js index a26f1c6..6ce5314 100644 --- a/src/components/Swap.js +++ b/src/components/Swap.js @@ -1,5 +1,5 @@ // components/Swap.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui, val } from "../core/utils.js"; /** @@ -12,8 +12,8 @@ import { ui, val } from "../core/utils.js"; export const Swap = (props) => { const { class: className, value, on, off, ...rest } = props; - return $html("label", { ...rest, class: ui('swap', className) }, [ - $html("input", { + return Tag("label", { ...rest, class: ui('swap', className) }, [ + Tag("input", { type: "checkbox", checked: () => val(value), // ← FUNCIÓN: se reevalúa cuando la señal cambia onclick: (e) => { @@ -22,7 +22,7 @@ export const Swap = (props) => { } } }), - $html("div", { class: "swap-on" }, on), - $html("div", { class: "swap-off" }, off), + Tag("div", { class: "swap-on" }, on), + Tag("div", { class: "swap-off" }, off), ]); }; \ No newline at end of file diff --git a/src/components/Table.js b/src/components/Table.js index 72f5acd..512e9f5 100644 --- a/src/components/Table.js +++ b/src/components/Table.js @@ -1,5 +1,5 @@ // components/Table.js -import { $html, $for, $if } from "../sigpro.js"; +import { Tag, For, If } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; import { tt } from "../core/i18n.js"; @@ -24,15 +24,15 @@ export const Table = (props) => { const getInternalKeyFn = keyFn || ((item, idx) => item.id || idx); - return $html("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ - $html("table", { ...rest, class: tableClass }, [ - $html("thead", {}, [ - $html("tr", {}, - columns.map(col => $html("th", { class: col.class || "" }, col.label)) + return Tag("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ + Tag("table", { ...rest, class: tableClass }, [ + Tag("thead", {}, [ + Tag("tr", {}, + columns.map(col => Tag("th", { class: col.class || "" }, col.label)) ) ]), - $html("tbody", {}, [ - $for(items, (item, index) => { + Tag("tbody", {}, [ + For(items, (item, index) => { const it = () => { const currentItems = val(items); @@ -40,21 +40,21 @@ export const Table = (props) => { return currentItems.find((u, i) => getInternalKeyFn(u, i) === key) || item; }; - return $html("tr", { class: "hover" }, + return Tag("tr", { class: "hover" }, columns.map(col => { const cellContent = () => { const latestItem = it(); if (col.render) return col.render(latestItem, index); return val(latestItem[col.key]); }; - return $html("td", { class: col.class || "" }, [cellContent]); + return Tag("td", { class: col.class || "" }, [cellContent]); }) ); }, getInternalKeyFn), - $if(() => val(items).length === 0, () => - $html("tr", {}, [ - $html("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ + If(() => val(items).length === 0, () => + Tag("tr", {}, [ + Tag("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ val(empty) ]) ]) diff --git a/src/components/Tabs.js b/src/components/Tabs.js index c613af6..d313629 100644 --- a/src/components/Tabs.js +++ b/src/components/Tabs.js @@ -1,5 +1,5 @@ // components/Tabs.js -import { $, $html, $for } from "../sigpro.js"; +import { $, Tag, For } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -15,14 +15,14 @@ export const Tabs = (props) => { const itemsSignal = typeof items === "function" ? items : () => items || []; const activeIndex = $(0); - $watch(() => { + Watch(() => { const idx = itemsSignal().findIndex(it => val(it.active) === true); if (idx !== -1 && idx !== activeIndex()) activeIndex(idx); }); - return $html("div", { ...rest, class: "w-full" }, [ + return Tag("div", { ...rest, class: "w-full" }, [ // 1. Tab List: Aplanamos los botones para que sean hijos directos - $html("div", { + Tag("div", { role: "tablist", class: ui('tabs', className || 'tabs-box') }, () => { @@ -30,7 +30,7 @@ export const Tabs = (props) => { return list.map((it, idx) => { const isSelected = () => activeIndex() === idx; - const tab = $html("button", { + const tab = Tag("button", { role: "tab", class: () => ui("tab", isSelected() ? "tab-active" : ""), onclick: (e) => { @@ -43,7 +43,7 @@ export const Tabs = (props) => { }); // Mantenemos el watch para el label por si es dinámico - $watch(() => { + Watch(() => { const content = val(it.label); if (content instanceof Node) { tab.replaceChildren(content); @@ -58,11 +58,11 @@ export const Tabs = (props) => { // 2. Tab Content: Aquí el display:contents no molesta tanto, // pero lo aplanamos por consistencia - $html("div", { class: "tab-panels" }, () => { + Tag("div", { class: "tab-panels" }, () => { return itemsSignal().map((it, idx) => { const isVisible = () => activeIndex() === idx; - return $html("div", { + return Tag("div", { role: "tabpanel", class: "tab-content bg-base-100 border-base-300 p-6", style: () => isVisible() ? "display: block" : "display: none" diff --git a/src/components/Timeline.js b/src/components/Timeline.js index 2b761b6..f9c7c7f 100644 --- a/src/components/Timeline.js +++ b/src/components/Timeline.js @@ -1,5 +1,5 @@ // components/Timeline.js -import { $html, $for } from "../sigpro.js"; +import { Tag, For } from "../sigpro.js"; import { val, ui, getIcon } from "../core/utils.js"; /** @@ -21,7 +21,7 @@ export const Timeline = (props) => { error: "icon-[lucide--alert-circle]", }; - return $html( + return Tag( "ul", { ...rest, @@ -44,14 +44,14 @@ export const Timeline = (props) => { const renderSlot = (content) => (typeof content === "function" ? content() : content); - return $html("li", { class: "flex-1" }, [ - !isFirst ? $html("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, - $html("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), - $html("div", { class: "timeline-middle" }, [ + return Tag("li", { class: "flex-1" }, [ + !isFirst ? Tag("hr", { class: () => prevCompleted() ? "bg-primary" : "" }) : null, + Tag("div", { class: "timeline-start" }, [() => renderSlot(item.title)]), + Tag("div", { class: "timeline-middle" }, [ () => item.icon ? getIcon(item.icon) : getIcon(iconMap[itemType] || iconMap.success) ]), - $html("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), - !isLast ? $html("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null, + Tag("div", { class: "timeline-end timeline-box shadow-sm" }, [() => renderSlot(item.detail)]), + !isLast ? Tag("hr", { class: () => isCompleted() ? "bg-primary" : "" }) : null, ]); }); } diff --git a/src/components/Toast.js b/src/components/Toast.js index 7f9e93f..b688eb1 100644 --- a/src/components/Toast.js +++ b/src/components/Toast.js @@ -1,5 +1,5 @@ // components/Toast.js -import { $html, $mount } from "../sigpro.js"; +import { Tag, Mount } from "../sigpro.js"; import { getIcon } from "../core/utils.js"; import { Button } from "./Button.js"; @@ -17,14 +17,14 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { let container = document.getElementById("sigpro-toast-container"); if (!container) { - container = $html("div", { + container = Tag("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none", }); document.body.appendChild(container); } - const toastHost = $html("div", { style: "display: contents" }); + const toastHost = Tag("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; @@ -48,13 +48,13 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { const ToastComponent = () => { const closeIcon = getIcon("icon-[lucide--x]"); - const el = $html( + const el = Tag( "div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`, }, [ - $html("span", {}, [typeof message === "function" ? message() : message]), + Tag("span", {}, [typeof message === "function" ? message() : message]), Button({ class: "btn-xs btn-circle btn-ghost", onclick: close @@ -66,7 +66,7 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { return el; }; - const instance = $mount(ToastComponent, toastHost); + const instance = Mount(ToastComponent, toastHost); if (duration > 0) { timeoutId = setTimeout(close, duration); diff --git a/src/components/Tooltip.js b/src/components/Tooltip.js index e09dc6e..872a0eb 100644 --- a/src/components/Tooltip.js +++ b/src/components/Tooltip.js @@ -1,5 +1,5 @@ // components/Tooltip.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; import { ui } from "../core/utils.js"; /** @@ -12,7 +12,7 @@ import { ui } from "../core/utils.js"; * - tooltip-open */ export const Tooltip = (props, children) => - $html("div", { + Tag("div", { ...props, class: () => ui('tooltip', props.class), "data-tip": props.tip, diff --git a/src/components_OLD/Accordion.js b/src/components_OLD/Accordion.js index 5c7d0d3..9064a7b 100644 --- a/src/components_OLD/Accordion.js +++ b/src/components_OLD/Accordion.js @@ -1,24 +1,24 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** ACCORDION */ export const Accordion = (props, children) => { const { title, name, open, ...rest } = props; - return $html( + return Tag( "div", { ...rest, class: joinClass("collapse collapse-arrow bg-base-200 mb-2", props.class), }, [ - $html("input", { + Tag("input", { type: name ? "radio" : "checkbox", name: name, checked: open }), - $html("div", { class: "collapse-title text-xl font-medium" }, title), - $html("div", { class: "collapse-content" }, children), + Tag("div", { class: "collapse-title text-xl font-medium" }, title), + Tag("div", { class: "collapse-content" }, children), ], ); }; diff --git a/src/components_OLD/Alert.js b/src/components_OLD/Alert.js index 2e4d69a..7f531f4 100644 --- a/src/components_OLD/Alert.js +++ b/src/components_OLD/Alert.js @@ -1,4 +1,4 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val } from "../core/utils.js"; import { iconInfo, iconSuccess, iconWarning, iconError } from "../core/icons.js"; @@ -26,7 +26,7 @@ export const Alert = (props, children) => { const content = children || props.message; - return $html( + return Tag( "div", { ...rest, @@ -34,15 +34,15 @@ export const Alert = (props, children) => { class: () => `alert ${typeClass()} ${val(soft) ? "alert-soft" : ""} ${props.class || ""}`, }, [ - $html("img", { + Tag("img", { src: icons[val(type)] || icons.info, class: "w-4 h-4 object-contain", alt: val(type), }), - $html("div", { class: "flex-1" }, [ - $html("span", {}, [typeof content === "function" ? content() : content]) + Tag("div", { class: "flex-1" }, [ + Tag("span", {}, [typeof content === "function" ? content() : content]) ]), - props.actions ? $html("div", { class: "flex-none" }, [ + props.actions ? Tag("div", { class: "flex-none" }, [ typeof props.actions === "function" ? props.actions() : props.actions ]) : null, ], diff --git a/src/components_OLD/Autocomplete.js b/src/components_OLD/Autocomplete.js index cbe33ba..0f94e92 100644 --- a/src/components_OLD/Autocomplete.js +++ b/src/components_OLD/Autocomplete.js @@ -1,4 +1,4 @@ -import { $, $html, $for } from "sigpro"; +import { $, Tag, For } from "sigpro"; import { val } from "../core/utils.js"; import { tt } from "../core/i18n.js"; import { Input } from "./Input.js"; // Importamos el componente hermano @@ -48,7 +48,7 @@ export const Autocomplete = (props) => { } }; - return $html("div", { class: "relative w-full" }, [ + return Tag("div", { class: "relative w-full" }, [ Input({ label, placeholder: placeholder || tt("search")(), @@ -65,18 +65,18 @@ export const Autocomplete = (props) => { }, ...rest, }), - $html( + Tag( "ul", { class: "absolute left-0 w-full menu bg-base-100 rounded-box mt-1 p-2 shadow-xl max-h-60 overflow-y-auto border border-base-300 z-50", style: () => (isOpen() && list().length ? "display:block" : "display:none"), }, [ - $for( + For( list, (opt, i) => - $html("li", {}, [ - $html( + Tag("li", {}, [ + Tag( "a", { class: () => `block w-full ${cursor() === i ? "active bg-primary text-primary-content" : ""}`, @@ -88,7 +88,7 @@ export const Autocomplete = (props) => { ]), (opt, i) => (typeof opt === "string" ? opt : opt.value) + i, ), - () => (list().length ? null : $html("li", { class: "p-2 text-center opacity-50" }, "No results")), + () => (list().length ? null : Tag("li", { class: "p-2 text-center opacity-50" }, "No results")), ], ), ]); diff --git a/src/components_OLD/Badge.js b/src/components_OLD/Badge.js index 609e5ec..56fb0b9 100644 --- a/src/components_OLD/Badge.js +++ b/src/components_OLD/Badge.js @@ -1,6 +1,6 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** BADGE */ export const Badge = (props, children) => - $html("span", { ...props, class: joinClass("badge", props.class) }, children); + Tag("span", { ...props, class: joinClass("badge", props.class) }, children); diff --git a/src/components_OLD/Button.js b/src/components_OLD/Button.js index d26b134..cbb9a76 100644 --- a/src/components_OLD/Button.js +++ b/src/components_OLD/Button.js @@ -1,19 +1,19 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** BUTTON */ export const Button = (props, children) => { const { badge, badgeClass, tooltip, icon, loading, ...rest } = props; - const btn = $html( + const btn = Tag( "button", { ...rest, class: joinClass("btn", props.class) }, [ - () => (val(loading) ? $html("span", { class: "loading loading-spinner" }) : null), - icon ? $html("span", { class: "mr-1" }, icon) : null, + () => (val(loading) ? Tag("span", { class: "loading loading-spinner" }) : null), + icon ? Tag("span", { class: "mr-1" }, icon) : null, children, ] ); @@ -21,8 +21,8 @@ export const Button = (props, children) => { let out = btn; if (badge) { - out = $html("div", { class: "indicator" }, [ - $html( + out = Tag("div", { class: "indicator" }, [ + Tag( "span", { class: joinClass("indicator-item badge", badgeClass || "badge-secondary") }, badge @@ -32,6 +32,6 @@ export const Button = (props, children) => { } return tooltip - ? $html("div", { class: "tooltip", "data-tip": tooltip }, out) + ? Tag("div", { class: "tooltip", "data-tip": tooltip }, out) : out; }; diff --git a/src/components_OLD/Checkbox.js b/src/components_OLD/Checkbox.js index 863cba4..16b2bcd 100644 --- a/src/components_OLD/Checkbox.js +++ b/src/components_OLD/Checkbox.js @@ -1,21 +1,21 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val } from "../core/utils.js"; /** CHECKBOX */ export const Checkbox = (props) => { const { value, tooltip, toggle, label, ...rest } = props; - const checkEl = $html("input", { + const checkEl = Tag("input", { ...rest, type: "checkbox", class: () => (val(toggle) ? "toggle" : "checkbox"), checked: value }); - const layout = $html("label", { class: "label cursor-pointer justify-start gap-3" }, [ + const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, - label ? $html("span", { class: "label-text" }, label) : null, + label ? Tag("span", { class: "label-text" }, label) : null, ]); - return tooltip ? $html("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; diff --git a/src/components_OLD/Colorpicker.js b/src/components_OLD/Colorpicker.js index 6e3f979..1b5b8b0 100644 --- a/src/components_OLD/Colorpicker.js +++ b/src/components_OLD/Colorpicker.js @@ -1,4 +1,4 @@ -import { $, $html, $if } from "sigpro"; +import { $, Tag, If } from "sigpro"; import { val } from "../core/utils.js"; /** COLORPICKER */ @@ -19,8 +19,8 @@ export const Colorpicker = (props) => { const getColor = () => val(value) || "#000000"; - return $html("div", { class: "relative w-fit" }, [ - $html( + return Tag("div", { class: "relative w-fit" }, [ + Tag( "button", { type: "button", @@ -32,27 +32,27 @@ export const Colorpicker = (props) => { ...rest, }, [ - $html("div", { + Tag("div", { class: "size-5 rounded-sm shadow-inner border border-black/10 shrink-0", style: () => `background-color: ${getColor()}`, }), - label ? $html("span", { class: "opacity-80" }, label) : null, + label ? Tag("span", { class: "opacity-80" }, label) : null, ], ), - $if(isOpen, () => - $html( + If(isOpen, () => + Tag( "div", { class: "absolute left-0 mt-2 p-3 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[110] w-64 select-none", onclick: (e) => e.stopPropagation(), }, [ - $html( + Tag( "div", { class: "grid grid-cols-8 gap-1" }, palette.map((c) => - $html("button", { + Tag("button", { type: "button", style: `background-color: ${c}`, class: () => { @@ -71,8 +71,8 @@ export const Colorpicker = (props) => { ), ), - $if(isOpen, () => - $html("div", { + If(isOpen, () => + Tag("div", { class: "fixed inset-0 z-[100]", onclick: () => isOpen(false), }), diff --git a/src/components_OLD/Datepicker.js b/src/components_OLD/Datepicker.js index 91d7f11..16c6ef7 100644 --- a/src/components_OLD/Datepicker.js +++ b/src/components_OLD/Datepicker.js @@ -1,4 +1,4 @@ -import { $, $html, $if } from "sigpro"; +import { $, Tag, If } from "sigpro"; import { val } from "../core/utils.js"; import { iconCalendar, @@ -93,9 +93,9 @@ export const Datepicker = (props) => { }; const HourSlider = ({ value: hVal, onChange }) => { - return $html("div", { class: "flex-1" }, [ - $html("div", { class: "flex gap-2 items-center" }, [ - $html("input", { + return Tag("div", { class: "flex-1" }, [ + Tag("div", { class: "flex gap-2 items-center" }, [ + Tag("input", { type: "range", min: 0, max: 23, @@ -106,20 +106,20 @@ export const Datepicker = (props) => { onChange(newHour); }, }), - $html("span", { class: "text-sm font-mono min-w-[48px] text-center" }, + Tag("span", { class: "text-sm font-mono min-w-[48px] text-center" }, () => String(val(hVal)).padStart(2, "0") + ":00" ), ]), ]); }; - return $html("div", { class: "relative w-full" }, [ + return Tag("div", { class: "relative w-full" }, [ Input({ label, placeholder: placeholder || (isRangeMode() ? "Seleccionar rango..." : "Seleccionar fecha..."), value: displayValue, readonly: true, - icon: $html("img", { src: iconCalendar, class: "opacity-40" }), + icon: Tag("img", { src: iconCalendar, class: "opacity-40" }), onclick: (e) => { e.stopPropagation(); isOpen(!isOpen()); @@ -127,38 +127,38 @@ export const Datepicker = (props) => { ...rest, }), - $if(isOpen, () => - $html( + If(isOpen, () => + Tag( "div", { class: "absolute left-0 mt-2 p-4 bg-base-100 border border-base-300 shadow-2xl rounded-box z-[100] w-80 select-none", onclick: (e) => e.stopPropagation(), }, [ - $html("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ - $html("div", { class: "flex gap-0.5" }, [ - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, - $html("img", { src: iconLLeft, class: "opacity-40" }) + Tag("div", { class: "flex justify-between items-center mb-4 gap-1" }, [ + Tag("div", { class: "flex gap-0.5" }, [ + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(-1) }, + Tag("img", { src: iconLLeft, class: "opacity-40" }) ), - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, - $html("img", { src: iconLeft, class: "opacity-40" }) + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(-1) }, + Tag("img", { src: iconLeft, class: "opacity-40" }) ), ]), - $html("span", { class: "font-bold uppercase flex-1 text-center" }, [ + Tag("span", { class: "font-bold uppercase flex-1 text-center" }, [ () => internalDate().toLocaleString("es-ES", { month: "short", year: "numeric" }), ]), - $html("div", { class: "flex gap-0.5" }, [ - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, - $html("img", { src: iconRight, class: "opacity-40" }) + Tag("div", { class: "flex gap-0.5" }, [ + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => move(1) }, + Tag("img", { src: iconRight, class: "opacity-40" }) ), - $html("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, - $html("img", { src: iconRRight, class: "opacity-40" }) + Tag("button", { type: "button", class: "btn btn-ghost btn-xs px-1", onclick: () => moveYear(1) }, + Tag("img", { src: iconRRight, class: "opacity-40" }) ), ]), ]), - $html("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ - ...["L", "M", "X", "J", "V", "S", "D"].map((d) => $html("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), + Tag("div", { class: "grid grid-cols-7 gap-1", onmouseleave: () => hoverDate(null) }, [ + ...["L", "M", "X", "J", "V", "S", "D"].map((d) => Tag("div", { class: "text-[10px] opacity-40 font-bold text-center" }, d)), () => { const d = internalDate(); const year = d.getFullYear(); @@ -168,14 +168,14 @@ export const Datepicker = (props) => { const daysInMonth = new Date(year, month + 1, 0).getDate(); const nodes = []; - for (let i = 0; i < offset; i++) nodes.push($html("div")); + for (let i = 0; i < offset; i++) nodes.push(Tag("div")); for (let i = 1; i <= daysInMonth; i++) { const date = new Date(year, month, i); const dStr = formatDate(date); nodes.push( - $html( + Tag( "button", { type: "button", @@ -212,9 +212,9 @@ export const Datepicker = (props) => { }, ]), - hour ? $html("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ + hour ? Tag("div", { class: "mt-3 pt-2 border-t border-base-300" }, [ isRangeMode() - ? $html("div", { class: "flex gap-4" }, [ + ? Tag("div", { class: "flex gap-4" }, [ HourSlider({ value: startHour, onChange: (newHour) => { @@ -247,6 +247,6 @@ export const Datepicker = (props) => { ), ), - $if(isOpen, () => $html("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })), + If(isOpen, () => Tag("div", { class: "fixed inset-0 z-[90]", onclick: () => isOpen(false) })), ]); }; diff --git a/src/components_OLD/Drawer.js b/src/components_OLD/Drawer.js index 7892741..c01a095 100644 --- a/src/components_OLD/Drawer.js +++ b/src/components_OLD/Drawer.js @@ -1,18 +1,18 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** DRAWER */ export const Drawer = (props) => - $html("div", { class: joinClass("drawer", props.class) }, [ - $html("input", { + Tag("div", { class: joinClass("drawer", props.class) }, [ + Tag("input", { id: props.id, type: "checkbox", class: "drawer-toggle", checked: props.open, }), - $html("div", { class: "drawer-content" }, props.content), - $html("div", { class: "drawer-side" }, [ - $html("label", { for: props.id, class: "drawer-overlay", onclick: () => props.open?.(false) }), - $html("div", { class: "min-h-full bg-base-200 w-80" }, props.side), + Tag("div", { class: "drawer-content" }, props.content), + Tag("div", { class: "drawer-side" }, [ + Tag("label", { for: props.id, class: "drawer-overlay", onclick: () => props.open?.(false) }), + Tag("div", { class: "min-h-full bg-base-200 w-80" }, props.side), ]), ]); diff --git a/src/components_OLD/Dropdown.js b/src/components_OLD/Dropdown.js index fdbbf60..f96c732 100644 --- a/src/components_OLD/Dropdown.js +++ b/src/components_OLD/Dropdown.js @@ -1,4 +1,4 @@ -import { $html, $for } from "sigpro"; +import { Tag, For } from "sigpro"; import { val } from "../core/utils.js"; export const Dropdown = (props, children) => { @@ -7,28 +7,28 @@ export const Dropdown = (props, children) => { const renderContent = () => { if (items) { const source = typeof items === "function" ? items : () => items; - return $html("ul", { + return Tag("ul", { tabindex: 0, class: "dropdown-content z-[50] menu p-2 shadow bg-base-100 rounded-box w-52 border border-base-300" }, [ - $for(source, (item) => - $html("li", {}, [ - $html("a", { + For(source, (item) => + Tag("li", {}, [ + Tag("a", { class: item.class || "", onclick: (e) => { if (item.onclick) item.onclick(e); if (document.activeElement) document.activeElement.blur(); } }, [ - item.icon ? $html("span", {}, item.icon) : null, - $html("span", {}, item.label) + item.icon ? Tag("span", {}, item.icon) : null, + Tag("span", {}, item.label) ]) ]) ) ]); } - return $html("div", { + return Tag("div", { tabindex: 0, class: "dropdown-content z-[50] p-2 shadow bg-base-100 rounded-box min-w-max border border-base-300" }, [ @@ -36,11 +36,11 @@ export const Dropdown = (props, children) => { ]); }; - return $html("div", { + return Tag("div", { ...rest, class: () => `dropdown ${val(props.class) || ""}`, }, [ - $html("div", { + Tag("div", { tabindex: 0, role: "button", class: "btn m-1 flex items-center gap-2", diff --git a/src/components_OLD/Fab.js b/src/components_OLD/Fab.js index da09437..27acd2a 100644 --- a/src/components_OLD/Fab.js +++ b/src/components_OLD/Fab.js @@ -1,18 +1,18 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val } from "../core/utils.js"; /** FAB (Floating Action Button) */ export const Fab = (props) => { const { icon, label, actions = [], position = "bottom-6 right-6", class: className = "", ...rest } = props; - return $html( + return Tag( "div", { ...rest, class: `fab absolute ${position} flex flex-col-reverse items-end gap-3 z-[100] ${className}`, }, [ - $html( + Tag( "div", { tabindex: 0, @@ -26,9 +26,9 @@ export const Fab = (props) => { ), ...val(actions).map((act) => - $html("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ - act.label ? $html("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, - $html( + Tag("div", { class: "flex items-center gap-3 transition-all duration-300" }, [ + act.label ? Tag("span", { class: "badge badge-ghost shadow-sm whitespace-nowrap" }, act.label) : null, + Tag( "button", { type: "button", diff --git a/src/components_OLD/Fieldset.js b/src/components_OLD/Fieldset.js index b3efff2..07c07fe 100644 --- a/src/components_OLD/Fieldset.js +++ b/src/components_OLD/Fieldset.js @@ -1,9 +1,9 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** FIELDSET */ export const Fieldset = (props, children) => - $html( + Tag( "fieldset", { ...props, @@ -12,7 +12,7 @@ export const Fieldset = (props, children) => [ () => { const legendText = val(props.legend); - return legendText ? $html("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; + return legendText ? Tag("legend", { class: "fieldset-legend font-bold" }, [legendText]) : null; }, children, ], diff --git a/src/components_OLD/Fileinput.js b/src/components_OLD/Fileinput.js index 4c3e751..00b314d 100644 --- a/src/components_OLD/Fileinput.js +++ b/src/components_OLD/Fileinput.js @@ -1,4 +1,4 @@ -import { $, $html, $if, $for } from "sigpro"; +import { $, Tag, If, For } from "sigpro"; import { iconUpload, iconClose } from "../core/icons.js"; /** FILEINPUT */ @@ -30,15 +30,15 @@ export const Fileinput = (props) => { onSelect?.(updated); }; - return $html("fieldset", { class: "fieldset w-full p-0" }, [ - $html( + return Tag("fieldset", { class: "fieldset w-full p-0" }, [ + Tag( "div", { class: () => `w-full ${tooltip ? "tooltip tooltip-top before:z-50 after:z-50" : ""}`, "data-tip": tooltip, }, [ - $html( + Tag( "label", { class: () => ` @@ -59,12 +59,12 @@ export const Fileinput = (props) => { }, }, [ - $html("div", { class: "flex items-center gap-3 w-full" }, [ - $html("img", { src: iconUpload, class: "w-5 h-5 opacity-50 shrink-0" }), - $html("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), - $html("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`), + Tag("div", { class: "flex items-center gap-3 w-full" }, [ + Tag("img", { src: iconUpload, class: "w-5 h-5 opacity-50 shrink-0" }), + Tag("span", { class: "text-sm opacity-70 truncate grow text-left" }, "Arrastra o selecciona archivos..."), + Tag("span", { class: "text-[10px] opacity-40 shrink-0" }, `Máx ${max}MB`), ]), - $html("input", { + Tag("input", { type: "file", multiple: true, accept: accept, @@ -76,22 +76,22 @@ export const Fileinput = (props) => { ], ), - () => (error() ? $html("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null), + () => (error() ? Tag("span", { class: "text-[10px] text-error mt-1 px-1 font-medium" }, error()) : null), - $if( + If( () => selectedFiles().length > 0, () => - $html("ul", { class: "mt-2 space-y-1" }, [ - $for( + Tag("ul", { class: "mt-2 space-y-1" }, [ + For( selectedFiles, (file, index) => - $html("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ - $html("div", { class: "flex items-center gap-2 truncate" }, [ - $html("span", { class: "opacity-50" }, "📄"), - $html("span", { class: "truncate font-medium max-w-[200px]" }, file.name), - $html("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`), + Tag("li", { class: "flex items-center justify-between p-1.5 pl-3 text-xs bg-base-200/50 rounded-md border border-base-300" }, [ + Tag("div", { class: "flex items-center gap-2 truncate" }, [ + Tag("span", { class: "opacity-50" }, "📄"), + Tag("span", { class: "truncate font-medium max-w-[200px]" }, file.name), + Tag("span", { class: "text-[9px] opacity-40" }, `(${(file.size / 1024).toFixed(0)} KB)`), ]), - $html( + Tag( "button", { type: "button", @@ -102,7 +102,7 @@ export const Fileinput = (props) => { removeFile(index); }, }, - [$html("img", { src: iconClose, class: "w-3 h-3 opacity-70" })], + [Tag("img", { src: iconClose, class: "w-3 h-3 opacity-70" })], ), ]), (file) => file.name + file.lastModified, diff --git a/src/components_OLD/Indicator.js b/src/components_OLD/Indicator.js index 271c4b3..487a40e 100644 --- a/src/components_OLD/Indicator.js +++ b/src/components_OLD/Indicator.js @@ -1,8 +1,8 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { ui } from "../core/utils.js"; export const Indicator = (props, children) => - $html("div", { class: "indicator" }, [ + Tag("div", { class: "indicator" }, [ children, - props.value && $html("span", { class: ui('badge', props.ui, props.class) }, props.value), + props.value && Tag("span", { class: ui('badge', props.ui, props.class) }, props.value), ]); diff --git a/src/components_OLD/Input.js b/src/components_OLD/Input.js index 1dc49ff..a95b8eb 100644 --- a/src/components_OLD/Input.js +++ b/src/components_OLD/Input.js @@ -1,4 +1,4 @@ -import { $, $html } from "sigpro"; +import { $, Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; import { tt } from "../core/i18n.js"; import { @@ -25,7 +25,7 @@ export const Input = (props) => { email: iconMail, }; - const inputEl = $html("input", { + const inputEl = Tag("input", { ...rest, type: () => (isPassword ? (visible() ? "text" : "password") : type), placeholder: props.placeholder || label || (isSearch ? tt("search")() : " "), @@ -35,19 +35,19 @@ export const Input = (props) => { disabled: () => val(props.disabled), }); - const leftIcon = icon ? icon : iconsByType[type] ? $html("img", { src: iconsByType[type], class: "opacity-50", alt: type }) : null; + const leftIcon = icon ? icon : iconsByType[type] ? Tag("img", { src: iconsByType[type], class: "opacity-50", alt: type }) : null; - return $html( + return Tag( "label", { class: () => joinClass("input input-bordered floating-label flex items-center gap-2 w-full relative", val(error) ? "input-error" : ""), }, [ - leftIcon ? $html("div", { class: "order-1 shrink-0" }, leftIcon) : null, - label ? $html("span", { class: "text-base-content/60 order-0" }, label) : null, + leftIcon ? Tag("div", { class: "order-1 shrink-0" }, leftIcon) : null, + label ? Tag("span", { class: "text-base-content/60 order-0" }, label) : null, inputEl, isPassword - ? $html( + ? Tag( "button", { type: "button", @@ -58,20 +58,20 @@ export const Input = (props) => { }, }, () => - $html("img", { + Tag("img", { class: "w-5 h-5", src: visible() ? iconShow : iconHide, }), ) : null, tip - ? $html( + ? Tag( "div", { class: "tooltip tooltip-left order-4", "data-tip": tip }, - $html("span", { class: "badge badge-ghost badge-xs cursor-help" }, "?"), + Tag("span", { class: "badge badge-ghost badge-xs cursor-help" }, "?"), ) : null, - () => (val(error) ? $html("span", { class: "text-error text-[10px] absolute -bottom-5 left-2" }, val(error)) : null), + () => (val(error) ? Tag("span", { class: "text-error text-[10px] absolute -bottom-5 left-2" }, val(error)) : null), ], ); }; diff --git a/src/components_OLD/List.js b/src/components_OLD/List.js index f96a60d..6229672 100644 --- a/src/components_OLD/List.js +++ b/src/components_OLD/List.js @@ -1,4 +1,4 @@ -import { $html, $if, $for } from "sigpro"; +import { Tag, If, For } from "sigpro"; import { joinClass, val } from "../core/utils.js"; /** LIST */ @@ -12,18 +12,18 @@ export const List = (props) => { ...rest } = props; - const listItems = $for( + const listItems = For( items, - (item, index) => $html("li", { class: "list-row" }, [render(item, index)]), + (item, index) => Tag("li", { class: "list-row" }, [render(item, index)]), keyFn ); - return $html( + return Tag( "ul", { ...rest, class: joinClass("list bg-base-100 rounded-box shadow-md", className), }, - header ? [$if(header, () => $html("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems + header ? [If(header, () => Tag("li", { class: "p-4 pb-2 text-xs opacity-60" }, [val(header)])), listItems] : listItems ); }; \ No newline at end of file diff --git a/src/components_OLD/Loading.js b/src/components_OLD/Loading.js index 902c631..a4c8d24 100644 --- a/src/components_OLD/Loading.js +++ b/src/components_OLD/Loading.js @@ -1,13 +1,13 @@ -import { $html, $if } from "sigpro"; +import { Tag, If } from "sigpro"; /** LOADING (Overlay Component) */ export const Loading = (props) => { // Se espera un signal props.$show para controlar la visibilidad - return $if(props.$show, () => - $html("div", { + return If(props.$show, () => + Tag("div", { class: "fixed inset-0 z-[100] flex items-center justify-center backdrop-blur-sm bg-base-100/30" }, [ - $html("span", { class: "loading loading-spinner loading-lg text-primary" }), + Tag("span", { class: "loading loading-spinner loading-lg text-primary" }), ]), ); }; diff --git a/src/components_OLD/Menu.js b/src/components_OLD/Menu.js index ca93792..f17d63f 100644 --- a/src/components_OLD/Menu.js +++ b/src/components_OLD/Menu.js @@ -1,25 +1,25 @@ -import { $html, $for } from "sigpro"; +import { Tag, For } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** MENU */ export const Menu = (props) => { const renderItems = (items) => - $for( + For( () => items || [], (it) => - $html("li", {}, [ + Tag("li", {}, [ it.children - ? $html("details", { open: it.open }, [ - $html("summary", {}, [it.icon && $html("span", { class: "mr-2" }, it.icon), it.label]), - $html("ul", {}, renderItems(it.children)), + ? Tag("details", { open: it.open }, [ + Tag("summary", {}, [it.icon && Tag("span", { class: "mr-2" }, it.icon), it.label]), + Tag("ul", {}, renderItems(it.children)), ]) - : $html("a", { class: () => (val(it.active) ? "active" : ""), onclick: it.onclick }, [ - it.icon && $html("span", { class: "mr-2" }, it.icon), + : Tag("a", { class: () => (val(it.active) ? "active" : ""), onclick: it.onclick }, [ + it.icon && Tag("span", { class: "mr-2" }, it.icon), it.label, ]), ]), (it, i) => it.label || i, ); - return $html("ul", { ...props, class: joinClass("menu bg-base-200 rounded-box", props.class) }, renderItems(props.items)); + return Tag("ul", { ...props, class: joinClass("menu bg-base-200 rounded-box", props.class) }, renderItems(props.items)); }; diff --git a/src/components_OLD/Modal.js b/src/components_OLD/Modal.js index 747971a..2dbdc6f 100644 --- a/src/components_OLD/Modal.js +++ b/src/components_OLD/Modal.js @@ -1,4 +1,4 @@ -import { $html, $watch } from "sigpro"; +import { Tag, Watch } from "sigpro"; import { tt } from "../core/i18n.js"; import { Button } from "./Button.js"; @@ -8,7 +8,7 @@ export const Modal = (props, children) => { const dialogRef = { current: null }; // Sincronizamos la señal con los métodos nativos del navegador - $watch(() => { + Watch(() => { const dialog = dialogRef.current; if (!dialog) return; @@ -25,30 +25,30 @@ export const Modal = (props, children) => { open(false); }; - return $html("dialog", { + return Tag("dialog", { ...rest, ref: dialogRef, class: "modal", // Importante: Si el usuario pulsa ESC, actualizamos la señal oncancel: () => open(false) }, [ - $html("div", { class: "modal-box" }, [ - title ? $html("h3", { class: "text-lg font-bold mb-4" }, title) : null, - $html("div", { class: "py-2" }, [ + Tag("div", { class: "modal-box" }, [ + title ? Tag("h3", { class: "text-lg font-bold mb-4" }, title) : null, + Tag("div", { class: "py-2" }, [ typeof children === "function" ? children() : children ]), - $html("div", { class: "modal-action flex gap-2" }, [ + Tag("div", { class: "modal-action flex gap-2" }, [ ...(Array.isArray(buttons) ? buttons : [buttons]).filter(Boolean), Button({ type: "button", onclick: close }, tt("close")()), ]), ]), // Backdrop nativo que sincroniza con la señal - $html("form", { + Tag("form", { method: "dialog", class: "modal-backdrop", onsubmit: close }, [ - $html("button", {}, "close") + Tag("button", {}, "close") ]) ]); }; \ No newline at end of file diff --git a/src/components_OLD/Navbar.js b/src/components_OLD/Navbar.js index 3bb99fc..0f59f26 100644 --- a/src/components_OLD/Navbar.js +++ b/src/components_OLD/Navbar.js @@ -1,6 +1,6 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** NAVBAR */ export const Navbar = (props, children) => - $html("div", { ...props, class: joinClass("navbar bg-base-100 shadow-sm px-4", props.class) }, children); + Tag("div", { ...props, class: joinClass("navbar bg-base-100 shadow-sm px-4", props.class) }, children); diff --git a/src/components_OLD/Radio.js b/src/components_OLD/Radio.js index 8460376..c8e6773 100644 --- a/src/components_OLD/Radio.js +++ b/src/components_OLD/Radio.js @@ -1,11 +1,11 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** RADIO */ export const Radio = (props) => { const { label, tooltip, value, inputValue, name, ...rest } = props; - const radioEl = $html("input", { + const radioEl = Tag("input", { ...rest, type: "radio", name: name, @@ -18,8 +18,8 @@ export const Radio = (props) => { if (!label && !tooltip) return radioEl; - return $html("label", { class: "label cursor-pointer justify-start gap-3" }, [ + return Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ radioEl, - label ? $html("span", { class: "label-text" }, label) : null, + label ? Tag("span", { class: "label-text" }, label) : null, ]); }; \ No newline at end of file diff --git a/src/components_OLD/Range.js b/src/components_OLD/Range.js index 35d4721..3c91188 100644 --- a/src/components_OLD/Range.js +++ b/src/components_OLD/Range.js @@ -1,11 +1,11 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** RANGE */ export const Range = (props) => { const { label, tooltip, value, ...rest } = props; - const rangeEl = $html("input", { + const rangeEl = Tag("input", { ...rest, type: "range", class: joinClass("range", props.class), @@ -15,10 +15,10 @@ export const Range = (props) => { if (!label && !tooltip) return rangeEl; - const layout = $html("div", { class: "flex flex-col gap-2" }, [ - label ? $html("span", { class: "label-text" }, label) : null, + const layout = Tag("div", { class: "flex flex-col gap-2" }, [ + label ? Tag("span", { class: "label-text" }, label) : null, rangeEl ]); - return tooltip ? $html("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; + return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; diff --git a/src/components_OLD/Rating.js b/src/components_OLD/Rating.js index d5ce564..9fba29f 100644 --- a/src/components_OLD/Rating.js +++ b/src/components_OLD/Rating.js @@ -1,4 +1,4 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val } from "../core/utils.js"; /** RATING */ @@ -6,7 +6,7 @@ export const Rating = (props) => { const { value, count = 5, mask = "mask-star", readonly = false, onchange, ...rest } = props; const ratingGroup = `rating-${Math.random().toString(36).slice(2, 7)}`; - return $html( + return Tag( "div", { ...rest, @@ -14,7 +14,7 @@ export const Rating = (props) => { }, Array.from({ length: val(count) }, (_, i) => { const starValue = i + 1; - return $html("input", { + return Tag("input", { type: "radio", name: ratingGroup, class: `mask ${mask}`, diff --git a/src/components_OLD/Select.js b/src/components_OLD/Select.js index f215fb3..c5b2a73 100644 --- a/src/components_OLD/Select.js +++ b/src/components_OLD/Select.js @@ -1,21 +1,21 @@ -import { $html, $for } from "sigpro"; +import { Tag, For } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** SELECT */ export const Select = (props) => { const { label, options, value, ...rest } = props; - const selectEl = $html( + const selectEl = Tag( "select", { ...rest, class: joinClass("select select-bordered w-full", props.class), value: value }, - $for( + For( () => val(options) || [], (opt) => - $html( + Tag( "option", { value: opt.value, @@ -29,8 +29,8 @@ export const Select = (props) => { if (!label) return selectEl; - return $html("label", { class: "fieldset-label flex flex-col gap-1" }, [ - $html("span", {}, label), + return Tag("label", { class: "fieldset-label flex flex-col gap-1" }, [ + Tag("span", {}, label), selectEl ]); }; diff --git a/src/components_OLD/Stack.js b/src/components_OLD/Stack.js index 6472402..7a29831 100644 --- a/src/components_OLD/Stack.js +++ b/src/components_OLD/Stack.js @@ -1,6 +1,6 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** STACK */ export const Stack = (props, children) => - $html("div", { ...props, class: joinClass("stack", props.class) }, children); + Tag("div", { ...props, class: joinClass("stack", props.class) }, children); diff --git a/src/components_OLD/Stat.js b/src/components_OLD/Stat.js index e1c5d1e..6562060 100644 --- a/src/components_OLD/Stat.js +++ b/src/components_OLD/Stat.js @@ -1,11 +1,11 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** STAT */ export const Stat = (props) => - $html("div", { ...props, class: joinClass("stat", props.class) }, [ - props.icon && $html("div", { class: "stat-figure text-secondary" }, props.icon), - props.label && $html("div", { class: "stat-title" }, props.label), - $html("div", { class: "stat-value" }, () => val(props.value) ?? props.value), - props.desc && $html("div", { class: "stat-desc" }, props.desc), + Tag("div", { ...props, class: joinClass("stat", props.class) }, [ + props.icon && Tag("div", { class: "stat-figure text-secondary" }, props.icon), + props.label && Tag("div", { class: "stat-title" }, props.label), + Tag("div", { class: "stat-value" }, () => val(props.value) ?? props.value), + props.desc && Tag("div", { class: "stat-desc" }, props.desc), ]); diff --git a/src/components_OLD/Swap.js b/src/components_OLD/Swap.js index e8cfe04..ac7f32f 100644 --- a/src/components_OLD/Swap.js +++ b/src/components_OLD/Swap.js @@ -1,13 +1,13 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** SWAP */ export const Swap = (props) => - $html("label", { class: joinClass("swap", props.class) }, [ - $html("input", { + Tag("label", { class: joinClass("swap", props.class) }, [ + Tag("input", { type: "checkbox", checked: props.value }), - $html("div", { class: "swap-on" }, props.on), - $html("div", { class: "swap-off" }, props.off), + Tag("div", { class: "swap-on" }, props.on), + Tag("div", { class: "swap-off" }, props.off), ]); diff --git a/src/components_OLD/Table.js b/src/components_OLD/Table.js index aad76fe..0c97331 100644 --- a/src/components_OLD/Table.js +++ b/src/components_OLD/Table.js @@ -1,4 +1,4 @@ -import { $html, $for, $if } from "sigpro"; +import { Tag, For, If } from "sigpro"; import { val, joinClass } from "../core/utils.js"; import { tt } from "../core/i18n.js"; @@ -19,39 +19,39 @@ export const Table = (props) => { `${val(zebra) ? "table-zebra" : ""} ${val(pinRows) ? "table-pin-rows" : ""} ${props.class || ""}` ); - return $html("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ - $html("table", { ...rest, class: tableClass }, [ - $html("thead", {}, [ - $html("tr", {}, - columns.map(col => $html("th", { class: col.class || "" }, col.label)) + return Tag("div", { class: "overflow-x-auto w-full bg-base-100 rounded-box border border-base-300" }, [ + Tag("table", { ...rest, class: tableClass }, [ + Tag("thead", {}, [ + Tag("tr", {}, + columns.map(col => Tag("th", { class: col.class || "" }, col.label)) ) ]), - $html("tbody", {}, [ - $for(items, (item, index) => { - return $html("tr", { class: "hover" }, + Tag("tbody", {}, [ + For(items, (item, index) => { + return Tag("tr", { class: "hover" }, columns.map(col => { const cellContent = () => { if (col.render) return col.render(item, index); const value = item[col.key]; return val(value); }; - return $html("td", { class: col.class || "" }, [cellContent]); + return Tag("td", { class: col.class || "" }, [cellContent]); }) ); }, keyFn || ((item, idx) => item.id || idx)), - $if(() => val(items).length === 0, () => - $html("tr", {}, [ - $html("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ + If(() => val(items).length === 0, () => + Tag("tr", {}, [ + Tag("td", { colspan: columns.length, class: "text-center p-10 opacity-50" }, [ val(empty) ]) ]) ) ]), - $if(() => columns.some(c => c.footer), () => - $html("tfoot", {}, [ - $html("tr", {}, - columns.map(col => $html("th", {}, col.footer || "")) + If(() => columns.some(c => c.footer), () => + Tag("tfoot", {}, [ + Tag("tr", {}, + columns.map(col => Tag("th", {}, col.footer || "")) ) ]) ) diff --git a/src/components_OLD/Tabs.js b/src/components_OLD/Tabs.js index e8ab9aa..6f85fba 100644 --- a/src/components_OLD/Tabs.js +++ b/src/components_OLD/Tabs.js @@ -1,4 +1,4 @@ -import { $html, $for } from "sigpro"; +import { Tag, For } from "sigpro"; import { val, joinClass } from "../core/utils.js"; /** TABS */ @@ -6,17 +6,17 @@ export const Tabs = (props) => { const { items, ...rest } = props; const itemsSignal = typeof items === "function" ? items : () => items || []; - return $html("div", { ...rest, class: "flex flex-col gap-4 w-full" }, [ - $html( + return Tag("div", { ...rest, class: "flex flex-col gap-4 w-full" }, [ + Tag( "div", { role: "tablist", class: joinClass("tabs tabs-box", props.class), }, - $for( + For( itemsSignal, (it) => - $html( + Tag( "a", { role: "tab", @@ -38,7 +38,7 @@ export const Tabs = (props) => { const active = itemsSignal().find((it) => val(it.active)); if (!active) return null; const content = val(active.content); - return $html("div", { class: "p-4" }, [ + return Tag("div", { class: "p-4" }, [ typeof content === "function" ? content() : content ]); }, diff --git a/src/components_OLD/Timeline.js b/src/components_OLD/Timeline.js index 0d6bab5..adadde9 100644 --- a/src/components_OLD/Timeline.js +++ b/src/components_OLD/Timeline.js @@ -1,4 +1,4 @@ -import { $html, $for } from "sigpro"; +import { Tag, For } from "sigpro"; import { val } from "../core/utils.js"; import { iconInfo, iconSuccess, iconWarning, iconError } from "../core/icons.js"; @@ -13,7 +13,7 @@ export const Timeline = (props) => { error: iconError, }; - return $html( + return Tag( "ul", { ...rest, @@ -23,7 +23,7 @@ export const Timeline = (props) => { } ${props.class || ""}`, }, [ - $for( + For( items, (item, i) => { const isFirst = i === 0; @@ -31,18 +31,18 @@ export const Timeline = (props) => { const itemType = item.type || "success"; const renderSlot = (content) => (typeof content === "function" ? content() : content); - return $html("li", { class: "flex-1" }, [ - !isFirst ? $html("hr", { class: item.completed ? "bg-primary" : "" }) : null, - $html("div", { class: "timeline-start" }, [renderSlot(item.title)]), - $html("div", { class: "timeline-middle" }, [ - $html("img", { + return Tag("li", { class: "flex-1" }, [ + !isFirst ? Tag("hr", { class: item.completed ? "bg-primary" : "" }) : null, + Tag("div", { class: "timeline-start" }, [renderSlot(item.title)]), + Tag("div", { class: "timeline-middle" }, [ + Tag("img", { src: icons[itemType] || item.icon || icons.success, class: "w-4 h-4 object-contain mx-1", alt: itemType, }), ]), - $html("div", { class: "timeline-end timeline-box shadow-sm" }, [renderSlot(item.detail)]), - !isLast ? $html("hr", { class: item.completed ? "bg-primary" : "" }) : null, + Tag("div", { class: "timeline-end timeline-box shadow-sm" }, [renderSlot(item.detail)]), + !isLast ? Tag("hr", { class: item.completed ? "bg-primary" : "" }) : null, ]); }, (item, i) => item.id || i, diff --git a/src/components_OLD/Toast.js b/src/components_OLD/Toast.js index 3d82b35..9878f78 100644 --- a/src/components_OLD/Toast.js +++ b/src/components_OLD/Toast.js @@ -1,4 +1,4 @@ -import { $html, $mount } from "sigpro"; +import { Tag, Mount } from "sigpro"; import { Button } from "./Button.js"; /** TOAST (Imperative Function) */ @@ -7,14 +7,14 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { // Crear el contenedor global si no existe if (!container) { - container = $html("div", { + container = Tag("div", { id: "sigpro-toast-container", class: "fixed top-0 right-0 z-[9999] p-4 flex flex-col gap-2 pointer-events-none", }); document.body.appendChild(container); } - const toastHost = $html("div", { style: "display: contents" }); + const toastHost = Tag("div", { style: "display: contents" }); container.appendChild(toastHost); let timeoutId; @@ -37,13 +37,13 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { }; const ToastComponent = () => { - const el = $html( + const el = Tag( "div", { class: `alert alert-soft ${type} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`, }, [ - $html("span", {}, [typeof message === "function" ? message() : message]), + Tag("span", {}, [typeof message === "function" ? message() : message]), Button({ class: "btn-xs btn-circle btn-ghost", onclick: close }, "✕") ], ); @@ -53,7 +53,7 @@ export const Toast = (message, type = "alert-success", duration = 3500) => { return el; }; - const instance = $mount(ToastComponent, toastHost); + const instance = Mount(ToastComponent, toastHost); if (duration > 0) { timeoutId = setTimeout(close, duration); diff --git a/src/components_OLD/Tooltip.js b/src/components_OLD/Tooltip.js index 29a79db..90b6893 100644 --- a/src/components_OLD/Tooltip.js +++ b/src/components_OLD/Tooltip.js @@ -1,6 +1,6 @@ -import { $html } from "sigpro"; +import { Tag } from "sigpro"; import { joinClass } from "../core/utils.js"; /** TOOLTIP */ export const Tooltip = (props, children) => - $html("div", { ...props, class: joinClass("tooltip", props.class), "data-tip": props.tip }, children); + Tag("div", { ...props, class: joinClass("tooltip", props.class), "data-tip": props.tip }, children); diff --git a/src/core/utils.js b/src/core/utils.js index e1112ca..59a1621 100644 --- a/src/core/utils.js +++ b/src/core/utils.js @@ -1,5 +1,5 @@ // core/utils.js -import { $html } from "../sigpro.js"; +import { Tag } from "../sigpro.js"; export const val = t => typeof t === "function" ? t() : t; @@ -12,11 +12,11 @@ export const getIcon = (icon) => { if (!icon) return null; if (typeof icon === 'function') { - return $html("span", { class: "mr-1" }, icon()); + return Tag("span", { class: "mr-1" }, icon()); } if (typeof icon === 'object') { - return $html("span", { class: "mr-1" }, icon); + return Tag("span", { class: "mr-1" }, icon); } if (typeof icon === 'string') { @@ -26,10 +26,10 @@ export const getIcon = (icon) => { const spacing = hasRight ? 'ml-1' : 'mr-1'; if (iconClass && !iconClass.startsWith('icon-[') && !iconClass.includes('--')) { - return $html("span", { class: spacing }, iconClass); + return Tag("span", { class: spacing }, iconClass); } - return $html("span", { class: `${iconClass} ${spacing}`.trim() }); + return Tag("span", { class: `${iconClass} ${spacing}`.trim() }); } return null;