From c08f001a806c592da819ea4f513a112f6bc0edda Mon Sep 17 00:00:00 2001 From: natxocc Date: Mon, 6 Apr 2026 22:22:11 +0200 Subject: [PATCH] Include label in Input --- css/sigpro.css | 169 +---- css/sigpro.min.css | 2 +- dist/sigpro-ui.esm.js | 40 +- dist/sigpro-ui.esm.min.js | 8 +- dist/sigpro-ui.js | 40 +- dist/sigpro-ui.min.js | 8 +- docs/components/checkbox.md | 54 +- docs/components/input.md | 84 ++- docs/components_old/accordion.md | 730 ---------------------- docs/components_old/alert.md | 521 ---------------- docs/components_old/autocomplete.md | 376 ------------ docs/components_old/badge.md | 537 ---------------- docs/components_old/button copy.md | 248 -------- docs/components_old/button.md | 168 ----- docs/components_old/checkbox.md | 479 --------------- docs/components_old/colorpicker.md | 382 ------------ docs/components_old/datepicker.md | 339 ---------- docs/components_old/drawer.md | 918 ---------------------------- docs/components_old/dropdown.md | 489 --------------- docs/components_old/fab.md | 688 --------------------- docs/components_old/fieldset.md | 549 ----------------- docs/components_old/indicator.md | 556 ----------------- docs/components_old/input.md | 348 ----------- docs/components_old/list.md | 601 ------------------ docs/components_old/loading.md | 597 ------------------ docs/components_old/menu.md | 760 ----------------------- docs/components_old/modal.md | 667 -------------------- docs/components_old/navbar.md | 551 ----------------- docs/components_old/radio.md | 740 ---------------------- docs/components_old/rating.md | 536 ---------------- docs/components_old/select.md | 366 ----------- docs/components_old/stack.md | 519 ---------------- docs/components_old/stat.md | 644 ------------------- docs/components_old/swap.md | 500 --------------- docs/components_old/table.md | 716 ---------------------- docs/components_old/tabs.md | 677 -------------------- docs/components_old/timeline.md | 553 ----------------- docs/components_old/toast.md | 630 ------------------- docs/components_old/tooltip.md | 554 ----------------- docs/sigpro-ui.min.js | 8 +- docs/sigpro.css | 2 +- src/components/Checkbox.js | 7 +- src/components/Input.js | 63 +- src/components/Label.js | 24 +- src/components/Tooltip.js | 2 +- src/css/sigpro.css | 16 + 46 files changed, 219 insertions(+), 17247 deletions(-) delete mode 100644 docs/components_old/accordion.md delete mode 100644 docs/components_old/alert.md delete mode 100644 docs/components_old/autocomplete.md delete mode 100644 docs/components_old/badge.md delete mode 100644 docs/components_old/button copy.md delete mode 100644 docs/components_old/button.md delete mode 100644 docs/components_old/checkbox.md delete mode 100644 docs/components_old/colorpicker.md delete mode 100644 docs/components_old/datepicker.md delete mode 100644 docs/components_old/drawer.md delete mode 100644 docs/components_old/dropdown.md delete mode 100644 docs/components_old/fab.md delete mode 100644 docs/components_old/fieldset.md delete mode 100644 docs/components_old/indicator.md delete mode 100644 docs/components_old/input.md delete mode 100644 docs/components_old/list.md delete mode 100644 docs/components_old/loading.md delete mode 100644 docs/components_old/menu.md delete mode 100644 docs/components_old/modal.md delete mode 100644 docs/components_old/navbar.md delete mode 100644 docs/components_old/radio.md delete mode 100644 docs/components_old/rating.md delete mode 100644 docs/components_old/select.md delete mode 100644 docs/components_old/stack.md delete mode 100644 docs/components_old/stat.md delete mode 100644 docs/components_old/swap.md delete mode 100644 docs/components_old/table.md delete mode 100644 docs/components_old/tabs.md delete mode 100644 docs/components_old/timeline.md delete mode 100644 docs/components_old/toast.md delete mode 100644 docs/components_old/tooltip.md diff --git a/css/sigpro.css b/css/sigpro.css index bd3ef07..dccd54a 100644 --- a/css/sigpro.css +++ b/css/sigpro.css @@ -2307,17 +2307,6 @@ transition: background-color 0.2s ease-out; } } - .sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip-path: inset(50%); - white-space: nowrap; - border-width: 0; - } .menu-horizontal { @layer daisyui.l1.l2 { display: inline-flex; @@ -4274,69 +4263,6 @@ flex-shrink: 0; } } - .fab-flower { - @layer daisyui.l1.l2.l3 { - display: grid; - --position: 0rem; - > *:nth-child(-n + 2) { - --position: 0rem; - } - > * { - grid-area: 1/1; - --degree: 180deg; - --flip-degree: calc(180deg - var(--degree)); - transform: translateX(calc(cos(var(--degree)) * var(--position))) translateY(calc(sin(var(--degree)) * -1 * var(--position))); - [dir="rtl"] & { - transform: translateX(calc(cos(var(--flip-degree)) * var(--position))) translateY(calc(sin(var(--flip-degree)) * -1 * var(--position))); - } - } - > :nth-child(n + 7) { - display: none; - } - &:has(:nth-child(3)) { - --position: 140%; - > :nth-child(3) { - --degree: 135deg; - } - } - &:has(:nth-child(4)) { - --position: 140%; - > :nth-child(3) { - --degree: 165deg; - } - > :nth-child(4) { - --degree: 105deg; - } - } - &:has(:nth-child(5)) { - --position: 180%; - > :nth-child(3) { - --degree: 180deg; - } - > :nth-child(4) { - --degree: 135deg; - } - > :nth-child(5) { - --degree: 90deg; - } - } - &:has(:nth-child(6)) { - --position: 220%; - > :nth-child(3) { - --degree: 180deg; - } - > :nth-child(4) { - --degree: 150deg; - } - > :nth-child(5) { - --degree: 120deg; - } - > :nth-child(6) { - --degree: 90deg; - } - } - } - } .fieldset-label { @layer daisyui.l1.l2.l3 { display: flex; @@ -4554,21 +4480,12 @@ .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; } @@ -4592,26 +4509,6 @@ width: 100%; } } - .loading-lg { - @layer daisyui.l1.l2 { - width: calc(var(--size-selector, 0.25rem) * 7); - } - } - .loading-md { - @layer daisyui.l1.l2 { - width: calc(var(--size-selector, 0.25rem) * 6); - } - } - .loading-sm { - @layer daisyui.l1.l2 { - width: calc(var(--size-selector, 0.25rem) * 5); - } - } - .loading-xs { - @layer daisyui.l1.l2 { - width: calc(var(--size-selector, 0.25rem) * 4); - } - } .w-8 { width: calc(var(--spacing) * 8); } @@ -4672,9 +4569,6 @@ .max-w-md { max-width: var(--container-md); } - .min-w-48 { - min-width: calc(var(--spacing) * 48); - } .min-w-\[4rem\] { min-width: 4rem; } @@ -4776,24 +4670,6 @@ .animate-pulse { animation: var(--animate-pulse); } - .link { - @layer daisyui.l1.l2.l3 { - cursor: pointer; - text-decoration-line: underline; - &:focus { - --tw-outline-style: none; - outline-style: none; - @media (forced-colors: active) { - outline: 2px solid transparent; - outline-offset: 2px; - } - } - &:focus-visible { - outline: 2px solid currentColor; - outline-offset: 2px; - } - } - } .cursor-help { cursor: help; } @@ -5333,31 +5209,6 @@ --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)); } - .loading-ball { - @layer daisyui.l1.l2 { - 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 { - @layer daisyui.l1.l2 { - 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 { - @layer daisyui.l1.l2 { - 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 { - @layer daisyui.l1.l2 { - 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 { - @layer daisyui.l1.l2 { - 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 { @layer daisyui.l1.l2 { 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"); @@ -5609,9 +5460,6 @@ .pt-2 { padding-top: calc(var(--spacing) * 2); } - .pt-6 { - padding-top: calc(var(--spacing) * 6); - } .pr-10 { padding-right: calc(var(--spacing) * 10); } @@ -5745,10 +5593,6 @@ .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); @@ -6952,6 +6796,19 @@ } } } +.floating-label span { + color: oklch(30% 0.01 260); + font-size: 1.2rem; + transition: all 0.2s ease; +} +.floating-label:focus-within span { + color: oklch(25% 0.02 260); + font-size: 1.2rem; +} +.floating-label:has(input:not(:placeholder-shown)) span { + color: oklch(28% 0.01 260); + font-size: 1.2rem; +} @layer base { :where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light] { color-scheme: light; diff --git a/css/sigpro.min.css b/css/sigpro.min.css index 9cf471f..81c0e44 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-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-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}.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-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-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-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}.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{background-color:var(--color-base-100)}.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}.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,)}.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}}.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-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-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-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}.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}.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%}.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-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}.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}.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-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-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-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.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-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-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.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{background-color:var(--color-base-100)}.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}.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)}.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-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,)}.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}}.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}.floating-label span{color:oklch(30% .01 260);font-size:1.2rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.2rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.2rem}@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-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 1e75d70..bc84410 100644 --- a/dist/sigpro-ui.esm.js +++ b/dist/sigpro-ui.esm.js @@ -376,7 +376,7 @@ var For2 = (source, renderFn, keyFn, tag = "div", props = { style: "display:cont var Router = (routes) => { const currentPath = $2(window.location.hash.replace(/^#/, "") || "/"); window.addEventListener("hashchange", () => currentPath(window.location.hash.replace(/^#/, "") || "/")); - const outlet = Tag2("div", { class: "router-outlet" }); + const outlet = Tag2("div", { class: "router-transition" }); let currentView = null; Watch2([currentPath], async () => { const path = currentPath(); @@ -604,8 +604,8 @@ var Input = (props) => { oninput, placeholder, disabled, - size, validate, + label, ...rest } = props; const isPassword = type === "password"; @@ -654,14 +654,14 @@ var Input = (props) => { const inputElement = Tag("input", { ...rest, type: () => isPassword ? visible() ? "text" : "password" : type, - placeholder: placeholder || " ", + placeholder: placeholder || (label ? " " : placeholder), class: inputClasses, value, oninput: handleInput, disabled: () => val(disabled), "aria-invalid": () => hasError() ? "true" : "false" }); - return Tag("div", { class: "relative w-full" }, () => [ + const inputContent = () => [ inputElement, leftIcon ? Tag("div", { class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60" @@ -677,7 +677,14 @@ var Input = (props) => { Tag("div", { class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0" }, () => hasError() ? errorMsg() : null) - ]); + ]; + if (label) { + return Tag("label", { class: ui("floating-label w-full", className) }, () => [ + Tag("div", { class: "relative w-full" }, inputContent), + Tag("span", {}, val(label)) + ]); + } + return Tag("div", { class: "relative w-full" }, inputContent); }; // src/components/Autocomplete.js @@ -790,18 +797,17 @@ __export(exports_Checkbox, { Checkbox: () => Checkbox }); var Checkbox = (props) => { - const { class: className, value, tooltip, toggle, label, ...rest } = props; + const { class: className, value, toggle, label, ...rest } = props; const checkEl = Tag("input", { ...rest, type: "checkbox", class: () => ui(val(toggle) ? "toggle" : "checkbox", className), checked: value }); - const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ + return Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, label ? Tag("span", { class: "label-text" }, label) : null ]); - return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Colorpicker.js @@ -1344,18 +1350,16 @@ __export(exports_Label, { Label: () => Label }); var Label = (props) => { - const { children, value, floating = false, error, required, class: className, ...rest } = props; + const { children, value, floating = false, class: className, ...rest } = props; if (floating) { - return Tag("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? Tag("span", {}, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null + return Tag("label", { class: ui("floating-label", className), ...rest }, () => [ + typeof children === "function" ? children() : children, + value ? Tag("span", {}, val(value)) : null ]); } - return Tag("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? Tag("span", { class: "label" }, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null + return Tag("label", { class: ui("label", className), ...rest }, () => [ + value ? Tag("span", { class: "label-text" }, val(value)) : null, + typeof children === "function" ? children() : children ]); }; @@ -1817,7 +1821,7 @@ __export(exports_Tooltip, { }); var Tooltip = (props, children) => Tag("div", { ...props, - class: () => ui("tooltip", props.class), + class: () => ui("tooltip w-full", props.class), "data-tip": props.tip }, children); diff --git a/dist/sigpro-ui.esm.min.js b/dist/sigpro-ui.esm.min.js index beb6761..106e61d 100644 --- a/dist/sigpro-ui.esm.min.js +++ b/dist/sigpro-ui.esm.min.js @@ -1,7 +1,7 @@ -var h_=Object.defineProperty;var R=(f,M)=>{for(var _ in M)h_(f,_,{get:M[_],enumerable:!0,configurable:!0,set:(A)=>M[_]=()=>A})};var O=null,h=null,p=new Set,i=!1,Tf=new WeakMap,s=document,r=Array.isArray,Jf=Object.assign,of=(f)=>s.createElement(f),g=(f)=>s.createTextNode(String(f??"")),V=(f)=>typeof f==="function",Cf=(f)=>typeof f==="object"&&f!==null,Lf=(f,M)=>{let _=O;O=f;try{return M()}finally{O=_}},a=(f)=>{if(f._cleanups)f._cleanups.forEach((M)=>M()),f._cleanups.clear();f.childNodes?.forEach(a)},j_=()=>{if(i)return;i=!0;while(p.size>0){let f=Array.from(p).sort((M,_)=>(M.depth||0)-(_.depth||0));p.clear();for(let M of f)if(!M._deleted)M()}i=!1},Wf=(f)=>{if(O&&!O._deleted)f.add(O),O._deps.add(f)},l=(f)=>{if(f.forEach((M)=>{if(M===O||M._deleted)return;if(M._isComputed){if(M.markDirty(),M._subs)l(M._subs)}else p.add(M)}),!i)queueMicrotask(j_)},u=(f)=>{let M=new Set,_=h,A=of("div");A.style.display="contents",h={cleanups:M};let E=(C)=>{if(!C)return;if(C._isRuntime)M.add(C.destroy),A.appendChild(C.container);else if(r(C))C.forEach(E);else A.appendChild(C instanceof Node?C:g(C))};try{E(f({onCleanup:(C)=>M.add(C)}))}finally{h=_}return{_isRuntime:!0,container:A,destroy:()=>{M.forEach((C)=>C()),a(A),A.remove()}}},t=(f,M=null)=>{let _=new Set;if(V(f)){let E,C=!0,T=()=>{if(T._deleted)return;T._deps.forEach((L)=>L.delete(T)),T._deps.clear(),Lf(T,()=>{let L=f();if(!Object.is(E,L)||C)E=L,C=!1,l(_)})};if(Jf(T,{_deps:new Set,_isComputed:!0,_subs:_,_deleted:!1,markDirty:()=>C=!0,stop:()=>{T._deleted=!0,T._deps.forEach((L)=>L.delete(T)),_.clear()}}),h)h.cleanups.add(T.stop);return()=>{if(C)T();return Wf(_),E}}let A=f;if(M)try{let E=localStorage.getItem(M);if(E!==null)A=JSON.parse(E)}catch(E){console.warn("SigPro Storage Lock",E)}return(...E)=>{if(E.length){let C=V(E[0])?E[0](A):E[0];if(!Object.is(A,C)){if(A=C,M)localStorage.setItem(M,JSON.stringify(A));l(_)}}return Wf(_),A}},Pf=(f,M=new WeakMap)=>{if(!Cf(f))return f;if(M.has(f))return M.get(f);let _={},A=new Proxy(f,{get(E,C){if(O)Wf(_[C]??=new Set);let T=Reflect.get(E,C);return Cf(T)?Pf(T,M):T},set(E,C,T){if(Object.is(E[C],T))return!0;let L=Reflect.set(E,C,T);if(_[C])l(_[C]);return L}});return M.set(f,A),A},v=(f,M)=>{let _=r(f),A=_?M:f;if(!V(A))return()=>{};let E=h,C=()=>{if(C._deleted)return;C._deps.forEach((L)=>L.delete(C)),C._deps.clear(),C._cleanups.forEach((L)=>L()),C._cleanups.clear();let T=h;C.depth=O?O.depth+1:0,Lf(C,()=>{if(h={cleanups:C._cleanups},_)Lf(null,A),f.forEach((L)=>V(L)&&L());else A();h=T})};if(Jf(C,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(C._deleted)return;if(C._deleted=!0,p.delete(C),C._deps.forEach((T)=>T.delete(C)),C._cleanups.forEach((T)=>T()),E)E.cleanups.delete(C.stop)}}),E)E.cleanups.add(C.stop);return C(),C.stop},m=(f,M={},_=[])=>{if(M instanceof Node||r(M)||!Cf(M))_=M,M={};let E=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?s.createElementNS("http://www.w3.org/2000/svg",f):of(f);E._cleanups=new Set,E.onUnmount=(W)=>E._cleanups.add(W);let C=["disabled","checked","required","readonly","selected","multiple","autofocus"],T=(W,J)=>{let Q=(W==="src"||W==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(C.includes(W))E[W]=!!Q,Q?E.setAttribute(W,""):E.removeAttribute(W);else Q==null?E.removeAttribute(W):E.setAttribute(W,Q)};for(let[W,J]of Object.entries(M)){if(W==="ref"){V(J)?J(E):J.current=E;continue}let Q=V(J);if(W.startsWith("on")){let G=W.slice(2).toLowerCase().split(".")[0];E.addEventListener(G,J),E._cleanups.add(()=>E.removeEventListener(G,J))}else if(Q){if(E._cleanups.add(v(()=>{let G=J();W==="class"?E.className=G||"":T(W,G)})),["INPUT","TEXTAREA","SELECT"].includes(E.tagName)&&(W==="value"||W==="checked")){let G=W==="checked"?"change":"input",Y=(Z)=>J(Z.target[W]);E.addEventListener(G,Y),E._cleanups.add(()=>E.removeEventListener(G,Y))}}else T(W,J)}let L=(W)=>{if(r(W))return W.forEach(L);if(V(W)){let J=g("");E.appendChild(J);let Q=[];E._cleanups.add(v(()=>{let G=W(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:g(Z));Q.forEach((Z)=>{a(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else E.appendChild(W instanceof Node?W:g(W))};return L(_),E},lf=(f,M,_=null,A=null)=>{let E=g(""),C=m("div",{style:"display:contents"},[E]),T=null,L=null;return v(()=>{let W=!!(V(f)?f():f);if(W===L)return;L=W;let J=()=>{if(T)T.destroy();T=null};if(T&&!W&&A?.out)A.out(T.container,J);else J();let Q=W?M:_;if(Q){if(T=u(()=>V(Q)?Q():Q),C.insertBefore(T.container,E),W&&A?.in)A.in(T.container)}}),C},sf=(f,M,_,A="div",E={style:"display:contents"})=>{let C=g(""),T=m(A,E,[C]),L=new Map;return v(()=>{let W=(V(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{a(z),z.remove()}}:u(()=>z)}L.delete(X),J.set(X,q),Q.push(X)}L.forEach((Y)=>Y.destroy());let G=C;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)T.insertBefore(Z.container,G);G=Z.container}L=J}),T},j=(f)=>{let M=t(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>M(window.location.hash.replace(/^#/,"")||"/"));let _=m("div",{class:"router-outlet"}),A=null;return v([M],async()=>{let E=M(),C=f.find((T)=>{let L=T.path.split("/").filter(Boolean),W=E.split("/").filter(Boolean);return L.length===W.length&&L.every((J,Q)=>J.startsWith(":")||J===W[Q])})||f.find((T)=>T.path==="*");if(C){let T=C.component;if(V(T)&&T.toString().includes("import"))T=(await T()).default||await T();let L={};if(C.path.split("/").filter(Boolean).forEach((W,J)=>{if(W.startsWith(":"))L[W.slice(1)]=E.split("/").filter(Boolean)[J]}),A)A.destroy();if(j.params)j.params(L);A=u(()=>{try{return V(T)?T(L):T}catch(W){return m("div",{class:"p-4 text-error"},"Error loading view")}}),_.appendChild(A.container)}}),_};j.params=t({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var af=(f,M)=>{let _=typeof M==="string"?s.querySelector(M):M;if(!_)return;if(Tf.has(_))Tf.get(_).destroy();let A=u(V(f)?f:()=>f);return _.replaceChildren(A.container),Tf.set(_,A),A},nf={$:t,$$:Pf,Render:u,Watch:v,Tag:m,If:lf,For:sf,Router:j,Mount:af};if(typeof window<"u")Jf(window,nf),"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((M)=>{let _=M[0].toUpperCase()+M.slice(1);if(!(_ in window))window[_]=(A,E)=>m(M,A,E)}),window.SigPro=Object.freeze(nf);var ff={};R(ff,{default:()=>y_,Tooltip:()=>F_,Toast:()=>k_,Timeline:()=>V_,Tabs:()=>N_,Table:()=>D_,Swap:()=>z_,Stat:()=>R_,Stack:()=>K_,Select:()=>q_,Rating:()=>Y_,Range:()=>S_,Radio:()=>Z_,Navbar:()=>X_,Modal:()=>Q_,Menu:()=>G_,List:()=>B_,Label:()=>P_,Input:()=>b,Indicator:()=>J_,Fileinput:()=>W_,Fieldset:()=>L_,Fab:()=>C_,Dropdown:()=>T_,Drawer:()=>$_,Datepicker:()=>A_,Colorpicker:()=>E_,Checkbox:()=>M_,Button:()=>d,Badge:()=>__,Autocomplete:()=>f_,Alert:()=>ef,Accordion:()=>tf});var Bf={};R(Bf,{Accordion:()=>tf});var e={};R(e,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,M)=>typeof M==="function"?()=>`${f} ${M()||""}`.trim():`${f} ${M||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let M=f.trim().split(/\s+/),_=M[M.length-1]==="right",A=_?M.slice(0,-1).join(" "):f,E=_?"ml-1":"mr-1";if(A&&!A.startsWith("icon-[")&&!A.includes("--"))return Tag("span",{class:E},A);return Tag("span",{class:`${A} ${E}`.trim()})}return null};var tf=(f,M)=>{let{class:_,title:A,name:E,open:C,...T}=f;return Tag("div",{...T,class:B("collapse collapse-arrow bg-base-200 mb-2",_)},[Tag("input",{type:E?"radio":"checkbox",name:E,checked:P(C)}),Tag("div",{class:"collapse-title text-xl font-medium"},A),Tag("div",{class:"collapse-content"},M)])};var Gf={};R(Gf,{Alert:()=>ef});var ef=(f,M)=>{let{class:_,actions:A,type:E="info",soft:C=!0,...T}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${E}`,C?"alert-soft":"",_].filter(Boolean).join(" "),G=M||f.message;return Tag("div",{...T,role:"alert",class:B("alert",Q)},()=>[D(L[E]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),A?Tag("div",{class:"flex-none"},[typeof A==="function"?A():A]):null].filter(Boolean))};var Xf={};R(Xf,{Autocomplete:()=>f_});var x_={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"}},I_=$("es");var U=(f)=>()=>x_[I_()][f]||f;var Qf={};R(Qf,{Input:()=>b});var b=(f)=>{let{class:M,value:_,type:A="text",icon:E,oninput:C,placeholder:T,disabled:L,size:W,validate:J,...Q}=f,G=A==="password",Y=$(!1),Z=$(null),X={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=E?D(E):X[A]?D(X[A]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),c=q?"pl-10":"",_f=G?"pr-10":"",n=()=>{if(M?.includes("input-xs"))return"btn-xs";if(M?.includes("input-sm"))return"btn-sm";if(M?.includes("input-lg"))return"btn-lg";return"btn-md"},o=(N)=>{let k=N.target.value;if(J){let I=J(k);Z(I||null)}C?.(N)},x=()=>Z()&&Z()!=="",S=()=>{let N=`input w-full ${c} ${_f}`;if(M)N+=` ${M}`;if(x())N+=" input-error";return N.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":A,placeholder:T||" ",class:S,value:_,oninput:o,disabled:()=>P(L),"aria-invalid":()=>x()?"true":"false"});return Tag("div",{class:"relative w-full"},()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",n()),onclick:(N)=>{N.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>x()?Z():null)])};var f_=(f)=>{let{class:M,items:_=[],value:A,onselect:E,label:C,placeholder:T,...L}=f,W=$(P(A)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=W().toLowerCase(),q=P(_)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(W(z),typeof A==="function")A(q);E?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[b({label:C,class:M,placeholder:T||U("search")(),value:W,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(W(q),typeof A==="function")A(q);J(!0),Q(-1)},...L}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},U("nodata")())])])};var Zf={};R(Zf,{Badge:()=>__});var __=(f,M)=>{let{class:_,...A}=f;return Tag("span",{...A,class:B("badge",_)},M)};var Sf={};R(Sf,{Button:()=>d});var d=(f,M)=>{let{class:_,loading:A,icon:E,...C}=f,T=D(E);return Tag("button",{...C,class:B("btn",_),disabled:()=>P(A)||P(f.disabled)},()=>[P(A)&&Tag("span",{class:"loading loading-spinner"}),T,M].filter(Boolean))};var Yf={};R(Yf,{Checkbox:()=>M_});var M_=(f)=>{let{class:M,value:_,tooltip:A,toggle:E,label:C,...T}=f,L=Tag("input",{...T,type:"checkbox",class:()=>B(P(E)?"toggle":"checkbox",M),checked:_}),W=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?Tag("span",{class:"label-text"},C):null]);return A?Tag("div",{class:"tooltip","data-tip":A},W):W};var qf={};R(qf,{Colorpicker:()=>E_});var E_=(f)=>{let{class:M,value:_,label:A,...E}=f,C=$(!1),T=["#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=()=>P(_)||"#000000";return Tag("div",{class:B("relative w-fit",M)},[Tag("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:(W)=>{W.stopPropagation(),C(!C())},...E},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),A?Tag("span",{class:"opacity-80"},A):null]),If(C,()=>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:(W)=>W.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},T.map((W)=>Tag("button",{type:"button",style:`background-color: ${W}`,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()===W.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof _==="function")_(W);C(!1)}})))])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var Kf={};R(Kf,{Datepicker:()=>A_});var A_=(f)=>{let{class:M,value:_,range:A,label:E,placeholder:C,hour:T=!1,...L}=f,W=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(A)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),k=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${k}`},c=(S)=>{let K=z(S),N=P(_);if(Z())if(!N?.start||N.start&&N.end){if(typeof _==="function")_({start:K,end:null,...T&&{startHour:G()}})}else{let k=N.start;if(typeof _==="function"){let I=K{let S=P(_);if(!S)return"";if(typeof S==="string"){if(T&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=T&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),n=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},o=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},x=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let k=parseInt(N.target.value);K(k)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",M)},[b({label:E,placeholder:C||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),W(!W())},...L}),If(W,()=>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:(S)=>S.stopPropagation()},[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:()=>o(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>n(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>n(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),k=new Date(K,N,1).getDay(),I=k===0?6:k-1,U_=new Date(K,N+1,0).getDate(),Mf=[];for(let y=0;y{let H=P(_),Ef=Q(),w_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,H_=H?.end===F,Af=!1;if(Z()&&H?.start){let $f=H.start;if(!H.end&&Ef)Af=F>$f&&F<=Ef||F<$f&&F>=Ef;else if(H.end)Af=F>$f&&F{if(Z())Q(F)},onclick:()=>c(rf)},[y.toString()]))}return Mf}]),T?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[x({value:G,onChange:(S)=>{G(S);let K=P(_);if(K?.start)_({...K,startHour:S})}}),x({value:Y,onChange:(S)=>{Y(S);let K=P(_);if(K?.end)_({...K,endHour:S})}})]):x({value:G,onChange:(S)=>{G(S);let K=P(_);if(K&&typeof K==="string"&&K.includes("-"))_(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(W,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>W(!1)}))])};var Rf={};R(Rf,{Drawer:()=>$_});var $_=(f,M)=>{let{class:_,id:A,open:E,side:C,content:T,...L}=f,W=A||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...L,class:B("drawer",_)},[Tag("input",{id:W,type:"checkbox",class:"drawer-toggle",checked:()=>typeof E==="function"?E():E,onchange:(J)=>{if(typeof E==="function")E(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof T==="function"?T():T]),Tag("div",{class:"drawer-side"},[Tag("label",{for:W,class:"drawer-overlay",onclick:()=>{if(typeof E==="function")E(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var zf={};R(zf,{Dropdown:()=>T_});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var T_=(f)=>{let{class:M,label:_,icon:A,items:E,...C}=f;return Tag("details",{...C,class:B("dropdown",M)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(T)=>{let L=T.currentTarget.closest("details");if(w&&w!==L)w.open=!1;setTimeout(()=>{w=L.open?L:null},0)}},[()=>A?typeof A==="function"?A():A:null,()=>_?typeof _==="function"?_():_: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((L)=>Tag("li",{},[Tag("a",{class:L.class||"",onclick:(W)=>{if(L.onclick)L.onclick(W);let J=W.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[L.icon?Tag("span",{},L.icon):null,Tag("span",{},L.label)])]))}])])};var Df={};R(Df,{Fab:()=>C_});var C_=(f)=>{let{class:M,icon:_,label:A,actions:E=[],position:C="bottom-6 right-6",...T}=f;return Tag("div",{...T,class:B(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,M)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[_?D(_):null,!_&&A?A:null]),...P(E).map((L)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(W)=>{W.stopPropagation(),L.onclick?.(W)}},[L.icon?D(L.icon):L.text||""])]))])};var Nf={};R(Nf,{Fieldset:()=>L_});var L_=(f,M)=>{let{class:_,legend:A,...E}=f;return Tag("fieldset",{...E,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",_)},[()=>{let C=P(A);return C?Tag("legend",{class:"fieldset-legend font-bold"},[C]):null},M])};var Vf={};R(Vf,{Fileinput:()=>W_});var W_=(f)=>{let{class:M,tooltip:_,max:A=2,accept:E="*",onselect:C,...T}=f,L=$([]),W=$(!1),J=$(null),Q=A*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${A}MB`);return}L([...L(),...X]),C?.(L())},Y=(Z)=>{let X=L().filter((q,z)=>z!==Z);L(X),C?.(X)};return Tag("fieldset",{...T,class:B("fieldset w-full p-0",M)},[Tag("div",{class:()=>`w-full ${_?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":_},[Tag("label",{class:()=>` +var h_=Object.defineProperty;var R=(f,M)=>{for(var _ in M)h_(f,_,{get:M[_],enumerable:!0,configurable:!0,set:(T)=>M[_]=()=>T})};var U=null,h=null,p=new Set,i=!1,$f=new WeakMap,s=document,r=Array.isArray,Pf=Object.assign,lf=(f)=>s.createElement(f),u=(f)=>s.createTextNode(String(f??"")),k=(f)=>typeof f==="function",Wf=(f)=>typeof f==="object"&&f!==null,Cf=(f,M)=>{let _=U;U=f;try{return M()}finally{U=_}},t=(f)=>{if(f._cleanups)f._cleanups.forEach((M)=>M()),f._cleanups.clear();f.childNodes?.forEach(t)},j_=()=>{if(i)return;i=!0;while(p.size>0){let f=Array.from(p).sort((M,_)=>(M.depth||0)-(_.depth||0));p.clear();for(let M of f)if(!M._deleted)M()}i=!1},Jf=(f)=>{if(U&&!U._deleted)f.add(U),U._deps.add(f)},l=(f)=>{if(f.forEach((M)=>{if(M===U||M._deleted)return;if(M._isComputed){if(M.markDirty(),M._subs)l(M._subs)}else p.add(M)}),!i)queueMicrotask(j_)},g=(f)=>{let M=new Set,_=h,T=lf("div");T.style.display="contents",h={cleanups:M};let E=(A)=>{if(!A)return;if(A._isRuntime)M.add(A.destroy),T.appendChild(A.container);else if(r(A))A.forEach(E);else T.appendChild(A instanceof Node?A:u(A))};try{E(f({onCleanup:(A)=>M.add(A)}))}finally{h=_}return{_isRuntime:!0,container:T,destroy:()=>{M.forEach((A)=>A()),t(T),T.remove()}}},a=(f,M=null)=>{let _=new Set;if(k(f)){let E,A=!0,L=()=>{if(L._deleted)return;L._deps.forEach((W)=>W.delete(L)),L._deps.clear(),Cf(L,()=>{let W=f();if(!Object.is(E,W)||A)E=W,A=!1,l(_)})};if(Pf(L,{_deps:new Set,_isComputed:!0,_subs:_,_deleted:!1,markDirty:()=>A=!0,stop:()=>{L._deleted=!0,L._deps.forEach((W)=>W.delete(L)),_.clear()}}),h)h.cleanups.add(L.stop);return()=>{if(A)L();return Jf(_),E}}let T=f;if(M)try{let E=localStorage.getItem(M);if(E!==null)T=JSON.parse(E)}catch(E){console.warn("SigPro Storage Lock",E)}return(...E)=>{if(E.length){let A=k(E[0])?E[0](T):E[0];if(!Object.is(T,A)){if(T=A,M)localStorage.setItem(M,JSON.stringify(T));l(_)}}return Jf(_),T}},Bf=(f,M=new WeakMap)=>{if(!Wf(f))return f;if(M.has(f))return M.get(f);let _={},T=new Proxy(f,{get(E,A){if(U)Jf(_[A]??=new Set);let L=Reflect.get(E,A);return Wf(L)?Bf(L,M):L},set(E,A,L){if(Object.is(E[A],L))return!0;let W=Reflect.set(E,A,L);if(_[A])l(_[A]);return W}});return M.set(f,T),T},v=(f,M)=>{let _=r(f),T=_?M:f;if(!k(T))return()=>{};let E=h,A=()=>{if(A._deleted)return;A._deps.forEach((W)=>W.delete(A)),A._deps.clear(),A._cleanups.forEach((W)=>W()),A._cleanups.clear();let L=h;A.depth=U?U.depth+1:0,Cf(A,()=>{if(h={cleanups:A._cleanups},_)Cf(null,T),f.forEach((W)=>k(W)&&W());else T();h=L})};if(Pf(A,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(A._deleted)return;if(A._deleted=!0,p.delete(A),A._deps.forEach((L)=>L.delete(A)),A._cleanups.forEach((L)=>L()),E)E.cleanups.delete(A.stop)}}),E)E.cleanups.add(A.stop);return A(),A.stop},m=(f,M={},_=[])=>{if(M instanceof Node||r(M)||!Wf(M))_=M,M={};let E=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?s.createElementNS("http://www.w3.org/2000/svg",f):lf(f);E._cleanups=new Set,E.onUnmount=(C)=>E._cleanups.add(C);let A=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(C,J)=>{let Q=(C==="src"||C==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(A.includes(C))E[C]=!!Q,Q?E.setAttribute(C,""):E.removeAttribute(C);else Q==null?E.removeAttribute(C):E.setAttribute(C,Q)};for(let[C,J]of Object.entries(M)){if(C==="ref"){k(J)?J(E):J.current=E;continue}let Q=k(J);if(C.startsWith("on")){let G=C.slice(2).toLowerCase().split(".")[0];E.addEventListener(G,J),E._cleanups.add(()=>E.removeEventListener(G,J))}else if(Q){if(E._cleanups.add(v(()=>{let G=J();C==="class"?E.className=G||"":L(C,G)})),["INPUT","TEXTAREA","SELECT"].includes(E.tagName)&&(C==="value"||C==="checked")){let G=C==="checked"?"change":"input",Y=(Z)=>J(Z.target[C]);E.addEventListener(G,Y),E._cleanups.add(()=>E.removeEventListener(G,Y))}}else L(C,J)}let W=(C)=>{if(r(C))return C.forEach(W);if(k(C)){let J=u("");E.appendChild(J);let Q=[];E._cleanups.add(v(()=>{let G=C(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:u(Z));Q.forEach((Z)=>{t(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else E.appendChild(C instanceof Node?C:u(C))};return W(_),E},sf=(f,M,_=null,T=null)=>{let E=u(""),A=m("div",{style:"display:contents"},[E]),L=null,W=null;return v(()=>{let C=!!(k(f)?f():f);if(C===W)return;W=C;let J=()=>{if(L)L.destroy();L=null};if(L&&!C&&T?.out)T.out(L.container,J);else J();let Q=C?M:_;if(Q){if(L=g(()=>k(Q)?Q():Q),A.insertBefore(L.container,E),C&&T?.in)T.in(L.container)}}),A},tf=(f,M,_,T="div",E={style:"display:contents"})=>{let A=u(""),L=m(T,E,[A]),W=new Map;return v(()=>{let C=(k(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{t(z),z.remove()}}:g(()=>z)}W.delete(X),J.set(X,q),Q.push(X)}W.forEach((Y)=>Y.destroy());let G=A;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)L.insertBefore(Z.container,G);G=Z.container}W=J}),L},j=(f)=>{let M=a(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>M(window.location.hash.replace(/^#/,"")||"/"));let _=m("div",{class:"router-transition"}),T=null;return v([M],async()=>{let E=M(),A=f.find((L)=>{let W=L.path.split("/").filter(Boolean),C=E.split("/").filter(Boolean);return W.length===C.length&&W.every((J,Q)=>J.startsWith(":")||J===C[Q])})||f.find((L)=>L.path==="*");if(A){let L=A.component;if(k(L)&&L.toString().includes("import"))L=(await L()).default||await L();let W={};if(A.path.split("/").filter(Boolean).forEach((C,J)=>{if(C.startsWith(":"))W[C.slice(1)]=E.split("/").filter(Boolean)[J]}),T)T.destroy();if(j.params)j.params(W);T=g(()=>{try{return k(L)?L(W):L}catch(C){return m("div",{class:"p-4 text-error"},"Error loading view")}}),_.appendChild(T.container)}}),_};j.params=a({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var af=(f,M)=>{let _=typeof M==="string"?s.querySelector(M):M;if(!_)return;if($f.has(_))$f.get(_).destroy();let T=g(k(f)?f:()=>f);return _.replaceChildren(T.container),$f.set(_,T),T},of={$:a,$$:Bf,Render:g,Watch:v,Tag:m,If:sf,For:tf,Router:j,Mount:af};if(typeof window<"u")Pf(window,of),"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((M)=>{let _=M[0].toUpperCase()+M.slice(1);if(!(_ in window))window[_]=(T,E)=>m(M,T,E)}),window.SigPro=Object.freeze(of);var ff={};R(ff,{default:()=>I_,Tooltip:()=>U_,Toast:()=>F_,Timeline:()=>k_,Tabs:()=>V_,Table:()=>N_,Swap:()=>D_,Stat:()=>z_,Stack:()=>R_,Select:()=>K_,Rating:()=>q_,Range:()=>Y_,Radio:()=>S_,Navbar:()=>Z_,Modal:()=>X_,Menu:()=>Q_,List:()=>G_,Label:()=>B_,Input:()=>b,Indicator:()=>P_,Fileinput:()=>J_,Fieldset:()=>C_,Fab:()=>W_,Dropdown:()=>$_,Drawer:()=>L_,Datepicker:()=>A_,Colorpicker:()=>T_,Checkbox:()=>E_,Button:()=>c,Badge:()=>M_,Autocomplete:()=>__,Alert:()=>f_,Accordion:()=>ef});var Gf={};R(Gf,{Accordion:()=>ef});var e={};R(e,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,M)=>typeof M==="function"?()=>`${f} ${M()||""}`.trim():`${f} ${M||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let M=f.trim().split(/\s+/),_=M[M.length-1]==="right",T=_?M.slice(0,-1).join(" "):f,E=_?"ml-1":"mr-1";if(T&&!T.startsWith("icon-[")&&!T.includes("--"))return Tag("span",{class:E},T);return Tag("span",{class:`${T} ${E}`.trim()})}return null};var ef=(f,M)=>{let{class:_,title:T,name:E,open:A,...L}=f;return Tag("div",{...L,class:B("collapse collapse-arrow bg-base-200 mb-2",_)},[Tag("input",{type:E?"radio":"checkbox",name:E,checked:P(A)}),Tag("div",{class:"collapse-title text-xl font-medium"},T),Tag("div",{class:"collapse-content"},M)])};var Qf={};R(Qf,{Alert:()=>f_});var f_=(f,M)=>{let{class:_,actions:T,type:E="info",soft:A=!0,...L}=f,W={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${E}`,A?"alert-soft":"",_].filter(Boolean).join(" "),G=M||f.message;return Tag("div",{...L,role:"alert",class:B("alert",Q)},()=>[D(W[E]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),T?Tag("div",{class:"flex-none"},[typeof T==="function"?T():T]):null].filter(Boolean))};var Zf={};R(Zf,{Autocomplete:()=>__});var x_={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_=$("es");var O=(f)=>()=>x_[y_()][f]||f;var Xf={};R(Xf,{Input:()=>b});var b=(f)=>{let{class:M,value:_,type:T="text",icon:E,oninput:A,placeholder:L,disabled:W,validate:C,label:J,...Q}=f,G=T==="password",Y=$(!1),Z=$(null),X={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=E?D(E):X[T]?D(X[T]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",_f=G?"pr-10":"",n=()=>{if(M?.includes("input-xs"))return"btn-xs";if(M?.includes("input-sm"))return"btn-sm";if(M?.includes("input-lg"))return"btn-lg";return"btn-md"},o=(V)=>{let y=V.target.value;if(C){let Mf=C(y);Z(Mf||null)}A?.(V)},x=()=>Z()&&Z()!=="",S=()=>{let V=`input w-full ${d} ${_f}`;if(M)V+=` ${M}`;if(x())V+=" input-error";return V.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":T,placeholder:L||(J?" ":L),class:S,value:_,oninput:o,disabled:()=>P(W),"aria-invalid":()=>x()?"true":"false"}),N=()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",n()),onclick:(V)=>{V.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>x()?Z():null)];if(J)return Tag("label",{class:B("floating-label w-full",M)},()=>[Tag("div",{class:"relative w-full"},N),Tag("span",{},P(J))]);return Tag("div",{class:"relative w-full"},N)};var __=(f)=>{let{class:M,items:_=[],value:T,onselect:E,label:A,placeholder:L,...W}=f,C=$(P(T)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=C().toLowerCase(),q=P(_)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(C(z),typeof T==="function")T(q);E?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[b({label:A,class:M,placeholder:L||O("search")(),value:C,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(C(q),typeof T==="function")T(q);J(!0),Q(-1)},...W}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},O("nodata")())])])};var Sf={};R(Sf,{Badge:()=>M_});var M_=(f,M)=>{let{class:_,...T}=f;return Tag("span",{...T,class:B("badge",_)},M)};var Yf={};R(Yf,{Button:()=>c});var c=(f,M)=>{let{class:_,loading:T,icon:E,...A}=f,L=D(E);return Tag("button",{...A,class:B("btn",_),disabled:()=>P(T)||P(f.disabled)},()=>[P(T)&&Tag("span",{class:"loading loading-spinner"}),L,M].filter(Boolean))};var qf={};R(qf,{Checkbox:()=>E_});var E_=(f)=>{let{class:M,value:_,toggle:T,label:E,...A}=f,L=Tag("input",{...A,type:"checkbox",class:()=>B(P(T)?"toggle":"checkbox",M),checked:_});return Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,E?Tag("span",{class:"label-text"},E):null])};var Kf={};R(Kf,{Colorpicker:()=>T_});var T_=(f)=>{let{class:M,value:_,label:T,...E}=f,A=$(!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"],W=()=>P(_)||"#000000";return Tag("div",{class:B("relative w-fit",M)},[Tag("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:(C)=>{C.stopPropagation(),A(!A())},...E},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${W()}`}),T?Tag("span",{class:"opacity-80"},T):null]),If(A,()=>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:(C)=>C.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},L.map((C)=>Tag("button",{type:"button",style:`background-color: ${C}`,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 + ${W().toLowerCase()===C.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof _==="function")_(C);A(!1)}})))])),If(A,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>A(!1)}))])};var Rf={};R(Rf,{Datepicker:()=>A_});var A_=(f)=>{let{class:M,value:_,range:T,label:E,placeholder:A,hour:L=!1,...W}=f,C=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(T)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),V=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${V}`},d=(S)=>{let K=z(S),N=P(_);if(Z())if(!N?.start||N.start&&N.end){if(typeof _==="function")_({start:K,end:null,...L&&{startHour:G()}})}else{let V=N.start;if(typeof _==="function"){let y=K{let S=P(_);if(!S)return"";if(typeof S==="string"){if(L&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=L&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),n=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},o=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},x=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let V=parseInt(N.target.value);K(V)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",M)},[b({label:E,placeholder:A||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:_f,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),C(!C())},...W}),If(C,()=>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:(S)=>S.stopPropagation()},[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:()=>o(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>n(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>n(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),V=new Date(K,N,1).getDay(),y=V===0?6:V-1,Mf=new Date(K,N+1,0).getDate(),Ef=[];for(let I=0;I{let H=P(_),Tf=Q(),w_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,H_=H?.end===F,Af=!1;if(Z()&&H?.start){let Lf=H.start;if(!H.end&&Tf)Af=F>Lf&&F<=Tf||F=Tf;else if(H.end)Af=F>Lf&&F{if(Z())Q(F)},onclick:()=>d(nf)},[I.toString()]))}return Ef}]),L?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[x({value:G,onChange:(S)=>{G(S);let K=P(_);if(K?.start)_({...K,startHour:S})}}),x({value:Y,onChange:(S)=>{Y(S);let K=P(_);if(K?.end)_({...K,endHour:S})}})]):x({value:G,onChange:(S)=>{G(S);let K=P(_);if(K&&typeof K==="string"&&K.includes("-"))_(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>C(!1)}))])};var zf={};R(zf,{Drawer:()=>L_});var L_=(f,M)=>{let{class:_,id:T,open:E,side:A,content:L,...W}=f,C=T||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...W,class:B("drawer",_)},[Tag("input",{id:C,type:"checkbox",class:"drawer-toggle",checked:()=>typeof E==="function"?E():E,onchange:(J)=>{if(typeof E==="function")E(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof L==="function"?L():L]),Tag("div",{class:"drawer-side"},[Tag("label",{for:C,class:"drawer-overlay",onclick:()=>{if(typeof E==="function")E(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof A==="function"?A():A])])])};var Df={};R(Df,{Dropdown:()=>$_});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var $_=(f)=>{let{class:M,label:_,icon:T,items:E,...A}=f;return Tag("details",{...A,class:B("dropdown",M)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let W=L.currentTarget.closest("details");if(w&&w!==W)w.open=!1;setTimeout(()=>{w=W.open?W:null},0)}},[()=>T?typeof T==="function"?T():T:null,()=>_?typeof _==="function"?_():_: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((W)=>Tag("li",{},[Tag("a",{class:W.class||"",onclick:(C)=>{if(W.onclick)W.onclick(C);let J=C.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[W.icon?Tag("span",{},W.icon):null,Tag("span",{},W.label)])]))}])])};var Nf={};R(Nf,{Fab:()=>W_});var W_=(f)=>{let{class:M,icon:_,label:T,actions:E=[],position:A="bottom-6 right-6",...L}=f;return Tag("div",{...L,class:B(`fab absolute ${A} flex flex-col-reverse items-end gap-3 z-[100]`,M)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[_?D(_):null,!_&&T?T:null]),...P(E).map((W)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[W.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},W.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${W.class||""}`,onclick:(C)=>{C.stopPropagation(),W.onclick?.(C)}},[W.icon?D(W.icon):W.text||""])]))])};var Vf={};R(Vf,{Fieldset:()=>C_});var C_=(f,M)=>{let{class:_,legend:T,...E}=f;return Tag("fieldset",{...E,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",_)},[()=>{let A=P(T);return A?Tag("legend",{class:"fieldset-legend font-bold"},[A]):null},M])};var kf={};R(kf,{Fileinput:()=>J_});var J_=(f)=>{let{class:M,tooltip:_,max:T=2,accept:E="*",onselect:A,...L}=f,W=$([]),C=$(!1),J=$(null),Q=T*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${T}MB`);return}W([...W(),...X]),A?.(W())},Y=(Z)=>{let X=W().filter((q,z)=>z!==Z);W(X),A?.(X)};return Tag("fieldset",{...L,class:B("fieldset w-full p-0",M)},[Tag("div",{class:()=>`w-full ${_?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":_},[Tag("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 - ${W()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Z)=>{Z.preventDefault(),W(!0)},ondragleave:()=>W(!1),ondrop:(Z)=>{Z.preventDefault(),W(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${A}MB`)]),Tag("input",{type:"file",multiple:!0,accept:E,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>L().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(L,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var kf={};R(kf,{Indicator:()=>J_});var J_=(f,M)=>{let{value:_,class:A,...E}=f;return Tag("div",{...E,class:"indicator"},()=>[_?Tag("span",{class:B("indicator-item badge",A)},()=>typeof _==="function"?_():_):null,M].filter(Boolean))};var Ff={};R(Ff,{Label:()=>P_});var P_=(f)=>{let{children:M,value:_,floating:A=!1,error:E,required:C,class:T,...L}=f;if(A)return Tag("label",{class:B("floating-label w-full",T),...L},()=>[_?Tag("span",{},_):null,M,E?Tag("span",{class:"text-error text-xs"},P(E)):null]);return Tag("label",{class:B("input w-full",T),...L},()=>[_?Tag("span",{class:"label"},_):null,M,E?Tag("span",{class:"text-error text-xs"},P(E)):null])};var Of={};R(Of,{List:()=>B_});var B_=(f)=>{let{class:M,items:_,header:A,render:E=(W)=>W,keyFn:C=(W,J)=>W.id??J,...T}=f,L=For(_,(W,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[E(W,J)])]),C);return Tag("ul",{...T,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",M)},A?[If(A,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(A)])),L]:L)};var Uf={};R(Uf,{Menu:()=>G_});var G_=(f)=>{let{class:M,items:_,...A}=f,E=(C)=>For(()=>C||[],(T)=>Tag("li",{},[T.children?Tag("details",{open:T.open},[Tag("summary",{},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label]),Tag("ul",{},E(T.children))]):Tag("a",{class:()=>P(T.active)?"active":"",onclick:T.onclick},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label])]),(T,L)=>T.label||L);return Tag("ul",{...A,class:B("menu bg-base-200 rounded-box",M)},E(_))};var wf={};R(wf,{Modal:()=>Q_});var Q_=(f,M)=>{let{class:_,title:A,buttons:E,open:C,...T}=f,L=null,W=()=>{let Q=typeof C==="function"?C():C;if(!L)return;if(Q){if(!L.open)L.showModal()}else if(L.open)L.close()};Watch(()=>W());let J=()=>{if(typeof C==="function")C(!1)};return Tag("dialog",{...T,ref:(Q)=>{if(L=Q,Q)W()},class:B("modal",_),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[A?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof A==="function"?A():A):null,Tag("div",{class:"py-2"},[typeof M==="function"?M():M]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(E)?E:[E]).filter(Boolean),d({type:"submit"},U("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var Hf={};R(Hf,{Navbar:()=>X_});var X_=(f,M)=>{let{class:_,...A}=f;return Tag("div",{...A,class:B("navbar bg-base-100 shadow-sm px-4",_)},M)};var hf={};R(hf,{Radio:()=>Z_});var Z_=(f)=>{let{class:M,label:_,tooltip:A,value:E,inputValue:C,name:T,...L}=f,W=Tag("input",{...L,type:"radio",name:T,class:B("radio",M),checked:()=>P(E)===C,onclick:()=>{if(typeof E==="function")E(C)}});if(!_&&!A)return W;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[W,_?Tag("span",{class:"label-text"},_):null]);return A?Tag("div",{class:"tooltip","data-tip":A},J):J};var jf={};R(jf,{Range:()=>S_});var S_=(f)=>{let{class:M,label:_,tooltip:A,value:E,...C}=f,T=Tag("input",{...C,type:"range",class:B("range",M),value:E,disabled:()=>P(f.disabled)});if(!_&&!A)return T;let L=Tag("div",{class:"flex flex-col gap-2"},[_?Tag("span",{class:"label-text"},_):null,T]);return A?Tag("div",{class:"tooltip","data-tip":A},L):L};var xf={};R(xf,{Rating:()=>Y_});var Y_=(f)=>{let{class:M,value:_,count:A=5,mask:E="mask-star",readonly:C=!1,onchange:T,...L}=f,W=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...L,class:()=>B(`rating ${P(C)?"pointer-events-none":""}`,M)},Array.from({length:P(A)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:W,class:`mask ${E}`,checked:()=>Math.round(P(_))===G,onchange:()=>{if(!P(C)){if(typeof T==="function")T(G);else if(typeof _==="function")_(G)}}})}))};var yf={};R(yf,{Select:()=>q_});var q_=(f)=>{let{class:M,label:_,items:A,value:E,...C}=f,T=Tag("select",{...C,class:B("select select-bordered w-full",M),value:E},For(()=>P(A)||[],(L)=>Tag("option",{value:L.value,$selected:()=>String(P(E))===String(L.value)},L.label),(L)=>L.value));if(!_)return T;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},_),T])};var vf={};R(vf,{Stack:()=>K_});var K_=(f,M)=>{let{class:_,...A}=f;return Tag("div",{...A,class:B("stack",_)},M)};var mf={};R(mf,{Stat:()=>R_});var R_=(f)=>{let{class:M,icon:_,label:A,value:E,desc:C,...T}=f;return Tag("div",{...T,class:B("stat",M)},[_&&Tag("div",{class:"stat-figure text-secondary"},_),A&&Tag("div",{class:"stat-title"},A),Tag("div",{class:"stat-value"},()=>P(E)??E),C&&Tag("div",{class:"stat-desc"},C)])};var gf={};R(gf,{Swap:()=>z_});var z_=(f)=>{let{class:M,value:_,on:A,off:E,...C}=f;return Tag("label",{...C,class:B("swap",M)},[Tag("input",{type:"checkbox",checked:()=>P(_),onclick:(T)=>{if(typeof _==="function")_(T.target.checked)}}),Tag("div",{class:"swap-on"},A),Tag("div",{class:"swap-off"},E)])};var uf={};R(uf,{Table:()=>D_});var D_=(f)=>{let{class:M,items:_=[],columns:A=[],keyFn:E,zebra:C=!1,pinRows:T=!1,empty:L=U("nodata")(),...W}=f,J=()=>{let G=P(C)?"table-zebra":"",Y=P(T)?"table-pin-rows":"";return B("table",M,G,Y)},Q=E||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...W,class:J},[Tag("thead",{},[Tag("tr",{},A.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(_,(G,Y)=>{let Z=()=>{let X=P(_),q=Q(G,Y);return X.find((z,c)=>Q(z,c)===q)||G};return Tag("tr",{class:"hover"},A.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(_).length===0,()=>Tag("tr",{},[Tag("td",{colspan:A.length,class:"text-center p-10 opacity-50"},[P(L)])]))])])])};var bf={};R(bf,{Tabs:()=>N_});var N_=(f)=>{let{items:M,class:_,...A}=f,E=typeof M==="function"?M:()=>M||[],C=$(0);return Watch(()=>{let T=E().findIndex((L)=>P(L.active)===!0);if(T!==-1&&T!==C())C(T)}),Tag("div",{...A,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",_||"tabs-box")},()=>{return E().map((L,W)=>{let J=()=>C()===W,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(L.disabled)){if(L.onclick)L.onclick();C(W)}}});return Watch(()=>{let G=P(L.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return E().map((T,L)=>{let W=()=>C()===L;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>W()?"display: block":"display: none"},[()=>typeof T.content==="function"?T.content():T.content])})})])};var df={};R(df,{Timeline:()=>V_});var V_=(f)=>{let{class:M,items:_=[],vertical:A=!0,compact:E=!1,...C}=f,T={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...C,class:()=>B(`timeline ${P(A)?"timeline-vertical":"timeline-horizontal"} ${P(E)?"timeline-compact":""}`,M)},()=>{let L=(typeof _==="function"?_():_)||[];return L.map((W,J)=>{let Q=J===0,G=J===L.length-1,Y=W.type||"success",Z=()=>P(W.completed),X=()=>J>0&&P(L[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(W.title)]),Tag("div",{class:"timeline-middle"},[()=>W.icon?D(W.icon):D(T[Y]||T.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(W.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var cf={};R(cf,{Toast:()=>k_});var k_=(f,M="alert-success",_=3500)=>{let A=document.getElementById("sigpro-toast-container");if(!A)A=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(A);let E=Tag("div",{style:"display: contents"});A.appendChild(E);let C,T=()=>{clearTimeout(C);let J=E.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(W.destroy(),E.remove(),!A.hasChildNodes())A.remove()},300);else W.destroy(),E.remove()},L=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${M} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),d({class:"btn-xs btn-circle btn-ghost",onclick:T},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},W=Mount(L,E);if(_>0)C=setTimeout(T,_);return T};var pf={};R(pf,{Tooltip:()=>F_});var F_=(f,M)=>Tag("div",{...f,class:()=>B("tooltip",f.class),"data-tip":f.tip},M);var O_={...Bf,...Gf,...Xf,...Zf,...Sf,...Yf,...qf,...Kf,...Rf,...zf,...Df,...Nf,...Vf,...kf,...Qf,...Ff,...Of,...Uf,...wf,...Hf,...hf,...jf,...xf,...yf,...vf,...mf,...gf,...uf,...bf,...df,...cf,...pf},y_={...O_,install:(f=window)=>{Object.entries(O_).forEach(([M,_])=>{f[M]=_}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(e).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:U,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{...ff,Utils:e,tt:U},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");export{P as val,B as ui,U as tt,D as getIcon,v as Watch,F_ as Tooltip,k_ as Toast,V_ as Timeline,m as Tag,N_ as Tabs,D_ as Table,z_ as Swap,R_ as Stat,K_ as Stack,q_ as Select,j as Router,u as Render,Y_ as Rating,S_ as Range,Z_ as Radio,X_ as Navbar,af as Mount,Q_ as Modal,G_ as Menu,B_ as List,P_ as Label,b as Input,J_ as Indicator,lf as If,sf as For,W_ as Fileinput,L_ as Fieldset,C_ as Fab,T_ as Dropdown,$_ as Drawer,A_ as Datepicker,E_ as Colorpicker,M_ as Checkbox,d as Button,__ as Badge,f_ as Autocomplete,ef as Alert,tf as Accordion,Pf as $$,t as $}; + ${C()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Z)=>{Z.preventDefault(),C(!0)},ondragleave:()=>C(!1),ondrop:(Z)=>{Z.preventDefault(),C(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${T}MB`)]),Tag("input",{type:"file",multiple:!0,accept:E,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>W().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(W,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var Ff={};R(Ff,{Indicator:()=>P_});var P_=(f,M)=>{let{value:_,class:T,...E}=f;return Tag("div",{...E,class:"indicator"},()=>[_?Tag("span",{class:B("indicator-item badge",T)},()=>typeof _==="function"?_():_):null,M].filter(Boolean))};var Uf={};R(Uf,{Label:()=>B_});var B_=(f)=>{let{children:M,value:_,floating:T=!1,class:E,...A}=f;if(T)return Tag("label",{class:B("floating-label",E),...A},()=>[typeof M==="function"?M():M,_?Tag("span",{},P(_)):null]);return Tag("label",{class:B("label",E),...A},()=>[_?Tag("span",{class:"label-text"},P(_)):null,typeof M==="function"?M():M])};var Of={};R(Of,{List:()=>G_});var G_=(f)=>{let{class:M,items:_,header:T,render:E=(C)=>C,keyFn:A=(C,J)=>C.id??J,...L}=f,W=For(_,(C,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[E(C,J)])]),A);return Tag("ul",{...L,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",M)},T?[If(T,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(T)])),W]:W)};var wf={};R(wf,{Menu:()=>Q_});var Q_=(f)=>{let{class:M,items:_,...T}=f,E=(A)=>For(()=>A||[],(L)=>Tag("li",{},[L.children?Tag("details",{open:L.open},[Tag("summary",{},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label]),Tag("ul",{},E(L.children))]):Tag("a",{class:()=>P(L.active)?"active":"",onclick:L.onclick},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label])]),(L,W)=>L.label||W);return Tag("ul",{...T,class:B("menu bg-base-200 rounded-box",M)},E(_))};var Hf={};R(Hf,{Modal:()=>X_});var X_=(f,M)=>{let{class:_,title:T,buttons:E,open:A,...L}=f,W=null,C=()=>{let Q=typeof A==="function"?A():A;if(!W)return;if(Q){if(!W.open)W.showModal()}else if(W.open)W.close()};Watch(()=>C());let J=()=>{if(typeof A==="function")A(!1)};return Tag("dialog",{...L,ref:(Q)=>{if(W=Q,Q)C()},class:B("modal",_),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[T?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof T==="function"?T():T):null,Tag("div",{class:"py-2"},[typeof M==="function"?M():M]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(E)?E:[E]).filter(Boolean),c({type:"submit"},O("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var hf={};R(hf,{Navbar:()=>Z_});var Z_=(f,M)=>{let{class:_,...T}=f;return Tag("div",{...T,class:B("navbar bg-base-100 shadow-sm px-4",_)},M)};var jf={};R(jf,{Radio:()=>S_});var S_=(f)=>{let{class:M,label:_,tooltip:T,value:E,inputValue:A,name:L,...W}=f,C=Tag("input",{...W,type:"radio",name:L,class:B("radio",M),checked:()=>P(E)===A,onclick:()=>{if(typeof E==="function")E(A)}});if(!_&&!T)return C;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[C,_?Tag("span",{class:"label-text"},_):null]);return T?Tag("div",{class:"tooltip","data-tip":T},J):J};var xf={};R(xf,{Range:()=>Y_});var Y_=(f)=>{let{class:M,label:_,tooltip:T,value:E,...A}=f,L=Tag("input",{...A,type:"range",class:B("range",M),value:E,disabled:()=>P(f.disabled)});if(!_&&!T)return L;let W=Tag("div",{class:"flex flex-col gap-2"},[_?Tag("span",{class:"label-text"},_):null,L]);return T?Tag("div",{class:"tooltip","data-tip":T},W):W};var yf={};R(yf,{Rating:()=>q_});var q_=(f)=>{let{class:M,value:_,count:T=5,mask:E="mask-star",readonly:A=!1,onchange:L,...W}=f,C=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...W,class:()=>B(`rating ${P(A)?"pointer-events-none":""}`,M)},Array.from({length:P(T)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:C,class:`mask ${E}`,checked:()=>Math.round(P(_))===G,onchange:()=>{if(!P(A)){if(typeof L==="function")L(G);else if(typeof _==="function")_(G)}}})}))};var vf={};R(vf,{Select:()=>K_});var K_=(f)=>{let{class:M,label:_,items:T,value:E,...A}=f,L=Tag("select",{...A,class:B("select select-bordered w-full",M),value:E},For(()=>P(T)||[],(W)=>Tag("option",{value:W.value,$selected:()=>String(P(E))===String(W.value)},W.label),(W)=>W.value));if(!_)return L;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},_),L])};var mf={};R(mf,{Stack:()=>R_});var R_=(f,M)=>{let{class:_,...T}=f;return Tag("div",{...T,class:B("stack",_)},M)};var uf={};R(uf,{Stat:()=>z_});var z_=(f)=>{let{class:M,icon:_,label:T,value:E,desc:A,...L}=f;return Tag("div",{...L,class:B("stat",M)},[_&&Tag("div",{class:"stat-figure text-secondary"},_),T&&Tag("div",{class:"stat-title"},T),Tag("div",{class:"stat-value"},()=>P(E)??E),A&&Tag("div",{class:"stat-desc"},A)])};var gf={};R(gf,{Swap:()=>D_});var D_=(f)=>{let{class:M,value:_,on:T,off:E,...A}=f;return Tag("label",{...A,class:B("swap",M)},[Tag("input",{type:"checkbox",checked:()=>P(_),onclick:(L)=>{if(typeof _==="function")_(L.target.checked)}}),Tag("div",{class:"swap-on"},T),Tag("div",{class:"swap-off"},E)])};var bf={};R(bf,{Table:()=>N_});var N_=(f)=>{let{class:M,items:_=[],columns:T=[],keyFn:E,zebra:A=!1,pinRows:L=!1,empty:W=O("nodata")(),...C}=f,J=()=>{let G=P(A)?"table-zebra":"",Y=P(L)?"table-pin-rows":"";return B("table",M,G,Y)},Q=E||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...C,class:J},[Tag("thead",{},[Tag("tr",{},T.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(_,(G,Y)=>{let Z=()=>{let X=P(_),q=Q(G,Y);return X.find((z,d)=>Q(z,d)===q)||G};return Tag("tr",{class:"hover"},T.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(_).length===0,()=>Tag("tr",{},[Tag("td",{colspan:T.length,class:"text-center p-10 opacity-50"},[P(W)])]))])])])};var cf={};R(cf,{Tabs:()=>V_});var V_=(f)=>{let{items:M,class:_,...T}=f,E=typeof M==="function"?M:()=>M||[],A=$(0);return Watch(()=>{let L=E().findIndex((W)=>P(W.active)===!0);if(L!==-1&&L!==A())A(L)}),Tag("div",{...T,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",_||"tabs-box")},()=>{return E().map((W,C)=>{let J=()=>A()===C,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(W.disabled)){if(W.onclick)W.onclick();A(C)}}});return Watch(()=>{let G=P(W.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return E().map((L,W)=>{let C=()=>A()===W;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>C()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var df={};R(df,{Timeline:()=>k_});var k_=(f)=>{let{class:M,items:_=[],vertical:T=!0,compact:E=!1,...A}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...A,class:()=>B(`timeline ${P(T)?"timeline-vertical":"timeline-horizontal"} ${P(E)?"timeline-compact":""}`,M)},()=>{let W=(typeof _==="function"?_():_)||[];return W.map((C,J)=>{let Q=J===0,G=J===W.length-1,Y=C.type||"success",Z=()=>P(C.completed),X=()=>J>0&&P(W[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(C.title)]),Tag("div",{class:"timeline-middle"},[()=>C.icon?D(C.icon):D(L[Y]||L.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(C.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var pf={};R(pf,{Toast:()=>F_});var F_=(f,M="alert-success",_=3500)=>{let T=document.getElementById("sigpro-toast-container");if(!T)T=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(T);let E=Tag("div",{style:"display: contents"});T.appendChild(E);let A,L=()=>{clearTimeout(A);let J=E.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(C.destroy(),E.remove(),!T.hasChildNodes())T.remove()},300);else C.destroy(),E.remove()},W=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${M} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),c({class:"btn-xs btn-circle btn-ghost",onclick:L},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},C=Mount(W,E);if(_>0)A=setTimeout(L,_);return L};var rf={};R(rf,{Tooltip:()=>U_});var U_=(f,M)=>Tag("div",{...f,class:()=>B("tooltip w-full",f.class),"data-tip":f.tip},M);var O_={...Gf,...Qf,...Zf,...Sf,...Yf,...qf,...Kf,...Rf,...zf,...Df,...Nf,...Vf,...kf,...Ff,...Xf,...Uf,...Of,...wf,...Hf,...hf,...jf,...xf,...yf,...vf,...mf,...uf,...gf,...bf,...cf,...df,...pf,...rf},I_={...O_,install:(f=window)=>{Object.entries(O_).forEach(([M,_])=>{f[M]=_}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(ff).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(e).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:O,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{...ff,Utils:e,tt:O},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");export{P as val,B as ui,O as tt,D as getIcon,v as Watch,U_ as Tooltip,F_ as Toast,k_ as Timeline,m as Tag,V_ as Tabs,N_ as Table,D_ as Swap,z_ as Stat,R_ as Stack,K_ as Select,j as Router,g as Render,q_ as Rating,Y_ as Range,S_ as Radio,Z_ as Navbar,af as Mount,X_ as Modal,Q_ as Menu,G_ as List,B_ as Label,b as Input,P_ as Indicator,sf as If,tf as For,J_ as Fileinput,C_ as Fieldset,W_ as Fab,$_ as Dropdown,L_ as Drawer,A_ as Datepicker,T_ as Colorpicker,E_ as Checkbox,c as Button,M_ as Badge,__ as Autocomplete,f_ as Alert,ef as Accordion,Bf as $$,a as $}; diff --git a/dist/sigpro-ui.js b/dist/sigpro-ui.js index 8d7964c..5bbe2b6 100644 --- a/dist/sigpro-ui.js +++ b/dist/sigpro-ui.js @@ -444,7 +444,7 @@ var Router = (routes) => { const currentPath = $2(window.location.hash.replace(/^#/, "") || "/"); window.addEventListener("hashchange", () => currentPath(window.location.hash.replace(/^#/, "") || "/")); - const outlet = Tag2("div", { class: "router-outlet" }); + const outlet = Tag2("div", { class: "router-transition" }); let currentView = null; Watch2([currentPath], async () => { const path = currentPath(); @@ -672,8 +672,8 @@ oninput, placeholder, disabled, - size, validate, + label, ...rest } = props; const isPassword = type === "password"; @@ -722,14 +722,14 @@ const inputElement = Tag("input", { ...rest, type: () => isPassword ? visible() ? "text" : "password" : type, - placeholder: placeholder || " ", + placeholder: placeholder || (label ? " " : placeholder), class: inputClasses, value, oninput: handleInput, disabled: () => val(disabled), "aria-invalid": () => hasError() ? "true" : "false" }); - return Tag("div", { class: "relative w-full" }, () => [ + const inputContent = () => [ inputElement, leftIcon ? Tag("div", { class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60" @@ -745,7 +745,14 @@ Tag("div", { class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0" }, () => hasError() ? errorMsg() : null) - ]); + ]; + if (label) { + return Tag("label", { class: ui("floating-label w-full", className) }, () => [ + Tag("div", { class: "relative w-full" }, inputContent), + Tag("span", {}, val(label)) + ]); + } + return Tag("div", { class: "relative w-full" }, inputContent); }; // src/components/Autocomplete.js @@ -858,18 +865,17 @@ Checkbox: () => Checkbox }); var Checkbox = (props) => { - const { class: className, value, tooltip, toggle, label, ...rest } = props; + const { class: className, value, toggle, label, ...rest } = props; const checkEl = Tag("input", { ...rest, type: "checkbox", class: () => ui(val(toggle) ? "toggle" : "checkbox", className), checked: value }); - const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ + return Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, label ? Tag("span", { class: "label-text" }, label) : null ]); - return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; // src/components/Colorpicker.js @@ -1412,18 +1418,16 @@ Label: () => Label }); var Label = (props) => { - const { children, value, floating = false, error, required, class: className, ...rest } = props; + const { children, value, floating = false, class: className, ...rest } = props; if (floating) { - return Tag("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? Tag("span", {}, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null + return Tag("label", { class: ui("floating-label", className), ...rest }, () => [ + typeof children === "function" ? children() : children, + value ? Tag("span", {}, val(value)) : null ]); } - return Tag("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? Tag("span", { class: "label" }, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null + return Tag("label", { class: ui("label", className), ...rest }, () => [ + value ? Tag("span", { class: "label-text" }, val(value)) : null, + typeof children === "function" ? children() : children ]); }; @@ -1885,7 +1889,7 @@ }); var Tooltip = (props, children) => Tag("div", { ...props, - class: () => ui("tooltip", props.class), + class: () => ui("tooltip w-full", props.class), "data-tip": props.tip }, children); diff --git a/dist/sigpro-ui.min.js b/dist/sigpro-ui.min.js index 8b7c622..2d73c36 100644 --- a/dist/sigpro-ui.min.js +++ b/dist/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:Cf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:I_}=Object,y_=Object.prototype.hasOwnProperty;var F_=new WeakMap,v_=(f)=>{var M=F_.get(f),_;if(M)return M;if(M=Cf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")x_(f).map((E)=>!y_.call(M,E)&&Cf(M,E,{get:()=>f[E],enumerable:!(_=I_(f,E))||_.enumerable}));return F_.set(f,M),M};var R=(f,M)=>{for(var _ in M)Cf(f,_,{get:M[_],enumerable:!0,configurable:!0,set:(E)=>M[_]=()=>E})};var d_={};R(d_,{val:()=>P,ui:()=>B,tt:()=>U,getIcon:()=>D,Watch:()=>x,Tooltip:()=>N_,Toast:()=>z_,Timeline:()=>K_,Tag:()=>I,Tabs:()=>Y_,Table:()=>Z_,Swap:()=>Q_,Stat:()=>B_,Stack:()=>J_,Select:()=>L_,Router:()=>j,Render:()=>g,Rating:()=>T_,Range:()=>A_,Radio:()=>M_,Navbar:()=>f_,Mount:()=>Xf,Modal:()=>tf,Menu:()=>sf,List:()=>of,Label:()=>rf,Input:()=>u,Indicator:()=>cf,If:()=>Gf,For:()=>Qf,Fileinput:()=>bf,Fieldset:()=>gf,Fab:()=>vf,Dropdown:()=>xf,Drawer:()=>hf,Datepicker:()=>wf,Colorpicker:()=>Of,Checkbox:()=>kf,Button:()=>b,Badge:()=>Df,Autocomplete:()=>Rf,Alert:()=>Yf,Accordion:()=>Zf,$$:()=>e,$:()=>n});var O=null,h=null,p=new Set,l=!1,Lf=new WeakMap,a=document,r=Array.isArray,Bf=Object.assign,U_=(f)=>a.createElement(f),d=(f)=>a.createTextNode(String(f??"")),V=(f)=>typeof f==="function",Wf=(f)=>typeof f==="object"&&f!==null,Jf=(f,M)=>{let _=O;O=f;try{return M()}finally{O=_}},t=(f)=>{if(f._cleanups)f._cleanups.forEach((M)=>M()),f._cleanups.clear();f.childNodes?.forEach(t)},m_=()=>{if(l)return;l=!0;while(p.size>0){let f=Array.from(p).sort((M,_)=>(M.depth||0)-(_.depth||0));p.clear();for(let M of f)if(!M._deleted)M()}l=!1},Pf=(f)=>{if(O&&!O._deleted)f.add(O),O._deps.add(f)},s=(f)=>{if(f.forEach((M)=>{if(M===O||M._deleted)return;if(M._isComputed){if(M.markDirty(),M._subs)s(M._subs)}else p.add(M)}),!l)queueMicrotask(m_)},g=(f)=>{let M=new Set,_=h,E=U_("div");E.style.display="contents",h={cleanups:M};let A=(C)=>{if(!C)return;if(C._isRuntime)M.add(C.destroy),E.appendChild(C.container);else if(r(C))C.forEach(A);else E.appendChild(C instanceof Node?C:d(C))};try{A(f({onCleanup:(C)=>M.add(C)}))}finally{h=_}return{_isRuntime:!0,container:E,destroy:()=>{M.forEach((C)=>C()),t(E),E.remove()}}},n=(f,M=null)=>{let _=new Set;if(V(f)){let A,C=!0,T=()=>{if(T._deleted)return;T._deps.forEach((L)=>L.delete(T)),T._deps.clear(),Jf(T,()=>{let L=f();if(!Object.is(A,L)||C)A=L,C=!1,s(_)})};if(Bf(T,{_deps:new Set,_isComputed:!0,_subs:_,_deleted:!1,markDirty:()=>C=!0,stop:()=>{T._deleted=!0,T._deps.forEach((L)=>L.delete(T)),_.clear()}}),h)h.cleanups.add(T.stop);return()=>{if(C)T();return Pf(_),A}}let E=f;if(M)try{let A=localStorage.getItem(M);if(A!==null)E=JSON.parse(A)}catch(A){console.warn("SigPro Storage Lock",A)}return(...A)=>{if(A.length){let C=V(A[0])?A[0](E):A[0];if(!Object.is(E,C)){if(E=C,M)localStorage.setItem(M,JSON.stringify(E));s(_)}}return Pf(_),E}},e=(f,M=new WeakMap)=>{if(!Wf(f))return f;if(M.has(f))return M.get(f);let _={},E=new Proxy(f,{get(A,C){if(O)Pf(_[C]??=new Set);let T=Reflect.get(A,C);return Wf(T)?e(T,M):T},set(A,C,T){if(Object.is(A[C],T))return!0;let L=Reflect.set(A,C,T);if(_[C])s(_[C]);return L}});return M.set(f,E),E},x=(f,M)=>{let _=r(f),E=_?M:f;if(!V(E))return()=>{};let A=h,C=()=>{if(C._deleted)return;C._deps.forEach((L)=>L.delete(C)),C._deps.clear(),C._cleanups.forEach((L)=>L()),C._cleanups.clear();let T=h;C.depth=O?O.depth+1:0,Jf(C,()=>{if(h={cleanups:C._cleanups},_)Jf(null,E),f.forEach((L)=>V(L)&&L());else E();h=T})};if(Bf(C,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(C._deleted)return;if(C._deleted=!0,p.delete(C),C._deps.forEach((T)=>T.delete(C)),C._cleanups.forEach((T)=>T()),A)A.cleanups.delete(C.stop)}}),A)A.cleanups.add(C.stop);return C(),C.stop},I=(f,M={},_=[])=>{if(M instanceof Node||r(M)||!Wf(M))_=M,M={};let A=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?a.createElementNS("http://www.w3.org/2000/svg",f):U_(f);A._cleanups=new Set,A.onUnmount=(W)=>A._cleanups.add(W);let C=["disabled","checked","required","readonly","selected","multiple","autofocus"],T=(W,J)=>{let Q=(W==="src"||W==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(C.includes(W))A[W]=!!Q,Q?A.setAttribute(W,""):A.removeAttribute(W);else Q==null?A.removeAttribute(W):A.setAttribute(W,Q)};for(let[W,J]of Object.entries(M)){if(W==="ref"){V(J)?J(A):J.current=A;continue}let Q=V(J);if(W.startsWith("on")){let G=W.slice(2).toLowerCase().split(".")[0];A.addEventListener(G,J),A._cleanups.add(()=>A.removeEventListener(G,J))}else if(Q){if(A._cleanups.add(x(()=>{let G=J();W==="class"?A.className=G||"":T(W,G)})),["INPUT","TEXTAREA","SELECT"].includes(A.tagName)&&(W==="value"||W==="checked")){let G=W==="checked"?"change":"input",Y=(Z)=>J(Z.target[W]);A.addEventListener(G,Y),A._cleanups.add(()=>A.removeEventListener(G,Y))}}else T(W,J)}let L=(W)=>{if(r(W))return W.forEach(L);if(V(W)){let J=d("");A.appendChild(J);let Q=[];A._cleanups.add(x(()=>{let G=W(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:d(Z));Q.forEach((Z)=>{t(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else A.appendChild(W instanceof Node?W:d(W))};return L(_),A},Gf=(f,M,_=null,E=null)=>{let A=d(""),C=I("div",{style:"display:contents"},[A]),T=null,L=null;return x(()=>{let W=!!(V(f)?f():f);if(W===L)return;L=W;let J=()=>{if(T)T.destroy();T=null};if(T&&!W&&E?.out)E.out(T.container,J);else J();let Q=W?M:_;if(Q){if(T=g(()=>V(Q)?Q():Q),C.insertBefore(T.container,A),W&&E?.in)E.in(T.container)}}),C},Qf=(f,M,_,E="div",A={style:"display:contents"})=>{let C=d(""),T=I(E,A,[C]),L=new Map;return x(()=>{let W=(V(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{t(z),z.remove()}}:g(()=>z)}L.delete(X),J.set(X,q),Q.push(X)}L.forEach((Y)=>Y.destroy());let G=C;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)T.insertBefore(Z.container,G);G=Z.container}L=J}),T},j=(f)=>{let M=n(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>M(window.location.hash.replace(/^#/,"")||"/"));let _=I("div",{class:"router-outlet"}),E=null;return x([M],async()=>{let A=M(),C=f.find((T)=>{let L=T.path.split("/").filter(Boolean),W=A.split("/").filter(Boolean);return L.length===W.length&&L.every((J,Q)=>J.startsWith(":")||J===W[Q])})||f.find((T)=>T.path==="*");if(C){let T=C.component;if(V(T)&&T.toString().includes("import"))T=(await T()).default||await T();let L={};if(C.path.split("/").filter(Boolean).forEach((W,J)=>{if(W.startsWith(":"))L[W.slice(1)]=A.split("/").filter(Boolean)[J]}),E)E.destroy();if(j.params)j.params(L);E=g(()=>{try{return V(T)?T(L):T}catch(W){return I("div",{class:"p-4 text-error"},"Error loading view")}}),_.appendChild(E.container)}}),_};j.params=n({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xf=(f,M)=>{let _=typeof M==="string"?a.querySelector(M):M;if(!_)return;if(Lf.has(_))Lf.get(_).destroy();let E=g(V(f)?f:()=>f);return _.replaceChildren(E.container),Lf.set(_,E),E},O_={$:n,$$:e,Render:g,Watch:x,Tag:I,If:Gf,For:Qf,Router:j,Mount:Xf};if(typeof window<"u")Bf(window,O_),"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((M)=>{let _=M[0].toUpperCase()+M.slice(1);if(!(_ in window))window[_]=(E,A)=>I(M,E,A)}),window.SigPro=Object.freeze(O_);var _f={};R(_f,{default:()=>b_,Tooltip:()=>N_,Toast:()=>z_,Timeline:()=>K_,Tabs:()=>Y_,Table:()=>Z_,Swap:()=>Q_,Stat:()=>B_,Stack:()=>J_,Select:()=>L_,Rating:()=>T_,Range:()=>A_,Radio:()=>M_,Navbar:()=>f_,Modal:()=>tf,Menu:()=>sf,List:()=>of,Label:()=>rf,Input:()=>u,Indicator:()=>cf,Fileinput:()=>bf,Fieldset:()=>gf,Fab:()=>vf,Dropdown:()=>xf,Drawer:()=>hf,Datepicker:()=>wf,Colorpicker:()=>Of,Checkbox:()=>kf,Button:()=>b,Badge:()=>Df,Autocomplete:()=>Rf,Alert:()=>Yf,Accordion:()=>Zf});var Sf={};R(Sf,{Accordion:()=>Zf});var ff={};R(ff,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,M)=>typeof M==="function"?()=>`${f} ${M()||""}`.trim():`${f} ${M||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let M=f.trim().split(/\s+/),_=M[M.length-1]==="right",E=_?M.slice(0,-1).join(" "):f,A=_?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return Tag("span",{class:A},E);return Tag("span",{class:`${E} ${A}`.trim()})}return null};var Zf=(f,M)=>{let{class:_,title:E,name:A,open:C,...T}=f;return Tag("div",{...T,class:B("collapse collapse-arrow bg-base-200 mb-2",_)},[Tag("input",{type:A?"radio":"checkbox",name:A,checked:P(C)}),Tag("div",{class:"collapse-title text-xl font-medium"},E),Tag("div",{class:"collapse-content"},M)])};var qf={};R(qf,{Alert:()=>Yf});var Yf=(f,M)=>{let{class:_,actions:E,type:A="info",soft:C=!0,...T}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${A}`,C?"alert-soft":"",_].filter(Boolean).join(" "),G=M||f.message;return Tag("div",{...T,role:"alert",class:B("alert",Q)},()=>[D(L[A]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),E?Tag("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var zf={};R(zf,{Autocomplete:()=>Rf});var g_={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_=$("es");var U=(f)=>()=>g_[u_()][f]||f;var Kf={};R(Kf,{Input:()=>u});var u=(f)=>{let{class:M,value:_,type:E="text",icon:A,oninput:C,placeholder:T,disabled:L,size:W,validate:J,...Q}=f,G=E==="password",Y=$(!1),Z=$(null),X={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=A?D(A):X[E]?D(X[E]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),c=q?"pl-10":"",Mf=G?"pr-10":"",o=()=>{if(M?.includes("input-xs"))return"btn-xs";if(M?.includes("input-sm"))return"btn-sm";if(M?.includes("input-lg"))return"btn-lg";return"btn-md"},i=(N)=>{let k=N.target.value;if(J){let v=J(k);Z(v||null)}C?.(N)},y=()=>Z()&&Z()!=="",S=()=>{let N=`input w-full ${c} ${Mf}`;if(M)N+=` ${M}`;if(y())N+=" input-error";return N.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":E,placeholder:T||" ",class:S,value:_,oninput:i,disabled:()=>P(L),"aria-invalid":()=>y()?"true":"false"});return Tag("div",{class:"relative w-full"},()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",o()),onclick:(N)=>{N.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>y()?Z():null)])};var Rf=(f)=>{let{class:M,items:_=[],value:E,onselect:A,label:C,placeholder:T,...L}=f,W=$(P(E)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=W().toLowerCase(),q=P(_)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(W(z),typeof E==="function")E(q);A?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[u({label:C,class:M,placeholder:T||U("search")(),value:W,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(W(q),typeof E==="function")E(q);J(!0),Q(-1)},...L}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},U("nodata")())])])};var Nf={};R(Nf,{Badge:()=>Df});var Df=(f,M)=>{let{class:_,...E}=f;return Tag("span",{...E,class:B("badge",_)},M)};var Vf={};R(Vf,{Button:()=>b});var b=(f,M)=>{let{class:_,loading:E,icon:A,...C}=f,T=D(A);return Tag("button",{...C,class:B("btn",_),disabled:()=>P(E)||P(f.disabled)},()=>[P(E)&&Tag("span",{class:"loading loading-spinner"}),T,M].filter(Boolean))};var Ff={};R(Ff,{Checkbox:()=>kf});var kf=(f)=>{let{class:M,value:_,tooltip:E,toggle:A,label:C,...T}=f,L=Tag("input",{...T,type:"checkbox",class:()=>B(P(A)?"toggle":"checkbox",M),checked:_}),W=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?Tag("span",{class:"label-text"},C):null]);return E?Tag("div",{class:"tooltip","data-tip":E},W):W};var Uf={};R(Uf,{Colorpicker:()=>Of});var Of=(f)=>{let{class:M,value:_,label:E,...A}=f,C=$(!1),T=["#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=()=>P(_)||"#000000";return Tag("div",{class:B("relative w-fit",M)},[Tag("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:(W)=>{W.stopPropagation(),C(!C())},...A},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?Tag("span",{class:"opacity-80"},E):null]),If(C,()=>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:(W)=>W.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},T.map((W)=>Tag("button",{type:"button",style:`background-color: ${W}`,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()===W.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof _==="function")_(W);C(!1)}})))])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var Hf={};R(Hf,{Datepicker:()=>wf});var wf=(f)=>{let{class:M,value:_,range:E,label:A,placeholder:C,hour:T=!1,...L}=f,W=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(E)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),k=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${k}`},c=(S)=>{let K=z(S),N=P(_);if(Z())if(!N?.start||N.start&&N.end){if(typeof _==="function")_({start:K,end:null,...T&&{startHour:G()}})}else{let k=N.start;if(typeof _==="function"){let v=K{let S=P(_);if(!S)return"";if(typeof S==="string"){if(T&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=T&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),o=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},i=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},y=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let k=parseInt(N.target.value);K(k)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",M)},[u({label:A,placeholder:C||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:Mf,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),W(!W())},...L}),If(W,()=>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:(S)=>S.stopPropagation()},[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:()=>i(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),k=new Date(K,N,1).getDay(),v=k===0?6:k-1,H_=new Date(K,N+1,0).getDate(),Ef=[];for(let m=0;m{let H=P(_),Af=Q(),h_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,j_=H?.end===F,$f=!1;if(Z()&&H?.start){let Tf=H.start;if(!H.end&&Af)$f=F>Tf&&F<=Af||F=Af;else if(H.end)$f=F>Tf&&F{if(Z())Q(F)},onclick:()=>c(k_)},[m.toString()]))}return Ef}]),T?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[y({value:G,onChange:(S)=>{G(S);let K=P(_);if(K?.start)_({...K,startHour:S})}}),y({value:Y,onChange:(S)=>{Y(S);let K=P(_);if(K?.end)_({...K,endHour:S})}})]):y({value:G,onChange:(S)=>{G(S);let K=P(_);if(K&&typeof K==="string"&&K.includes("-"))_(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(W,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>W(!1)}))])};var jf={};R(jf,{Drawer:()=>hf});var hf=(f,M)=>{let{class:_,id:E,open:A,side:C,content:T,...L}=f,W=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...L,class:B("drawer",_)},[Tag("input",{id:W,type:"checkbox",class:"drawer-toggle",checked:()=>typeof A==="function"?A():A,onchange:(J)=>{if(typeof A==="function")A(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof T==="function"?T():T]),Tag("div",{class:"drawer-side"},[Tag("label",{for:W,class:"drawer-overlay",onclick:()=>{if(typeof A==="function")A(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var yf={};R(yf,{Dropdown:()=>xf});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var xf=(f)=>{let{class:M,label:_,icon:E,items:A,...C}=f;return Tag("details",{...C,class:B("dropdown",M)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(T)=>{let L=T.currentTarget.closest("details");if(w&&w!==L)w.open=!1;setTimeout(()=>{w=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>_?typeof _==="function"?_():_: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((L)=>Tag("li",{},[Tag("a",{class:L.class||"",onclick:(W)=>{if(L.onclick)L.onclick(W);let J=W.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[L.icon?Tag("span",{},L.icon):null,Tag("span",{},L.label)])]))}])])};var mf={};R(mf,{Fab:()=>vf});var vf=(f)=>{let{class:M,icon:_,label:E,actions:A=[],position:C="bottom-6 right-6",...T}=f;return Tag("div",{...T,class:B(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,M)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[_?D(_):null,!_&&E?E:null]),...P(A).map((L)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(W)=>{W.stopPropagation(),L.onclick?.(W)}},[L.icon?D(L.icon):L.text||""])]))])};var uf={};R(uf,{Fieldset:()=>gf});var gf=(f,M)=>{let{class:_,legend:E,...A}=f;return Tag("fieldset",{...A,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",_)},[()=>{let C=P(E);return C?Tag("legend",{class:"fieldset-legend font-bold"},[C]):null},M])};var df={};R(df,{Fileinput:()=>bf});var bf=(f)=>{let{class:M,tooltip:_,max:E=2,accept:A="*",onselect:C,...T}=f,L=$([]),W=$(!1),J=$(null),Q=E*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${E}MB`);return}L([...L(),...X]),C?.(L())},Y=(Z)=>{let X=L().filter((q,z)=>z!==Z);L(X),C?.(X)};return Tag("fieldset",{...T,class:B("fieldset w-full p-0",M)},[Tag("div",{class:()=>`w-full ${_?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":_},[Tag("label",{class:()=>` +(()=>{var{defineProperty:Wf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:y_}=Object,I_=Object.prototype.hasOwnProperty;var U_=new WeakMap,v_=(f)=>{var _=U_.get(f),M;if(_)return _;if(_=Wf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")x_(f).map((E)=>!I_.call(_,E)&&Wf(_,E,{get:()=>f[E],enumerable:!(M=y_(f,E))||M.enumerable}));return U_.set(f,_),_};var R=(f,_)=>{for(var M in _)Wf(f,M,{get:_[M],enumerable:!0,configurable:!0,set:(E)=>_[M]=()=>E})};var c_={};R(c_,{val:()=>P,ui:()=>B,tt:()=>O,getIcon:()=>D,Watch:()=>x,Tooltip:()=>V_,Toast:()=>D_,Timeline:()=>R_,Tag:()=>y,Tabs:()=>q_,Table:()=>S_,Swap:()=>X_,Stat:()=>G_,Stack:()=>P_,Select:()=>C_,Router:()=>j,Render:()=>u,Rating:()=>$_,Range:()=>A_,Radio:()=>E_,Navbar:()=>__,Mount:()=>Zf,Modal:()=>ef,Menu:()=>tf,List:()=>lf,Label:()=>nf,Input:()=>g,Indicator:()=>pf,If:()=>Qf,For:()=>Xf,Fileinput:()=>cf,Fieldset:()=>gf,Fab:()=>mf,Dropdown:()=>yf,Drawer:()=>jf,Datepicker:()=>Hf,Colorpicker:()=>Of,Checkbox:()=>Ff,Button:()=>b,Badge:()=>Nf,Autocomplete:()=>zf,Alert:()=>qf,Accordion:()=>Sf,$$:()=>e,$:()=>n});var U=null,h=null,p=new Set,l=!1,Cf=new WeakMap,t=document,r=Array.isArray,Gf=Object.assign,w_=(f)=>t.createElement(f),c=(f)=>t.createTextNode(String(f??"")),k=(f)=>typeof f==="function",Jf=(f)=>typeof f==="object"&&f!==null,Pf=(f,_)=>{let M=U;U=f;try{return _()}finally{U=M}},a=(f)=>{if(f._cleanups)f._cleanups.forEach((_)=>_()),f._cleanups.clear();f.childNodes?.forEach(a)},m_=()=>{if(l)return;l=!0;while(p.size>0){let f=Array.from(p).sort((_,M)=>(_.depth||0)-(M.depth||0));p.clear();for(let _ of f)if(!_._deleted)_()}l=!1},Bf=(f)=>{if(U&&!U._deleted)f.add(U),U._deps.add(f)},s=(f)=>{if(f.forEach((_)=>{if(_===U||_._deleted)return;if(_._isComputed){if(_.markDirty(),_._subs)s(_._subs)}else p.add(_)}),!l)queueMicrotask(m_)},u=(f)=>{let _=new Set,M=h,E=w_("div");E.style.display="contents",h={cleanups:_};let T=(A)=>{if(!A)return;if(A._isRuntime)_.add(A.destroy),E.appendChild(A.container);else if(r(A))A.forEach(T);else E.appendChild(A instanceof Node?A:c(A))};try{T(f({onCleanup:(A)=>_.add(A)}))}finally{h=M}return{_isRuntime:!0,container:E,destroy:()=>{_.forEach((A)=>A()),a(E),E.remove()}}},n=(f,_=null)=>{let M=new Set;if(k(f)){let T,A=!0,L=()=>{if(L._deleted)return;L._deps.forEach((W)=>W.delete(L)),L._deps.clear(),Pf(L,()=>{let W=f();if(!Object.is(T,W)||A)T=W,A=!1,s(M)})};if(Gf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>A=!0,stop:()=>{L._deleted=!0,L._deps.forEach((W)=>W.delete(L)),M.clear()}}),h)h.cleanups.add(L.stop);return()=>{if(A)L();return Bf(M),T}}let E=f;if(_)try{let T=localStorage.getItem(_);if(T!==null)E=JSON.parse(T)}catch(T){console.warn("SigPro Storage Lock",T)}return(...T)=>{if(T.length){let A=k(T[0])?T[0](E):T[0];if(!Object.is(E,A)){if(E=A,_)localStorage.setItem(_,JSON.stringify(E));s(M)}}return Bf(M),E}},e=(f,_=new WeakMap)=>{if(!Jf(f))return f;if(_.has(f))return _.get(f);let M={},E=new Proxy(f,{get(T,A){if(U)Bf(M[A]??=new Set);let L=Reflect.get(T,A);return Jf(L)?e(L,_):L},set(T,A,L){if(Object.is(T[A],L))return!0;let W=Reflect.set(T,A,L);if(M[A])s(M[A]);return W}});return _.set(f,E),E},x=(f,_)=>{let M=r(f),E=M?_:f;if(!k(E))return()=>{};let T=h,A=()=>{if(A._deleted)return;A._deps.forEach((W)=>W.delete(A)),A._deps.clear(),A._cleanups.forEach((W)=>W()),A._cleanups.clear();let L=h;A.depth=U?U.depth+1:0,Pf(A,()=>{if(h={cleanups:A._cleanups},M)Pf(null,E),f.forEach((W)=>k(W)&&W());else E();h=L})};if(Gf(A,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(A._deleted)return;if(A._deleted=!0,p.delete(A),A._deps.forEach((L)=>L.delete(A)),A._cleanups.forEach((L)=>L()),T)T.cleanups.delete(A.stop)}}),T)T.cleanups.add(A.stop);return A(),A.stop},y=(f,_={},M=[])=>{if(_ instanceof Node||r(_)||!Jf(_))M=_,_={};let T=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?t.createElementNS("http://www.w3.org/2000/svg",f):w_(f);T._cleanups=new Set,T.onUnmount=(C)=>T._cleanups.add(C);let A=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(C,J)=>{let Q=(C==="src"||C==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(A.includes(C))T[C]=!!Q,Q?T.setAttribute(C,""):T.removeAttribute(C);else Q==null?T.removeAttribute(C):T.setAttribute(C,Q)};for(let[C,J]of Object.entries(_)){if(C==="ref"){k(J)?J(T):J.current=T;continue}let Q=k(J);if(C.startsWith("on")){let G=C.slice(2).toLowerCase().split(".")[0];T.addEventListener(G,J),T._cleanups.add(()=>T.removeEventListener(G,J))}else if(Q){if(T._cleanups.add(x(()=>{let G=J();C==="class"?T.className=G||"":L(C,G)})),["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(C==="value"||C==="checked")){let G=C==="checked"?"change":"input",Y=(Z)=>J(Z.target[C]);T.addEventListener(G,Y),T._cleanups.add(()=>T.removeEventListener(G,Y))}}else L(C,J)}let W=(C)=>{if(r(C))return C.forEach(W);if(k(C)){let J=c("");T.appendChild(J);let Q=[];T._cleanups.add(x(()=>{let G=C(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:c(Z));Q.forEach((Z)=>{a(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else T.appendChild(C instanceof Node?C:c(C))};return W(M),T},Qf=(f,_,M=null,E=null)=>{let T=c(""),A=y("div",{style:"display:contents"},[T]),L=null,W=null;return x(()=>{let C=!!(k(f)?f():f);if(C===W)return;W=C;let J=()=>{if(L)L.destroy();L=null};if(L&&!C&&E?.out)E.out(L.container,J);else J();let Q=C?_:M;if(Q){if(L=u(()=>k(Q)?Q():Q),A.insertBefore(L.container,T),C&&E?.in)E.in(L.container)}}),A},Xf=(f,_,M,E="div",T={style:"display:contents"})=>{let A=c(""),L=y(E,T,[A]),W=new Map;return x(()=>{let C=(k(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{a(z),z.remove()}}:u(()=>z)}W.delete(X),J.set(X,q),Q.push(X)}W.forEach((Y)=>Y.destroy());let G=A;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)L.insertBefore(Z.container,G);G=Z.container}W=J}),L},j=(f)=>{let _=n(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>_(window.location.hash.replace(/^#/,"")||"/"));let M=y("div",{class:"router-transition"}),E=null;return x([_],async()=>{let T=_(),A=f.find((L)=>{let W=L.path.split("/").filter(Boolean),C=T.split("/").filter(Boolean);return W.length===C.length&&W.every((J,Q)=>J.startsWith(":")||J===C[Q])})||f.find((L)=>L.path==="*");if(A){let L=A.component;if(k(L)&&L.toString().includes("import"))L=(await L()).default||await L();let W={};if(A.path.split("/").filter(Boolean).forEach((C,J)=>{if(C.startsWith(":"))W[C.slice(1)]=T.split("/").filter(Boolean)[J]}),E)E.destroy();if(j.params)j.params(W);E=u(()=>{try{return k(L)?L(W):L}catch(C){return y("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};j.params=n({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var Zf=(f,_)=>{let M=typeof _==="string"?t.querySelector(_):_;if(!M)return;if(Cf.has(M))Cf.get(M).destroy();let E=u(k(f)?f:()=>f);return M.replaceChildren(E.container),Cf.set(M,E),E},O_={$:n,$$:e,Render:u,Watch:x,Tag:y,If:Qf,For:Xf,Router:j,Mount:Zf};if(typeof window<"u")Gf(window,O_),"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((_)=>{let M=_[0].toUpperCase()+_.slice(1);if(!(M in window))window[M]=(E,T)=>y(_,E,T)}),window.SigPro=Object.freeze(O_);var _f={};R(_f,{default:()=>b_,Tooltip:()=>V_,Toast:()=>D_,Timeline:()=>R_,Tabs:()=>q_,Table:()=>S_,Swap:()=>X_,Stat:()=>G_,Stack:()=>P_,Select:()=>C_,Rating:()=>$_,Range:()=>A_,Radio:()=>E_,Navbar:()=>__,Modal:()=>ef,Menu:()=>tf,List:()=>lf,Label:()=>nf,Input:()=>g,Indicator:()=>pf,Fileinput:()=>cf,Fieldset:()=>gf,Fab:()=>mf,Dropdown:()=>yf,Drawer:()=>jf,Datepicker:()=>Hf,Colorpicker:()=>Of,Checkbox:()=>Ff,Button:()=>b,Badge:()=>Nf,Autocomplete:()=>zf,Alert:()=>qf,Accordion:()=>Sf});var Yf={};R(Yf,{Accordion:()=>Sf});var ff={};R(ff,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,_)=>typeof _==="function"?()=>`${f} ${_()||""}`.trim():`${f} ${_||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let _=f.trim().split(/\s+/),M=_[_.length-1]==="right",E=M?_.slice(0,-1).join(" "):f,T=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return Tag("span",{class:T},E);return Tag("span",{class:`${E} ${T}`.trim()})}return null};var Sf=(f,_)=>{let{class:M,title:E,name:T,open:A,...L}=f;return Tag("div",{...L,class:B("collapse collapse-arrow bg-base-200 mb-2",M)},[Tag("input",{type:T?"radio":"checkbox",name:T,checked:P(A)}),Tag("div",{class:"collapse-title text-xl font-medium"},E),Tag("div",{class:"collapse-content"},_)])};var Kf={};R(Kf,{Alert:()=>qf});var qf=(f,_)=>{let{class:M,actions:E,type:T="info",soft:A=!0,...L}=f,W={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${T}`,A?"alert-soft":"",M].filter(Boolean).join(" "),G=_||f.message;return Tag("div",{...L,role:"alert",class:B("alert",Q)},()=>[D(W[T]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),E?Tag("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Df={};R(Df,{Autocomplete:()=>zf});var u_={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"}},g_=$("es");var O=(f)=>()=>u_[g_()][f]||f;var Rf={};R(Rf,{Input:()=>g});var g=(f)=>{let{class:_,value:M,type:E="text",icon:T,oninput:A,placeholder:L,disabled:W,validate:C,label:J,...Q}=f,G=E==="password",Y=$(!1),Z=$(null),X={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=T?D(T):X[E]?D(X[E]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",Mf=G?"pr-10":"",o=()=>{if(_?.includes("input-xs"))return"btn-xs";if(_?.includes("input-sm"))return"btn-sm";if(_?.includes("input-lg"))return"btn-lg";return"btn-md"},i=(V)=>{let v=V.target.value;if(C){let Ef=C(v);Z(Ef||null)}A?.(V)},I=()=>Z()&&Z()!=="",S=()=>{let V=`input w-full ${d} ${Mf}`;if(_)V+=` ${_}`;if(I())V+=" input-error";return V.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":E,placeholder:L||(J?" ":L),class:S,value:M,oninput:i,disabled:()=>P(W),"aria-invalid":()=>I()?"true":"false"}),N=()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",o()),onclick:(V)=>{V.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>I()?Z():null)];if(J)return Tag("label",{class:B("floating-label w-full",_)},()=>[Tag("div",{class:"relative w-full"},N),Tag("span",{},P(J))]);return Tag("div",{class:"relative w-full"},N)};var zf=(f)=>{let{class:_,items:M=[],value:E,onselect:T,label:A,placeholder:L,...W}=f,C=$(P(E)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=C().toLowerCase(),q=P(M)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(C(z),typeof E==="function")E(q);T?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[g({label:A,class:_,placeholder:L||O("search")(),value:C,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(C(q),typeof E==="function")E(q);J(!0),Q(-1)},...W}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},O("nodata")())])])};var Vf={};R(Vf,{Badge:()=>Nf});var Nf=(f,_)=>{let{class:M,...E}=f;return Tag("span",{...E,class:B("badge",M)},_)};var kf={};R(kf,{Button:()=>b});var b=(f,_)=>{let{class:M,loading:E,icon:T,...A}=f,L=D(T);return Tag("button",{...A,class:B("btn",M),disabled:()=>P(E)||P(f.disabled)},()=>[P(E)&&Tag("span",{class:"loading loading-spinner"}),L,_].filter(Boolean))};var Uf={};R(Uf,{Checkbox:()=>Ff});var Ff=(f)=>{let{class:_,value:M,toggle:E,label:T,...A}=f,L=Tag("input",{...A,type:"checkbox",class:()=>B(P(E)?"toggle":"checkbox",_),checked:M});return Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?Tag("span",{class:"label-text"},T):null])};var wf={};R(wf,{Colorpicker:()=>Of});var Of=(f)=>{let{class:_,value:M,label:E,...T}=f,A=$(!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"],W=()=>P(M)||"#000000";return Tag("div",{class:B("relative w-fit",_)},[Tag("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:(C)=>{C.stopPropagation(),A(!A())},...T},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${W()}`}),E?Tag("span",{class:"opacity-80"},E):null]),If(A,()=>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:(C)=>C.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},L.map((C)=>Tag("button",{type:"button",style:`background-color: ${C}`,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 + ${W().toLowerCase()===C.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(C);A(!1)}})))])),If(A,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>A(!1)}))])};var hf={};R(hf,{Datepicker:()=>Hf});var Hf=(f)=>{let{class:_,value:M,range:E,label:T,placeholder:A,hour:L=!1,...W}=f,C=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(E)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),V=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${V}`},d=(S)=>{let K=z(S),N=P(M);if(Z())if(!N?.start||N.start&&N.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:G()}})}else{let V=N.start;if(typeof M==="function"){let v=K{let S=P(M);if(!S)return"";if(typeof S==="string"){if(L&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=L&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),o=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},i=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},I=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let V=parseInt(N.target.value);K(V)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",_)},[g({label:T,placeholder:A||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:Mf,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),C(!C())},...W}),If(C,()=>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:(S)=>S.stopPropagation()},[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:()=>i(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),V=new Date(K,N,1).getDay(),v=V===0?6:V-1,Ef=new Date(K,N+1,0).getDate(),Tf=[];for(let m=0;m{let H=P(M),Af=Q(),h_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,j_=H?.end===F,Lf=!1;if(Z()&&H?.start){let $f=H.start;if(!H.end&&Af)Lf=F>$f&&F<=Af||F<$f&&F>=Af;else if(H.end)Lf=F>$f&&F{if(Z())Q(F)},onclick:()=>d(F_)},[m.toString()]))}return Tf}]),L?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[I({value:G,onChange:(S)=>{G(S);let K=P(M);if(K?.start)M({...K,startHour:S})}}),I({value:Y,onChange:(S)=>{Y(S);let K=P(M);if(K?.end)M({...K,endHour:S})}})]):I({value:G,onChange:(S)=>{G(S);let K=P(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>C(!1)}))])};var xf={};R(xf,{Drawer:()=>jf});var jf=(f,_)=>{let{class:M,id:E,open:T,side:A,content:L,...W}=f,C=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...W,class:B("drawer",M)},[Tag("input",{id:C,type:"checkbox",class:"drawer-toggle",checked:()=>typeof T==="function"?T():T,onchange:(J)=>{if(typeof T==="function")T(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof L==="function"?L():L]),Tag("div",{class:"drawer-side"},[Tag("label",{for:C,class:"drawer-overlay",onclick:()=>{if(typeof T==="function")T(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof A==="function"?A():A])])])};var vf={};R(vf,{Dropdown:()=>yf});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var yf=(f)=>{let{class:_,label:M,icon:E,items:T,...A}=f;return Tag("details",{...A,class:B("dropdown",_)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let W=L.currentTarget.closest("details");if(w&&w!==W)w.open=!1;setTimeout(()=>{w=W.open?W:null},0)}},[()=>E?typeof E==="function"?E():E: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 T==="function"?T():T||[]).map((W)=>Tag("li",{},[Tag("a",{class:W.class||"",onclick:(C)=>{if(W.onclick)W.onclick(C);let J=C.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[W.icon?Tag("span",{},W.icon):null,Tag("span",{},W.label)])]))}])])};var uf={};R(uf,{Fab:()=>mf});var mf=(f)=>{let{class:_,icon:M,label:E,actions:T=[],position:A="bottom-6 right-6",...L}=f;return Tag("div",{...L,class:B(`fab absolute ${A} flex flex-col-reverse items-end gap-3 z-[100]`,_)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?D(M):null,!M&&E?E:null]),...P(T).map((W)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[W.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},W.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${W.class||""}`,onclick:(C)=>{C.stopPropagation(),W.onclick?.(C)}},[W.icon?D(W.icon):W.text||""])]))])};var bf={};R(bf,{Fieldset:()=>gf});var gf=(f,_)=>{let{class:M,legend:E,...T}=f;return Tag("fieldset",{...T,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let A=P(E);return A?Tag("legend",{class:"fieldset-legend font-bold"},[A]):null},_])};var df={};R(df,{Fileinput:()=>cf});var cf=(f)=>{let{class:_,tooltip:M,max:E=2,accept:T="*",onselect:A,...L}=f,W=$([]),C=$(!1),J=$(null),Q=E*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${E}MB`);return}W([...W(),...X]),A?.(W())},Y=(Z)=>{let X=W().filter((q,z)=>z!==Z);W(X),A?.(X)};return Tag("fieldset",{...L,class:B("fieldset w-full p-0",_)},[Tag("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[Tag("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 - ${W()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Z)=>{Z.preventDefault(),W(!0)},ondragleave:()=>W(!1),ondrop:(Z)=>{Z.preventDefault(),W(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${E}MB`)]),Tag("input",{type:"file",multiple:!0,accept:A,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>L().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(L,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var pf={};R(pf,{Indicator:()=>cf});var cf=(f,M)=>{let{value:_,class:E,...A}=f;return Tag("div",{...A,class:"indicator"},()=>[_?Tag("span",{class:B("indicator-item badge",E)},()=>typeof _==="function"?_():_):null,M].filter(Boolean))};var nf={};R(nf,{Label:()=>rf});var rf=(f)=>{let{children:M,value:_,floating:E=!1,error:A,required:C,class:T,...L}=f;if(E)return Tag("label",{class:B("floating-label w-full",T),...L},()=>[_?Tag("span",{},_):null,M,A?Tag("span",{class:"text-error text-xs"},P(A)):null]);return Tag("label",{class:B("input w-full",T),...L},()=>[_?Tag("span",{class:"label"},_):null,M,A?Tag("span",{class:"text-error text-xs"},P(A)):null])};var lf={};R(lf,{List:()=>of});var of=(f)=>{let{class:M,items:_,header:E,render:A=(W)=>W,keyFn:C=(W,J)=>W.id??J,...T}=f,L=For(_,(W,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[A(W,J)])]),C);return Tag("ul",{...T,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",M)},E?[If(E,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(E)])),L]:L)};var af={};R(af,{Menu:()=>sf});var sf=(f)=>{let{class:M,items:_,...E}=f,A=(C)=>For(()=>C||[],(T)=>Tag("li",{},[T.children?Tag("details",{open:T.open},[Tag("summary",{},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label]),Tag("ul",{},A(T.children))]):Tag("a",{class:()=>P(T.active)?"active":"",onclick:T.onclick},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label])]),(T,L)=>T.label||L);return Tag("ul",{...E,class:B("menu bg-base-200 rounded-box",M)},A(_))};var ef={};R(ef,{Modal:()=>tf});var tf=(f,M)=>{let{class:_,title:E,buttons:A,open:C,...T}=f,L=null,W=()=>{let Q=typeof C==="function"?C():C;if(!L)return;if(Q){if(!L.open)L.showModal()}else if(L.open)L.close()};Watch(()=>W());let J=()=>{if(typeof C==="function")C(!1)};return Tag("dialog",{...T,ref:(Q)=>{if(L=Q,Q)W()},class:B("modal",_),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[E?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,Tag("div",{class:"py-2"},[typeof M==="function"?M():M]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(A)?A:[A]).filter(Boolean),b({type:"submit"},U("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var __={};R(__,{Navbar:()=>f_});var f_=(f,M)=>{let{class:_,...E}=f;return Tag("div",{...E,class:B("navbar bg-base-100 shadow-sm px-4",_)},M)};var E_={};R(E_,{Radio:()=>M_});var M_=(f)=>{let{class:M,label:_,tooltip:E,value:A,inputValue:C,name:T,...L}=f,W=Tag("input",{...L,type:"radio",name:T,class:B("radio",M),checked:()=>P(A)===C,onclick:()=>{if(typeof A==="function")A(C)}});if(!_&&!E)return W;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[W,_?Tag("span",{class:"label-text"},_):null]);return E?Tag("div",{class:"tooltip","data-tip":E},J):J};var $_={};R($_,{Range:()=>A_});var A_=(f)=>{let{class:M,label:_,tooltip:E,value:A,...C}=f,T=Tag("input",{...C,type:"range",class:B("range",M),value:A,disabled:()=>P(f.disabled)});if(!_&&!E)return T;let L=Tag("div",{class:"flex flex-col gap-2"},[_?Tag("span",{class:"label-text"},_):null,T]);return E?Tag("div",{class:"tooltip","data-tip":E},L):L};var C_={};R(C_,{Rating:()=>T_});var T_=(f)=>{let{class:M,value:_,count:E=5,mask:A="mask-star",readonly:C=!1,onchange:T,...L}=f,W=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...L,class:()=>B(`rating ${P(C)?"pointer-events-none":""}`,M)},Array.from({length:P(E)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:W,class:`mask ${A}`,checked:()=>Math.round(P(_))===G,onchange:()=>{if(!P(C)){if(typeof T==="function")T(G);else if(typeof _==="function")_(G)}}})}))};var W_={};R(W_,{Select:()=>L_});var L_=(f)=>{let{class:M,label:_,items:E,value:A,...C}=f,T=Tag("select",{...C,class:B("select select-bordered w-full",M),value:A},For(()=>P(E)||[],(L)=>Tag("option",{value:L.value,$selected:()=>String(P(A))===String(L.value)},L.label),(L)=>L.value));if(!_)return T;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},_),T])};var P_={};R(P_,{Stack:()=>J_});var J_=(f,M)=>{let{class:_,...E}=f;return Tag("div",{...E,class:B("stack",_)},M)};var G_={};R(G_,{Stat:()=>B_});var B_=(f)=>{let{class:M,icon:_,label:E,value:A,desc:C,...T}=f;return Tag("div",{...T,class:B("stat",M)},[_&&Tag("div",{class:"stat-figure text-secondary"},_),E&&Tag("div",{class:"stat-title"},E),Tag("div",{class:"stat-value"},()=>P(A)??A),C&&Tag("div",{class:"stat-desc"},C)])};var X_={};R(X_,{Swap:()=>Q_});var Q_=(f)=>{let{class:M,value:_,on:E,off:A,...C}=f;return Tag("label",{...C,class:B("swap",M)},[Tag("input",{type:"checkbox",checked:()=>P(_),onclick:(T)=>{if(typeof _==="function")_(T.target.checked)}}),Tag("div",{class:"swap-on"},E),Tag("div",{class:"swap-off"},A)])};var S_={};R(S_,{Table:()=>Z_});var Z_=(f)=>{let{class:M,items:_=[],columns:E=[],keyFn:A,zebra:C=!1,pinRows:T=!1,empty:L=U("nodata")(),...W}=f,J=()=>{let G=P(C)?"table-zebra":"",Y=P(T)?"table-pin-rows":"";return B("table",M,G,Y)},Q=A||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...W,class:J},[Tag("thead",{},[Tag("tr",{},E.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(_,(G,Y)=>{let Z=()=>{let X=P(_),q=Q(G,Y);return X.find((z,c)=>Q(z,c)===q)||G};return Tag("tr",{class:"hover"},E.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(_).length===0,()=>Tag("tr",{},[Tag("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[P(L)])]))])])])};var q_={};R(q_,{Tabs:()=>Y_});var Y_=(f)=>{let{items:M,class:_,...E}=f,A=typeof M==="function"?M:()=>M||[],C=$(0);return Watch(()=>{let T=A().findIndex((L)=>P(L.active)===!0);if(T!==-1&&T!==C())C(T)}),Tag("div",{...E,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",_||"tabs-box")},()=>{return A().map((L,W)=>{let J=()=>C()===W,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(L.disabled)){if(L.onclick)L.onclick();C(W)}}});return Watch(()=>{let G=P(L.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return A().map((T,L)=>{let W=()=>C()===L;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>W()?"display: block":"display: none"},[()=>typeof T.content==="function"?T.content():T.content])})})])};var R_={};R(R_,{Timeline:()=>K_});var K_=(f)=>{let{class:M,items:_=[],vertical:E=!0,compact:A=!1,...C}=f,T={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...C,class:()=>B(`timeline ${P(E)?"timeline-vertical":"timeline-horizontal"} ${P(A)?"timeline-compact":""}`,M)},()=>{let L=(typeof _==="function"?_():_)||[];return L.map((W,J)=>{let Q=J===0,G=J===L.length-1,Y=W.type||"success",Z=()=>P(W.completed),X=()=>J>0&&P(L[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(W.title)]),Tag("div",{class:"timeline-middle"},[()=>W.icon?D(W.icon):D(T[Y]||T.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(W.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var D_={};R(D_,{Toast:()=>z_});var z_=(f,M="alert-success",_=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=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(E);let A=Tag("div",{style:"display: contents"});E.appendChild(A);let C,T=()=>{clearTimeout(C);let J=A.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(W.destroy(),A.remove(),!E.hasChildNodes())E.remove()},300);else W.destroy(),A.remove()},L=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${M} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),b({class:"btn-xs btn-circle btn-ghost",onclick:T},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},W=Mount(L,A);if(_>0)C=setTimeout(T,_);return T};var V_={};R(V_,{Tooltip:()=>N_});var N_=(f,M)=>Tag("div",{...f,class:()=>B("tooltip",f.class),"data-tip":f.tip},M);var w_={...Sf,...qf,...zf,...Nf,...Vf,...Ff,...Uf,...Hf,...jf,...yf,...mf,...uf,...df,...pf,...Kf,...nf,...lf,...af,...ef,...__,...E_,...$_,...C_,...W_,...P_,...G_,...X_,...S_,...q_,...R_,...D_,...V_},b_={...w_,install:(f=window)=>{Object.entries(w_).forEach(([M,_])=>{f[M]=_}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(_f).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(ff).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:U,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{..._f,Utils:ff,tt:U},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${C()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Z)=>{Z.preventDefault(),C(!0)},ondragleave:()=>C(!1),ondrop:(Z)=>{Z.preventDefault(),C(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${E}MB`)]),Tag("input",{type:"file",multiple:!0,accept:T,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>W().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(W,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var rf={};R(rf,{Indicator:()=>pf});var pf=(f,_)=>{let{value:M,class:E,...T}=f;return Tag("div",{...T,class:"indicator"},()=>[M?Tag("span",{class:B("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,_].filter(Boolean))};var of={};R(of,{Label:()=>nf});var nf=(f)=>{let{children:_,value:M,floating:E=!1,class:T,...A}=f;if(E)return Tag("label",{class:B("floating-label",T),...A},()=>[typeof _==="function"?_():_,M?Tag("span",{},P(M)):null]);return Tag("label",{class:B("label",T),...A},()=>[M?Tag("span",{class:"label-text"},P(M)):null,typeof _==="function"?_():_])};var sf={};R(sf,{List:()=>lf});var lf=(f)=>{let{class:_,items:M,header:E,render:T=(C)=>C,keyFn:A=(C,J)=>C.id??J,...L}=f,W=For(M,(C,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[T(C,J)])]),A);return Tag("ul",{...L,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",_)},E?[If(E,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(E)])),W]:W)};var af={};R(af,{Menu:()=>tf});var tf=(f)=>{let{class:_,items:M,...E}=f,T=(A)=>For(()=>A||[],(L)=>Tag("li",{},[L.children?Tag("details",{open:L.open},[Tag("summary",{},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label]),Tag("ul",{},T(L.children))]):Tag("a",{class:()=>P(L.active)?"active":"",onclick:L.onclick},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label])]),(L,W)=>L.label||W);return Tag("ul",{...E,class:B("menu bg-base-200 rounded-box",_)},T(M))};var f_={};R(f_,{Modal:()=>ef});var ef=(f,_)=>{let{class:M,title:E,buttons:T,open:A,...L}=f,W=null,C=()=>{let Q=typeof A==="function"?A():A;if(!W)return;if(Q){if(!W.open)W.showModal()}else if(W.open)W.close()};Watch(()=>C());let J=()=>{if(typeof A==="function")A(!1)};return Tag("dialog",{...L,ref:(Q)=>{if(W=Q,Q)C()},class:B("modal",M),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[E?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,Tag("div",{class:"py-2"},[typeof _==="function"?_():_]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(T)?T:[T]).filter(Boolean),b({type:"submit"},O("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var M_={};R(M_,{Navbar:()=>__});var __=(f,_)=>{let{class:M,...E}=f;return Tag("div",{...E,class:B("navbar bg-base-100 shadow-sm px-4",M)},_)};var T_={};R(T_,{Radio:()=>E_});var E_=(f)=>{let{class:_,label:M,tooltip:E,value:T,inputValue:A,name:L,...W}=f,C=Tag("input",{...W,type:"radio",name:L,class:B("radio",_),checked:()=>P(T)===A,onclick:()=>{if(typeof T==="function")T(A)}});if(!M&&!E)return C;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[C,M?Tag("span",{class:"label-text"},M):null]);return E?Tag("div",{class:"tooltip","data-tip":E},J):J};var L_={};R(L_,{Range:()=>A_});var A_=(f)=>{let{class:_,label:M,tooltip:E,value:T,...A}=f,L=Tag("input",{...A,type:"range",class:B("range",_),value:T,disabled:()=>P(f.disabled)});if(!M&&!E)return L;let W=Tag("div",{class:"flex flex-col gap-2"},[M?Tag("span",{class:"label-text"},M):null,L]);return E?Tag("div",{class:"tooltip","data-tip":E},W):W};var W_={};R(W_,{Rating:()=>$_});var $_=(f)=>{let{class:_,value:M,count:E=5,mask:T="mask-star",readonly:A=!1,onchange:L,...W}=f,C=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...W,class:()=>B(`rating ${P(A)?"pointer-events-none":""}`,_)},Array.from({length:P(E)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:C,class:`mask ${T}`,checked:()=>Math.round(P(M))===G,onchange:()=>{if(!P(A)){if(typeof L==="function")L(G);else if(typeof M==="function")M(G)}}})}))};var J_={};R(J_,{Select:()=>C_});var C_=(f)=>{let{class:_,label:M,items:E,value:T,...A}=f,L=Tag("select",{...A,class:B("select select-bordered w-full",_),value:T},For(()=>P(E)||[],(W)=>Tag("option",{value:W.value,$selected:()=>String(P(T))===String(W.value)},W.label),(W)=>W.value));if(!M)return L;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},M),L])};var B_={};R(B_,{Stack:()=>P_});var P_=(f,_)=>{let{class:M,...E}=f;return Tag("div",{...E,class:B("stack",M)},_)};var Q_={};R(Q_,{Stat:()=>G_});var G_=(f)=>{let{class:_,icon:M,label:E,value:T,desc:A,...L}=f;return Tag("div",{...L,class:B("stat",_)},[M&&Tag("div",{class:"stat-figure text-secondary"},M),E&&Tag("div",{class:"stat-title"},E),Tag("div",{class:"stat-value"},()=>P(T)??T),A&&Tag("div",{class:"stat-desc"},A)])};var Z_={};R(Z_,{Swap:()=>X_});var X_=(f)=>{let{class:_,value:M,on:E,off:T,...A}=f;return Tag("label",{...A,class:B("swap",_)},[Tag("input",{type:"checkbox",checked:()=>P(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),Tag("div",{class:"swap-on"},E),Tag("div",{class:"swap-off"},T)])};var Y_={};R(Y_,{Table:()=>S_});var S_=(f)=>{let{class:_,items:M=[],columns:E=[],keyFn:T,zebra:A=!1,pinRows:L=!1,empty:W=O("nodata")(),...C}=f,J=()=>{let G=P(A)?"table-zebra":"",Y=P(L)?"table-pin-rows":"";return B("table",_,G,Y)},Q=T||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...C,class:J},[Tag("thead",{},[Tag("tr",{},E.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(M,(G,Y)=>{let Z=()=>{let X=P(M),q=Q(G,Y);return X.find((z,d)=>Q(z,d)===q)||G};return Tag("tr",{class:"hover"},E.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(M).length===0,()=>Tag("tr",{},[Tag("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[P(W)])]))])])])};var K_={};R(K_,{Tabs:()=>q_});var q_=(f)=>{let{items:_,class:M,...E}=f,T=typeof _==="function"?_:()=>_||[],A=$(0);return Watch(()=>{let L=T().findIndex((W)=>P(W.active)===!0);if(L!==-1&&L!==A())A(L)}),Tag("div",{...E,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",M||"tabs-box")},()=>{return T().map((W,C)=>{let J=()=>A()===C,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(W.disabled)){if(W.onclick)W.onclick();A(C)}}});return Watch(()=>{let G=P(W.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return T().map((L,W)=>{let C=()=>A()===W;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>C()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var z_={};R(z_,{Timeline:()=>R_});var R_=(f)=>{let{class:_,items:M=[],vertical:E=!0,compact:T=!1,...A}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...A,class:()=>B(`timeline ${P(E)?"timeline-vertical":"timeline-horizontal"} ${P(T)?"timeline-compact":""}`,_)},()=>{let W=(typeof M==="function"?M():M)||[];return W.map((C,J)=>{let Q=J===0,G=J===W.length-1,Y=C.type||"success",Z=()=>P(C.completed),X=()=>J>0&&P(W[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(C.title)]),Tag("div",{class:"timeline-middle"},[()=>C.icon?D(C.icon):D(L[Y]||L.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(C.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var N_={};R(N_,{Toast:()=>D_});var D_=(f,_="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=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(E);let T=Tag("div",{style:"display: contents"});E.appendChild(T);let A,L=()=>{clearTimeout(A);let J=T.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(C.destroy(),T.remove(),!E.hasChildNodes())E.remove()},300);else C.destroy(),T.remove()},W=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${_} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),b({class:"btn-xs btn-circle btn-ghost",onclick:L},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},C=Mount(W,T);if(M>0)A=setTimeout(L,M);return L};var k_={};R(k_,{Tooltip:()=>V_});var V_=(f,_)=>Tag("div",{...f,class:()=>B("tooltip w-full",f.class),"data-tip":f.tip},_);var H_={...Yf,...Kf,...Df,...Vf,...kf,...Uf,...wf,...hf,...xf,...vf,...uf,...bf,...df,...rf,...Rf,...of,...sf,...af,...f_,...M_,...T_,...L_,...W_,...J_,...B_,...Q_,...Z_,...Y_,...K_,...z_,...N_,...k_},b_={...H_,install:(f=window)=>{Object.entries(H_).forEach(([_,M])=>{f[_]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(_f).forEach(([f,_])=>{Object.defineProperty(window,f,{value:_,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(ff).forEach(([f,_])=>{Object.defineProperty(window,f,{value:_,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:O,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{..._f,Utils:ff,tt:O},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/docs/components/checkbox.md b/docs/components/checkbox.md index 4341953..63251af 100644 --- a/docs/components/checkbox.md +++ b/docs/components/checkbox.md @@ -1,6 +1,6 @@ # Checkbox -Toggle checkbox component with label, tooltip support, and reactive state management. +Toggle checkbox component with label support and reactive state management. ## Tag @@ -12,7 +12,6 @@ Toggle checkbox component with label, tooltip support, and reactive state manage | :--- | :--- | :--- | :--- | | `label` | `string` | `-` | Label text for the checkbox | | `value` | `boolean \| Signal` | `false` | Checked state | -| `tooltip` | `string` | `-` | Tooltip text on hover | | `toggle` | `boolean` | `false` | Display as toggle switch instead of checkbox | | `disabled` | `boolean \| Signal` | `false` | Disabled state | | `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | @@ -93,29 +92,6 @@ const ToggleDemo = () => { Mount(ToggleDemo, '#demo-toggle'); ``` -### With Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipDemo = () => { - const darkMode = $(false); - - return Checkbox({ - label: 'Dark mode', - value: darkMode, - tooltip: 'Enable dark theme preference', - onclick: () => darkMode(!darkMode()) - }); -}; -Mount(TooltipDemo, '#demo-tooltip'); -``` - ### Disabled State
@@ -196,6 +172,32 @@ const MultipleDemo = () => { Mount(MultipleDemo, '#demo-multiple'); ``` +### With Tooltip + +
+
+

Live Demo

+
+
+
+ +```javascript +const TooltipDemo = () => { + const accepted = $(false); + + return Tooltip({ + tip: "You must accept the terms to continue" + }, + Checkbox({ + label: 'I accept the terms', + value: accepted, + onclick: () => accepted(!accepted()) + }) + ); +}; +Mount(TooltipDemo, '#demo-tooltip'); +``` + ### All Variants
@@ -287,4 +289,4 @@ const FormDemo = () => { ]); }; Mount(FormDemo, '#demo-form'); -``` \ No newline at end of file +``` diff --git a/docs/components/input.md b/docs/components/input.md index 290c9b0..63267df 100644 --- a/docs/components/input.md +++ b/docs/components/input.md @@ -1,7 +1,6 @@ # Input -Form input component with floating label, icons, password toggle, tooltip, and error states. Fully integrated with DaisyUI and Tailwind. - +Form input component with icons, password toggle, and validation. Use `Label()` and `Tooltip()` as wrappers for label and tooltip functionality. ## Tag @@ -11,16 +10,24 @@ Form input component with floating label, icons, password toggle, tooltip, and e | Prop | Type | Default | Description | | :----------- | :--------------------------- | :--------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text (floating style) | | `type` | `string` | `'text'` | Input type (text, password, email, number, date) | | `value` | `string \| Signal` | `''` | Input value | | `placeholder`| `string` | `' '` | Placeholder text | | `icon` | `string \| VNode \| Signal` | `-` | Icon displayed inside input | -| `tip` | `string` | `-` | Help tooltip text | -| `error` | `string \| Signal` | `-` | Error message to display | | `disabled` | `boolean \| Signal` | `false` | Disabled state | | `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | | `oninput` | `function` | `-` | Input event handler | +| `validate` | `function` | `-` | Validation function returning error message | + +## Styling + +Input supports all **daisyUI Input classes**: + +| Category | Keywords | Description | +| :--- | :--- | :--- | +| Style | `input-bordered`, `input-ghost` | Input style variants | +| Color | `input-primary`, `input-secondary`, `input-accent`, `input-info`, `input-success`, `input-warning`, `input-error` | Input color variants | +| Size | `input-xs`, `input-sm`, `input-md`, `input-lg` | Input size variants | ## Live Examples @@ -91,7 +98,36 @@ const PasswordDemo = () => { Mount(PasswordDemo, '#demo-password'); ``` -### With Tooltip +### With Floating Label + +Wrap the input with `Label()` component: + +
+
+

Live Demo

+
+
+
+ +```javascript +const LabelDemo = () => { + const email = $(''); + + return Input({ + type: 'email', + label: "Email", + floating: true, + value: email, + placeholder: ' ', + oninput: (e) => email(e.target.value) + }); +}; +Mount(LabelDemo, '#demo-label'); +``` + +### With Tooltip & label + +Wrap the input with `Tooltip()` component:
@@ -104,11 +140,14 @@ Mount(PasswordDemo, '#demo-password'); const TooltipDemo = () => { const username = $(''); - return Input({ - tip: 'Must be at least 3 characters', - value: username, - oninput: (e) => username(e.target.value) - }); + return Tooltip({ tip: 'Must be at least 3 characters' }, + Input({ + value: username, + label: "Username", + placeholder: 'Username', + oninput: (e) => username(e.target.value) + }) + ); }; Mount(TooltipDemo, '#demo-tooltip'); ``` @@ -126,11 +165,12 @@ Mount(TooltipDemo, '#demo-tooltip'); const ErrorDemo = () => { const email = $(''); - return Div({ class: 'w-full max-w-md' }, [ + return Div({ class: 'w-full' }, [ Input({ type: 'email', value: email, placeholder: 'Enter your email', + label: 'Email', icon: 'icon-[lucide--mail]', validate: (value) => { if (!value) return ''; @@ -193,17 +233,15 @@ const VariantsDemo = () => { type: 'date', value: $('2024-01-01') }), - Input({class: 'input-primary',value:"Primary"}), - Input({class: 'input-secondary', value:"Secondary"}), - Input({class: 'input-accent', value:"Accent"}), - Input({class: 'input-ghost', value:"Ghost"}), - Input({class: 'input-link', value:"Link"}), - Input({class: 'input-info', value:"Info"}), - Input({class: 'input-success', value:"Success"}), - Input({class: 'input-warning', value:"Warning"}), - Input({class: 'input-error', value:"Error"}), - + Input({class: 'input-primary', value: "Primary"}), + Input({class: 'input-secondary', value: "Secondary"}), + Input({class: 'input-accent', value: "Accent"}), + Input({class: 'input-ghost', value: "Ghost"}), + Input({class: 'input-info', value: "Info"}), + Input({class: 'input-success', value: "Success"}), + Input({class: 'input-warning', value: "Warning"}), + Input({class: 'input-error', value: "Error"}), ]); }; Mount(VariantsDemo, '#demo-variants'); -``` +``` \ No newline at end of file diff --git a/docs/components_old/accordion.md b/docs/components_old/accordion.md deleted file mode 100644 index d114c8a..0000000 --- a/docs/components_old/accordion.md +++ /dev/null @@ -1,730 +0,0 @@ -# Accordion - -Collapsible accordion component for organizing content into expandable sections with DaisyUI styling. - -## Tag - -`Accordion` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :---------- | :----------------------------------------------- | -| `title` | `string \| VNode \| Signal` | Required | Accordion section title | -| `open` | `boolean \| Signal` | `false` | Whether the accordion is expanded | -| `name` | `string` | `-` | Group name for radio-style accordions (only one open at a time) | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `VNode \| Array` | Required | Content to display when expanded | - -## Live Examples - -### Basic Accordion - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const open1 = $(false); - const open2 = $(false); - const open3 = $(false); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: 'Section 1', - open: open1, - onclick: () => open1(!open1()) - }, [ - Div({ class: 'p-2' }, 'Content for section 1. This is a basic accordion section.') - ]), - Accordion({ - title: 'Section 2', - open: open2, - onclick: () => open2(!open2()) - }, [ - Div({ class: 'p-2' }, 'Content for section 2. You can put any content here.') - ]), - Accordion({ - title: 'Section 3', - open: open3, - onclick: () => open3(!open3()) - }, [ - Div({ class: 'p-2' }, 'Content for section 3. Accordions are great for FAQs.') - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Group Accordion (Radio Style) - -
-
-

Live Demo

-
-
-
- -```javascript -const GroupDemo = () => { - const openSection = $('section1'); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: 'Section 1', - name: 'group', - open: () => openSection() === 'section1', - onclick: () => openSection('section1') - }, [ - Div({ class: 'p-2' }, 'Content for section 1. Only one section can be open at a time.') - ]), - Accordion({ - title: 'Section 2', - name: 'group', - open: () => openSection() === 'section2', - onclick: () => openSection('section2') - }, [ - Div({ class: 'p-2' }, 'Content for section 2. Opening this will close section 1.') - ]), - Accordion({ - title: 'Section 3', - name: 'group', - open: () => openSection() === 'section3', - onclick: () => openSection('section3') - }, [ - Div({ class: 'p-2' }, 'Content for section 3. This is useful for FAQ sections.') - ]) - ]); -}; -Mount(GroupDemo, '#demo-group'); -``` - -### FAQ Accordion - -
-
-

Live Demo

-
-
-
- -```javascript -const FaqDemo = () => { - const openFaq = $('faq1'); - - const faqs = [ - { id: 'faq1', question: 'What is this component?', answer: 'This is an accordion component built with DaisyUI and Tailwind CSS for creating collapsible content sections.' }, - { id: 'faq2', question: 'How do I use it?', answer: 'Simply import the Accordion component and pass title and children props. Use the open prop to control expansion.' }, - { id: 'faq3', question: 'Can I have multiple open?', answer: 'Yes! By default, accordions can be opened independently. Use the name prop to create groups where only one can be open.' }, - { id: 'faq4', question: 'Is it accessible?', answer: 'Yes, the accordion uses proper ARIA attributes and keyboard navigation support.' } - ]; - - return Div({ class: 'flex flex-col gap-2' }, faqs.map(faq => - Accordion({ - title: faq.question, - name: 'faq-group', - open: () => openFaq() === faq.id, - onclick: () => openFaq(openFaq() === faq.id ? '' : faq.id) - }, [ - Div({ class: 'p-2 text-sm' }, faq.answer) - ]) - )); -}; -Mount(FaqDemo, '#demo-faq'); -``` - -### With Rich Content - -
-
-

Live Demo

-
-
-
- -```javascript -const RichDemo = () => { - const open1 = $(true); - const open2 = $(false); - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['📊', 'Statistics']), - open: open1, - onclick: () => open1(!open1()) - }, [ - Div({ class: 'p-2' }, [ - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Users'), - Div({ class: 'stat-value text-lg' }, '1,234') - ]), - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Revenue'), - Div({ class: 'stat-value text-lg' }, '$45,678') - ]), - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Growth'), - Div({ class: 'stat-value text-lg text-success' }, '+23%') - ]), - Div({ class: 'stat bg-base-100 rounded-lg p-3' }, [ - Div({ class: 'stat-title' }, 'Active'), - Div({ class: 'stat-value text-lg' }, '89%') - ]) - ]) - ]) - ]), - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['👥', 'Team Members']), - open: open2, - onclick: () => open2(!open2()) - }, [ - Div({ class: 'p-2 space-y-2' }, [ - Div({ class: 'flex items-center gap-3 p-2 hover:bg-base-100 rounded-lg' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-10 h-10 flex items-center justify-center' }, 'JD') - ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, 'John Doe'), - Div({ class: 'text-sm opacity-70' }, 'Developer') - ]) - ]), - Div({ class: 'flex items-center gap-3 p-2 hover:bg-base-100 rounded-lg' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-secondary text-secondary-content rounded-full w-10 h-10 flex items-center justify-center' }, 'JS') - ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, 'Jane Smith'), - Div({ class: 'text-sm opacity-70' }, 'Designer') - ]) - ]) - ]) - ]) - ]); -}; -Mount(RichDemo, '#demo-rich'); -``` - -### Form Accordion - -
-
-

Live Demo

-
-
-
- -```javascript -const FormAccordion = () => { - const openStep = $('step1'); - const formData = $({ - name: '', - email: '', - address: '', - payment: 'credit' - }); - - const updateField = (field, value) => { - formData({ ...formData(), [field]: value }); - }; - - const nextStep = () => { - if (openStep() === 'step1') openStep('step2'); - else if (openStep() === 'step2') openStep('step3'); - }; - - const prevStep = () => { - if (openStep() === 'step2') openStep('step1'); - else if (openStep() === 'step3') openStep('step2'); - }; - - const handleSubmit = () => { - Toast('Form submitted!', 'alert-success', 2000); - console.log(formData()); - }; - - return Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['1️⃣', 'Personal Information']), - name: 'form-steps', - open: () => openStep() === 'step1', - onclick: () => openStep('step1') - }, [ - Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Full Name', - value: () => formData().name, - placeholder: 'Enter your name', - oninput: (e) => updateField('name', e.target.value) - }), - Input({ - label: 'Email', - type: 'email', - value: () => formData().email, - placeholder: 'email@example.com', - oninput: (e) => updateField('email', e.target.value) - }), - Div({ class: 'flex justify-end mt-2' }, [ - Button({ - class: 'btn btn-primary btn-sm', - onclick: nextStep, - disabled: () => !formData().name || !formData().email - }, 'Next →') - ]) - ]) - ]), - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['2️⃣', 'Address']), - name: 'form-steps', - open: () => openStep() === 'step2', - onclick: () => openStep('step2') - }, [ - Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Address', - value: () => formData().address, - placeholder: 'Street address', - oninput: (e) => updateField('address', e.target.value) - }), - Div({ class: 'flex justify-between mt-2' }, [ - Button({ class: 'btn btn-ghost btn-sm', onclick: prevStep }, '← Back'), - Button({ - class: 'btn btn-primary btn-sm', - onclick: nextStep - }, 'Next →') - ]) - ]) - ]), - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['3️⃣', 'Payment']), - name: 'form-steps', - open: () => openStep() === 'step3', - onclick: () => openStep('step3') - }, [ - Div({ class: 'p-4 space-y-4' }, [ - Div({ class: 'flex flex-col gap-2' }, [ - Radio({ - label: 'Credit Card', - value: () => formData().payment, - radioValue: 'credit', - onclick: () => updateField('payment', 'credit') - }), - Radio({ - label: 'PayPal', - value: () => formData().payment, - radioValue: 'paypal', - onclick: () => updateField('payment', 'paypal') - }), - Radio({ - label: 'Bank Transfer', - value: () => formData().payment, - radioValue: 'bank', - onclick: () => updateField('payment', 'bank') - }) - ]), - Div({ class: 'flex justify-between mt-2' }, [ - Button({ class: 'btn btn-ghost btn-sm', onclick: prevStep }, '← Back'), - Button({ class: 'btn btn-success btn-sm', onclick: handleSubmit }, 'Submit') - ]) - ]) - ]) - ]); -}; -Mount(FormAccordion, '#demo-form'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const open1 = $(true); - const open2 = $(false); - const open3 = $(false); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Accordion'), - Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ title: 'Default style', open: open1, onclick: () => open1(!open1()) }, [ - Div({ class: 'p-2' }, 'Default accordion with standard styling.') - ]) - ]), - - Div({ class: 'text-sm font-bold mt-2' }, 'Custom Styling'), - Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: Span({ class: 'text-primary font-bold' }, 'Primary Title'), - open: open2, - onclick: () => open2(!open2()), - class: 'bg-primary/5 border-primary/20' - }, [ - Div({ class: 'p-2' }, 'Accordion with custom styling and primary color.') - ]) - ]), - - Div({ class: 'text-sm font-bold mt-2' }, 'With Icons'), - Div({ class: 'flex flex-col gap-2' }, [ - Accordion({ - title: Span({ class: 'flex items-center gap-2' }, ['✨', 'Featured Content']), - open: open3, - onclick: () => open3(!open3()) - }, [ - Div({ class: 'p-2' }, 'Accordion with emoji icons in the title.') - ]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/alert.md b/docs/components_old/alert.md deleted file mode 100644 index 428ab94..0000000 --- a/docs/components_old/alert.md +++ /dev/null @@ -1,521 +0,0 @@ -# Alert - -Alert component for displaying contextual messages, notifications, and feedback with different severity levels. Supports soft and solid variants. - -## Tag - -`Alert` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `type` | `string` | `'info'` | Alert type: 'info', 'success', 'warning', 'error' | -| `soft` | `boolean \| Signal` | `true` | Use soft variant (subtle background) | -| `actions` | `VNode \| function` | `-` | Optional action buttons or content | -| `message` | `string \| VNode \| Signal` | `-` | Alert message content | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `string \| VNode` | `-` | Alert content (alternative to `message`) | - -## Live Examples - -### Basic Alerts - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ - Alert({ type: 'info', message: 'This is an informational message.' }), - Alert({ type: 'success', message: 'Operation completed successfully!' }), - Alert({ type: 'warning', message: 'Please review your input before proceeding.' }), - Alert({ type: 'error', message: 'An error occurred while processing your request.' }) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Soft vs Solid Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ - Alert({ type: 'info', soft: true, message: 'Soft info alert (default)' }), - Alert({ type: 'info', soft: false, message: 'Solid info alert' }), - Alert({ type: 'success', soft: true, message: 'Soft success alert' }), - Alert({ type: 'success', soft: false, message: 'Solid success alert' }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### With Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const ActionsDemo = () => { - const showUndo = $(false); - const deletedItem = $(null); - - const deleteItem = (item) => { - deletedItem(item); - showUndo(true); - setTimeout(() => { - if (showUndo()) { - showUndo(false); - Toast('Item permanently deleted', 'alert-info', 2000); - } - }, 5000); - }; - - const undoDelete = () => { - showUndo(false); - Toast(`Restored: ${deletedItem()}`, 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Button({ class: 'btn btn-sm', onclick: () => deleteItem('Document A') }, 'Delete Document A'), - Button({ class: 'btn btn-sm', onclick: () => deleteItem('Document B') }, 'Delete Document B') - ]), - () => showUndo() ? Alert({ - type: 'warning', - soft: true, - message: `Deleted: ${deletedItem()}`, - actions: Button({ - class: 'btn btn-sm btn-primary', - onclick: undoDelete - }, 'Undo') - }) : null - ]); -}; -Mount(ActionsDemo, '#demo-actions'); -``` - -### Dismissible Alert - -
-
-

Live Demo

-
-
-
- -```javascript -const DismissibleDemo = () => { - const visible = $(true); - - return Div({ class: 'flex flex-col gap-3' }, [ - () => visible() ? Alert({ - type: 'info', - message: 'This alert can be dismissed. Click the X button to close.', - actions: Button({ - class: 'btn btn-xs btn-circle btn-ghost', - onclick: () => visible(false) - }, '✕') - }) : null, - () => !visible() ? Button({ - class: 'btn btn-sm btn-ghost', - onclick: () => visible(true) - }, 'Show Alert') : null - ]); -}; -Mount(DismissibleDemo, '#demo-dismissible'); -``` - -### Reactive Alert - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const email = $(''); - const error = $(''); - - const validateEmail = (value) => { - email(value); - if (value && !value.includes('@')) { - error('Please enter a valid email address'); - } else { - error(''); - } - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Input({ - label: 'Email Address', - placeholder: 'Enter your email', - value: email, - oninput: (e) => validateEmail(e.target.value) - }), - () => error() ? Alert({ type: 'error', message: error() }) : null, - () => email() && !error() ? Alert({ - type: 'success', - message: `Valid email: ${email()}` - }) : null - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Form Validation - -
-
-

Live Demo

-
-
-
- -```javascript -const FormDemo = () => { - const name = $(''); - const email = $(''); - const submitted = $(false); - const errors = $({ name: '', email: '' }); - - const validate = () => { - const newErrors = { - name: name().trim() ? '' : 'Name is required', - email: email().trim() ? (email().includes('@') ? '' : 'Invalid email') : 'Email is required' - }; - errors(newErrors); - return !newErrors.name && !newErrors.email; - }; - - const handleSubmit = () => { - if (validate()) { - submitted(true); - setTimeout(() => submitted(false), 3000); - Toast('Form submitted successfully!', 'alert-success', 2000); - } - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-lg font-bold' }, 'Contact Form'), - Input({ - label: 'Name', - value: name, - error: () => errors().name, - oninput: (e) => { - name(e.target.value); - validate(); - } - }), - Input({ - label: 'Email', - value: email, - error: () => errors().email, - oninput: (e) => { - email(e.target.value); - validate(); - } - }), - Button({ class: 'btn btn-primary', onclick: handleSubmit }, 'Submit'), - () => submitted() ? Alert({ - type: 'success', - message: 'Thank you! We will contact you soon.' - }) : null, - () => (errors().name || errors().email) ? Alert({ - type: 'error', - message: 'Please fix the errors above before submitting.' - }) : null - ]); -}; -Mount(FormDemo, '#demo-form'); -``` - -### Icon Alerts - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ - Alert({ type: 'info', message: 'Information alert with custom icon' }), - Alert({ type: 'success', message: 'Success alert with custom icon' }), - Alert({ type: 'warning', message: 'Warning alert with custom icon' }), - Alert({ type: 'error', message: 'Error alert with custom icon' }) - ]); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### All Types - -
-
-

Live Demo

-
-
-
- -```javascript -const AllTypesDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ - Alert({ type: 'info', message: 'ℹ️ This is an info alert' }), - Alert({ type: 'success', message: '✅ This is a success alert' }), - Alert({ type: 'warning', message: '⚠️ This is a warning alert' }), - Alert({ type: 'error', message: '❌ This is an error alert' }) - ]); -}; -Mount(AllTypesDemo, '#demo-all'); -``` - - diff --git a/docs/components_old/autocomplete.md b/docs/components_old/autocomplete.md deleted file mode 100644 index 7ad5eab..0000000 --- a/docs/components_old/autocomplete.md +++ /dev/null @@ -1,376 +0,0 @@ -# Autocomplete - -Searchable dropdown with autocomplete functionality, keyboard navigation, and reactive options. - -## Tag - -`Autocomplete` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :------------------------------------------------ | :------------------ | :----------------------------------------------- | -| `label` | `string` | `-` | Label text for the input | -| `options` | `Array` | `[]` | Options to search from | -| `value` | `string \| Signal` | `''` | Selected value | -| `placeholder`| `string` | `'Search...'` | Placeholder text | -| `onselect` | `function` | `-` | Called when an option is selected | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Autocomplete - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const selected = $(''); - const fruits = ['Apple', 'Banana', 'Orange', 'Grape', 'Strawberry', 'Mango', 'Pineapple', 'Watermelon']; - - return Autocomplete({ - label: 'Search fruit', - options: fruits, - value: selected, - onselect: (value) => selected(value) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Objects - -
-
-

Live Demo

-
-
-
- -```javascript -const ObjectsDemo = () => { - const selected = $(''); - const selectedLabel = $(''); - - const countries = [ - { value: 'mx', label: 'Mexico' }, - { value: 'us', label: 'United States' }, - { value: 'ca', label: 'Canada' }, - { value: 'br', label: 'Brazil' }, - { value: 'ar', label: 'Argentina' }, - { value: 'es', label: 'Spain' } - ]; - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Autocomplete({ - label: 'Search country', - options: countries, - value: selectedLabel, - onselect: (item) => { - const selectedItem = typeof item === 'string' - ? countries.find(c => c.label === item) - : item; - selected(selectedItem?.value || ''); - selectedLabel(selectedItem?.label || ''); - } - }), - Div({ class: 'alert alert-success' }, [ - `Selected: ${selected()} - ${selectedLabel()}` - ]) - ]); -}; -Mount(ObjectsDemo, '#demo-objects'); -``` - -### With Reactive Display - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const selected = $(''); - - const programmingLanguages = [ - 'JavaScript', 'Python', 'Java', 'C++', 'Ruby', 'Go', 'Rust', 'TypeScript', 'Swift', 'Kotlin' - ]; - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Autocomplete({ - label: 'Programming language', - options: programmingLanguages, - value: selected, - onselect: (value) => selected(value) - }), - () => selected() ? Div({ class: 'alert alert-info' }, [ - `You selected: ${selected()}` - ]) : null - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Dynamic Options - -
-
-

Live Demo

-
-
-
- -```javascript -const DynamicDemo = () => { - const selected = $(''); - const filterType = $('all'); - - const allItems = { - fruits: ['Apple', 'Banana', 'Orange', 'Mango'], - vegetables: ['Carrot', 'Broccoli', 'Spinach', 'Potato'], - all: ['Apple', 'Banana', 'Orange', 'Mango', 'Carrot', 'Broccoli', 'Spinach', 'Potato'] - }; - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Select({ - label: 'Category', - options: [ - { value: 'all', label: 'All items' }, - { value: 'fruits', label: 'Fruits' }, - { value: 'vegetables', label: 'Vegetables' } - ], - value: filterType, - onchange: (e) => filterType(e.target.value) - }), - Autocomplete({ - label: 'Search item', - options: () => allItems[filterType()], - value: selected, - onselect: (value) => selected(value) - }) - ]); -}; -Mount(DynamicDemo, '#demo-dynamic'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const colors = ['Red', 'Blue', 'Green', 'Yellow', 'Purple', 'Orange', 'Pink', 'Brown', 'Black', 'White']; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({}, [ - Autocomplete({ - label: 'Primary style', - class: 'input-primary', - options: colors, - value: $(''), - placeholder: 'Search colors...' - }) - ]), - Div({}, [ - Autocomplete({ - label: 'Secondary style', - class: 'input-secondary', - options: colors, - value: $(''), - placeholder: 'Search colors...' - }) - ]), - Div({}, [ - Autocomplete({ - label: 'Ghost style', - class: 'input-ghost', - options: colors, - value: $(''), - placeholder: 'Search colors...' - }) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - \ No newline at end of file diff --git a/docs/components_old/badge.md b/docs/components_old/badge.md deleted file mode 100644 index bdb34e0..0000000 --- a/docs/components_old/badge.md +++ /dev/null @@ -1,537 +0,0 @@ -# Badge - -Badge component for displaying counts, labels, and status indicators with DaisyUI styling. - -## Tag - -`Badge` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI badge variants) | -| `children` | `string \| VNode` | `-` | Badge content | - -## Live Examples - -### Basic Badge - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({}, 'Default'), - Badge({ class: 'badge-primary' }, 'Primary'), - Badge({ class: 'badge-secondary' }, 'Secondary'), - Badge({ class: 'badge-accent' }, 'Accent'), - Badge({ class: 'badge-info' }, 'Info'), - Badge({ class: 'badge-success' }, 'Success'), - Badge({ class: 'badge-warning' }, 'Warning'), - Badge({ class: 'badge-error' }, 'Error') - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Badge Sizes - -
-
-

Live Demo

-
-
-
- -```javascript -const SizesDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 items-center' }, [ - Badge({ class: 'badge-xs' }, 'Extra Small'), - Badge({ class: 'badge-sm' }, 'Small'), - Badge({}, 'Default'), - Badge({ class: 'badge-md' }, 'Medium'), - Badge({ class: 'badge-lg' }, 'Large') - ]); -}; -Mount(SizesDemo, '#demo-sizes'); -``` - -### Outline Badges - -
-
-

Live Demo

-
-
-
- -```javascript -const OutlineDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'badge-outline' }, 'Default'), - Badge({ class: 'badge-outline badge-primary' }, 'Primary'), - Badge({ class: 'badge-outline badge-secondary' }, 'Secondary'), - Badge({ class: 'badge-outline badge-accent' }, 'Accent'), - Badge({ class: 'badge-outline badge-info' }, 'Info'), - Badge({ class: 'badge-outline badge-success' }, 'Success'), - Badge({ class: 'badge-outline badge-warning' }, 'Warning'), - Badge({ class: 'badge-outline badge-error' }, 'Error') - ]); -}; -Mount(OutlineDemo, '#demo-outline'); -``` - -### Ghost Badges - -
-
-

Live Demo

-
-
-
- -```javascript -const GhostDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'badge-ghost' }, 'Default'), - Badge({ class: 'badge-ghost badge-primary' }, 'Primary'), - Badge({ class: 'badge-ghost badge-secondary' }, 'Secondary'), - Badge({ class: 'badge-ghost badge-accent' }, 'Accent'), - Badge({ class: 'badge-ghost badge-info' }, 'Info'), - Badge({ class: 'badge-ghost badge-success' }, 'Success'), - Badge({ class: 'badge-ghost badge-warning' }, 'Warning'), - Badge({ class: 'badge-ghost badge-error' }, 'Error') - ]); -}; -Mount(GhostDemo, '#demo-ghost'); -``` - -### With Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - return Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'gap-1' }, [ - Icons.iconSuccess, - Span({}, 'Success') - ]), - Badge({ class: 'gap-1 badge-warning' }, [ - Icons.iconWarning, - Span({}, 'Warning') - ]), - Badge({ class: 'gap-1 badge-error' }, [ - Icons.iconError, - Span({}, 'Error') - ]), - Badge({ class: 'gap-1 badge-info' }, [ - Icons.iconInfo, - Span({}, 'Info') - ]), - Badge({ class: 'gap-1' }, [ - Span({}, '★'), - Span({}, '4.5') - ]) - ]); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Status Badges - -
-
-

Live Demo

-
-
-
- -```javascript -const StatusDemo = () => { - const statuses = [ - { label: 'Active', class: 'badge-success' }, - { label: 'Pending', class: 'badge-warning' }, - { label: 'Completed', class: 'badge-info' }, - { label: 'Failed', class: 'badge-error' }, - { label: 'Archived', class: 'badge-ghost' } - ]; - - return Div({ class: 'flex flex-col gap-2' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Order Status'), - Div({ class: 'flex flex-wrap gap-2' }, statuses.map(status => - Badge({ class: status.class }, status.label) - )) - ]); -}; -Mount(StatusDemo, '#demo-status'); -``` - -### Count Badges - -
-
-

Live Demo

-
-
-
- -```javascript -const CountDemo = () => { - const notifications = $(3); - const messages = $(5); - const updates = $(0); - - return Div({ class: 'flex flex-wrap gap-6' }, [ - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Notifications'), - Badge({ class: 'badge-primary' }, () => notifications()) - ]), - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Messages'), - Badge({ class: 'badge-secondary' }, () => messages()) - ]), - Div({ class: 'flex items-center gap-2' }, [ - Span({}, 'Updates'), - Badge({ class: 'badge-ghost' }, () => updates() || '0') - ]) - ]); -}; -Mount(CountDemo, '#demo-count'); -``` - -### Interactive Badge - -
-
-

Live Demo

-
-
-
- -```javascript -const InteractiveDemo = () => { - const count = $(0); - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Div({ class: 'flex items-center gap-4' }, [ - Button({ class: 'btn btn-sm', onclick: () => count(count() - 1) }, '-'), - Badge({ class: 'badge-primary text-lg min-w-[4rem] justify-center' }, () => count()), - Button({ class: 'btn btn-sm', onclick: () => count(count() + 1) }, '+') - ]), - Button({ - class: 'btn btn-ghost btn-sm', - onclick: () => count(0) - }, 'Reset') - ]); -}; -Mount(InteractiveDemo, '#demo-interactive'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'badge-xs' }, 'XS'), - Badge({ class: 'badge-sm' }, 'SM'), - Badge({}, 'MD'), - Badge({ class: 'badge-lg' }, 'LG') - ]), - Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'badge-primary badge-sm' }, 'Primary'), - Badge({ class: 'badge-secondary badge-sm' }, 'Secondary'), - Badge({ class: 'badge-accent badge-sm' }, 'Accent') - ]), - Div({ class: 'flex flex-wrap gap-2' }, [ - Badge({ class: 'badge-outline badge-primary' }, 'Outline'), - Badge({ class: 'badge-ghost badge-primary' }, 'Ghost') - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Inline with Text - -
-
-

Live Demo

-
-
-
- -```javascript -const InlineDemo = () => { - return Div({ class: 'space-y-2' }, [ - Div({ class: 'text-sm' }, [ - 'Your order is ', - Badge({ class: 'badge-success badge-sm' }, 'Confirmed'), - ' and will be shipped soon.' - ]), - Div({ class: 'text-sm' }, [ - 'This feature is ', - Badge({ class: 'badge-warning badge-sm' }, 'Beta'), - ' and may change.' - ]), - Div({ class: 'text-sm' }, [ - 'Version ', - Badge({ class: 'badge-info badge-xs' }, 'v2.1.0'), - ' released on March 2026' - ]) - ]); -}; -Mount(InlineDemo, '#demo-inline'); -``` - - diff --git a/docs/components_old/button copy.md b/docs/components_old/button copy.md deleted file mode 100644 index c1a1d4e..0000000 --- a/docs/components_old/button copy.md +++ /dev/null @@ -1,248 +0,0 @@ -# Button - -Styled button with full DaisyUI support and reactive states. - -## Tag - -`Button` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :------------------ | :------------------------------------------ | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `loading` | `boolean \| Signal` | `false` | Shows loading spinner | -| `badge` | `string \| Signal` | `-` | Badge text displayed on corner | -| `badgeClass` | `string` | `'badge-secondary'` | Badge styling classes | -| `tooltip` | `string \| Signal` | `-` | Tooltip text on hover | -| `icon` | `string \| VNode \| Signal` | `-` | Icon displayed before text | -| `onclick` | `function` | `-` | Click event handler | -| `type` | `string` | `'button'` | Native button type | - -## Live Examples - -### Basic Button - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Button({ class: "btn btn-primary" }, "Click Me"); -}; -Mount(BasicDemo, "#demo-basic"); -``` - -### With Loading State - -
-
-

Live Demo

-
-
-
- -```javascript -const LoadingDemo = () => { - const isSaving = $(false); - - return Button( - { - class: "btn btn-success", - loading: isSaving, - onclick: async () => { - isSaving(true); - await new Promise((resolve) => setTimeout(resolve, 2000)); - isSaving(false); - }, - }, - "Save Changes", - ); -}; -Mount(LoadingDemo, "#demo-loading"); -``` - -### With Badge - -
-
-

Live Demo

-
-
-
- -```javascript -const BadgeDemo = () => { - return Button( - { - class: "btn btn-outline", - badge: "3", - badgeClass: "badge-accent", - }, - "Notifications", - ); -}; -Mount(BadgeDemo, "#demo-badge"); -``` - -### With Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipDemo = () => { - return Button( - { - class: "btn btn-ghost", - tooltip: "Delete item", - }, - "Delete", - ); -}; -Mount(TooltipDemo, "#demo-tooltip"); -``` - -### Disabled State - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - const isDisabled = $(true); - - return Button( - { - class: "btn btn-primary", - disabled: isDisabled, - }, - "Submit", - ); -}; -Mount(DisabledDemo, "#demo-disabled"); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: "flex flex-wrap gap-2 justify-center" }, [ - Button({ class: "btn btn-primary" }, "Primary"), - Button({ class: "btn btn-secondary" }, "Secondary"), - Button({ class: "btn btn-accent" }, "Accent"), - Button({ class: "btn btn-ghost" }, "Ghost"), - Button({ class: "btn btn-outline" }, "Outline"), - ]); -}; -Mount(VariantsDemo, "#demo-variants"); -``` - - \ No newline at end of file diff --git a/docs/components_old/button.md b/docs/components_old/button.md deleted file mode 100644 index 256b274..0000000 --- a/docs/components_old/button.md +++ /dev/null @@ -1,168 +0,0 @@ -> # Button(props, children?: string | Signal | [...]): HTMLElement - ---- - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :------------------ | :------------------------------- | -| `class` | `string` | `''` | Additional CSS classes (daisyUI) | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `loading` | `boolean \| Signal` | `false` | Shows loading spinner | -| `badge` | `string \| Signal` | `-` | Badge text displayed on corner | -| `badgeClass` | `string` | `'badge-secondary'` | Badge styling classes | -| `tooltip` | `string \| Signal` | `-` | Tooltip text on hover | -| `icon` | `string \| VNode \| Signal` | `-` | Icon displayed before text | -| `onclick` | `function` | `-` | Click event handler | -| `type` | `string` | `'button'` | Native button type | - -## Class Options - -For more detailed information about the underlying styling system, visit the daisyUI documentation: - -- [daisyUI Button](https://daisyui.com/components/button) - -| Class Name | Category | Description | -| :-------------- | :------------ | :------------------------------------ | -| `btn-neutral` | `Color` 🎨 | Neutral brand color | -| `btn-primary` | `Color` 🎨 | Primary brand color | -| `btn-secondary` | `Color` 🎨 | Secondary brand color | -| `btn-accent` | `Color` 🎨 | Accent brand color | -| `btn-info` | `Color` 🎨 | Informational blue color | -| `btn-success` | `Color` 🎨 | Success green color | -| `btn-warning` | `Color` 🎨 | Warning yellow color | -| `btn-error` | `Color` 🎨 | Error red color | -| `btn-xl` | `Size` 📏 | Extra large scale | -| `btn-lg` | `Size` 📏 | Large scale | -| `btn-md` | `Size` 📏 | Medium scale (Default) | -| `btn-sm` | `Size` 📏 | Small scale | -| `btn-xs` | `Size` 📏 | Extra small scale | -| `btn-outline` | `Style` ✨ | Transparent with colored border | -| `btn-dash` | `Style` ✨ | Dashed border style | -| `btn-soft` | `Style` ✨ | Low opacity background color | -| `btn-ghost` | `Style` ✨ | No background, hover effect only | -| `btn-link` | `Style` ✨ | Looks like a text link | -| `btn-square` | `Shape` 📐 | 1:1 aspect ratio | -| `btn-circle` | `Shape` 📐 | 1:1 aspect ratio with rounded corners | -| `btn-wide` | `Shape` 📐 | Extra horizontal padding | -| `btn-block` | `Shape` 📐 | Full width of container | -| `btn-active` | `Behavior` ⚙️ | Forced active/pressed state | -| `btn-disabled` | `Behavior` ⚙️ | Visual and functional disabled state | - -### Basic Button - -
- -```javascript -const BasicDemo = () => { - return Button({ class: "btn-primary" }, "Click Me"); -}; -Mount(BasicDemo, "#demo-basic"); -``` - -### With Loading State - -
- -```javascript -const LoadingDemo = () => { - const isSaving = $(false); - - return Button( - { - class: "btn-success", - loading: isSaving, - onclick: async () => { - isSaving(true); - await new Promise((resolve) => setTimeout(resolve, 2000)); - isSaving(false); - }, - }, - "Save Changes", - ); -}; -Mount(LoadingDemo, "#demo-loading"); -``` - -### With Badge - -
- -```javascript -const BadgeDemo = () => { - return Button( - { - class: "btn-outline", - badge: "3", - badgeClass: "badge-accent", - }, - "Notifications", - ); -}; -Mount(BadgeDemo, "#demo-badge"); -``` - -### With Tooltip - -
- -```javascript -const TooltipDemo = () => { - return Button( - { - class: "btn-ghost", - tooltip: "Delete item", - }, - "Delete", - ); -}; -Mount(TooltipDemo, "#demo-tooltip"); -``` - -### Disabled State - -
- -```javascript -const DisabledDemo = () => { - const isDisabled = $(true); - - return Button( - { - class: "btn-primary btn-disabled", - }, - "Submit", - ); -}; -Mount(DisabledDemo, "#demo-disabled"); -``` - -### All Variants - -
- -```javascript -const VariantsDemo = () => { - return Div({ class: "flex flex-wrap gap-2 justify-center" }, [ - Button({ class: "btn-primary" }, "Primary"), - Button({ class: "btn-secondary" }, "Secondary"), - Button({ class: "btn-accent" }, "Accent"), - Button({ class: "btn-ghost" }, "Ghost"), - Button({ class: "btn-outline" }, "Outline"), - ]); -}; -Mount(VariantsDemo, "#demo-variants"); -``` - -
- -```javascript -const TestDemo = () => { - return Div({ class: "flex flex-wrap gap-2 justify-center" }, [ - Tag("span", {class: "indicator"},[ - 5, - Button('Click')]) - ]); -}; -Mount(TestDemo, "#demo-test"); -``` diff --git a/docs/components_old/checkbox.md b/docs/components_old/checkbox.md deleted file mode 100644 index 0837e8f..0000000 --- a/docs/components_old/checkbox.md +++ /dev/null @@ -1,479 +0,0 @@ -# Checkbox - -Toggle checkbox component with label, tooltip support, and reactive state management. - -## Tag - -`Checkbox` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text for the checkbox | -| `value` | `boolean \| Signal` | `false` | Checked state | -| `tooltip` | `string` | `-` | Tooltip text on hover | -| `toggle` | `boolean` | `false` | Display as toggle switch instead of checkbox | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `onclick` | `function` | `-` | Click event handler | - -## Live Examples - -### Basic Checkbox - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const accepted = $(false); - - return Checkbox({ - label: 'I accept the terms and conditions', - value: accepted, - onclick: () => accepted(!accepted()) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Toggle Switch - -
-
-

Live Demo

-
-
-
- -```javascript -const ToggleDemo = () => { - const enabled = $(false); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Checkbox({ - label: 'Enable notifications', - value: enabled, - toggle: true, - onclick: () => enabled(!enabled()) - }), - () => enabled() - ? Div({ class: 'alert alert-success' }, 'Notifications are ON') - : Div({ class: 'alert alert-soft' }, 'Notifications are OFF') - ]); -}; -Mount(ToggleDemo, '#demo-toggle'); -``` - -### With Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipDemo = () => { - const darkMode = $(false); - - return Checkbox({ - label: 'Dark mode', - value: darkMode, - tooltip: 'Enable dark theme preference', - onclick: () => darkMode(!darkMode()) - }); -}; -Mount(TooltipDemo, '#demo-tooltip'); -``` - -### Disabled State - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - return Div({ class: 'flex flex-col gap-3' }, [ - Checkbox({ - label: 'Checked and disabled', - value: true, - disabled: true - }), - Checkbox({ - label: 'Unchecked and disabled', - value: false, - disabled: true - }) - ]); -}; -Mount(DisabledDemo, '#demo-disabled'); -``` - -### Reactive Multiple Selection - -
-
-

Live Demo

-
-
-
- -```javascript -const MultipleDemo = () => { - const options = [ - { id: 1, label: 'Option 1', selected: $(false) }, - { id: 2, label: 'Option 2', selected: $(false) }, - { id: 3, label: 'Option 3', selected: $(false) } - ]; - - const selectAll = $(false); - - const toggleAll = (value) => { - selectAll(value); - options.forEach(opt => opt.selected(value)); - }; - - const updateSelectAll = () => { - const allSelected = options.every(opt => opt.selected()); - selectAll(allSelected); - }; - - return Div({ class: 'flex flex-col gap-3' }, [ - Checkbox({ - label: 'Select all', - value: selectAll, - onclick: () => toggleAll(!selectAll()) - }), - Div({ class: 'divider my-1' }), - ...options.map(opt => Checkbox({ - label: opt.label, - value: opt.selected, - onclick: () => { - opt.selected(!opt.selected()); - updateSelectAll(); - } - })), - Div({ class: 'mt-2 text-sm opacity-70' }, () => { - const count = options.filter(opt => opt.selected()).length; - return `${count} of ${options.length} selected`; - }) - ]); -}; -Mount(MultipleDemo, '#demo-multiple'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const variant1 = $(true); - const variant2 = $(false); - const variant3 = $(true); - - return Div({ class: 'flex flex-col gap-3' }, [ - Div({ class: 'flex items-center gap-4' }, [ - Checkbox({ - label: 'Primary', - value: variant1, - class: 'checkbox-primary', - onclick: () => variant1(!variant1()) - }), - Checkbox({ - label: 'Secondary', - value: variant2, - class: 'checkbox-secondary', - onclick: () => variant2(!variant2()) - }) - ]), - Div({ class: 'flex items-center gap-4' }, [ - Checkbox({ - label: 'Accent', - value: variant3, - class: 'checkbox-accent', - onclick: () => variant3(!variant3()) - }), - Checkbox({ - label: 'Toggle switch', - value: $(false), - toggle: true, - class: 'toggle-primary' - }) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Form Example - -
-
-

Live Demo

-
-
-
- -```javascript -const FormDemo = () => { - const subscribe = $(false); - const weekly = $(false); - const monthly = $(true); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Newsletter preferences'), - Checkbox({ - label: 'Subscribe to newsletter', - value: subscribe, - onclick: () => subscribe(!subscribe()) - }), - () => subscribe() ? Div({ class: 'ml-6 flex flex-col gap-2' }, [ - Checkbox({ - label: 'Weekly updates', - value: weekly, - onclick: () => weekly(!weekly()) - }), - Checkbox({ - label: 'Monthly digest', - value: monthly, - onclick: () => monthly(!monthly()) - }) - ]) : null, - () => subscribe() && (weekly() || monthly()) - ? Div({ class: 'alert alert-success text-sm mt-2' }, 'You will receive updates!') - : subscribe() - ? Div({ class: 'alert alert-warning text-sm mt-2' }, 'Select at least one frequency') - : null - ]); -}; -Mount(FormDemo, '#demo-form'); -``` - - diff --git a/docs/components_old/colorpicker.md b/docs/components_old/colorpicker.md deleted file mode 100644 index 3bd41b5..0000000 --- a/docs/components_old/colorpicker.md +++ /dev/null @@ -1,382 +0,0 @@ -# Colorpicker - -Color picker component with preset color palette, reactive value binding, and customizable appearance. - -## Tag - -`Colorpicker` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text for the button | -| `value` | `string \| Signal` | `'#000000'` | Selected color value (hex format) | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Colorpicker - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const color = $('#3b82f6'); - - return Colorpicker({ - label: 'Pick a color', - value: color - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Reactive Preview - -
-
-

Live Demo

-
-
-
- -```javascript -const PreviewDemo = () => { - const color = $('#10b981'); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Colorpicker({ - label: 'Choose color', - value: color - }), - Div({ - class: 'w-full h-20 rounded-lg shadow-inner transition-all duration-200', - style: () => `background-color: ${color()}` - }, [ - Div({ class: 'text-center leading-20 pt-6 opacity-70' }, () => color()) - ]) - ]); -}; -Mount(PreviewDemo, '#demo-preview'); -``` - -### Color Palette Grid - -
-
-

Live Demo

-
-
-
- -```javascript -const PaletteDemo = () => { - const selectedColor = $('#ef4444'); - const presets = [ - '#ef4444', '#f97316', '#f59e0b', '#eab308', - '#84cc16', '#10b981', '#14b8a6', '#06b6d4', - '#3b82f6', '#6366f1', '#8b5cf6', '#d946ef', - '#ec489a', '#f43f5e', '#6b7280', '#1f2937' - ]; - - return Div({ class: 'flex flex-col gap-4' }, [ - Colorpicker({ - label: 'Custom color', - value: selectedColor - }), - Div({ class: 'divider text-xs' }, 'Or choose from palette'), - Div({ class: 'grid grid-cols-8 gap-2' }, presets.map(color => - Button({ - class: `w-8 h-8 rounded-lg shadow-sm transition-transform hover:scale-110`, - style: `background-color: ${color}`, - onclick: () => selectedColor(color) - }) - )), - Div({ class: 'mt-2 text-center text-sm font-mono' }, () => selectedColor()) - ]); -}; -Mount(PaletteDemo, '#demo-palette'); -``` - -### With Text Color Preview - -
-
-

Live Demo

-
-
-
- -```javascript -const TextDemo = () => { - const bgColor = $('#1e293b'); - const textColor = $('#f8fafc'); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex gap-4' }, [ - Colorpicker({ - label: 'Background', - value: bgColor - }), - Colorpicker({ - label: 'Text', - value: textColor - }) - ]), - Div({ - class: 'p-6 rounded-lg text-center font-bold transition-all duration-200', - style: () => `background-color: ${bgColor()}; color: ${textColor()}` - }, [ - 'Preview text with your colors' - ]) - ]); -}; -Mount(TextDemo, '#demo-text'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 items-center' }, [ - Colorpicker({ - label: 'Primary', - value: $('#3b82f6') - }), - Colorpicker({ - label: 'Success', - value: $('#10b981') - }), - Colorpicker({ - label: 'Warning', - value: $('#f59e0b') - }), - Colorpicker({ - label: 'Error', - value: $('#ef4444') - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Dynamic Color Swatch - -
-
-

Live Demo

-
-
-
- -```javascript -const DynamicDemo = () => { - const primary = $('#3b82f6'); - const secondary = $('#ef4444'); - const accent = $('#10b981'); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex flex-wrap gap-4' }, [ - Colorpicker({ label: 'Primary', value: primary }), - Colorpicker({ label: 'Secondary', value: secondary }), - Colorpicker({ label: 'Accent', value: accent }) - ]), - Div({ class: 'grid grid-cols-3 gap-2 mt-2' }, [ - Div({ - class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold', - style: () => `background-color: ${primary()}; color: white` - }, 'Primary'), - Div({ - class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold', - style: () => `background-color: ${secondary()}; color: white` - }, 'Secondary'), - Div({ - class: 'h-12 rounded-lg shadow-sm flex items-center justify-center text-xs font-bold', - style: () => `background-color: ${accent()}; color: white` - }, 'Accent') - ]) - ]); -}; -Mount(DynamicDemo, '#demo-dynamic'); -``` - - diff --git a/docs/components_old/datepicker.md b/docs/components_old/datepicker.md deleted file mode 100644 index bd96faf..0000000 --- a/docs/components_old/datepicker.md +++ /dev/null @@ -1,339 +0,0 @@ -# Datepicker - -Date and date range picker component with calendar interface, time selection, and reactive state management. - -## Tag - -`Datepicker` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :------------------------------------------------ | :----------------------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text for the input | -| `value` | `string \| {start: string, end: string} \| Signal` | `-` | Selected date or range | -| `range` | `boolean` | `false` | Enable date range selection mode | -| `hour` | `boolean` | `false` | Enable hour selection | -| `placeholder`| `string` | `'Select date...'` | Placeholder text | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Datepicker - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const date = $(''); - - return Datepicker({ - label: 'Select date', - value: date, - placeholder: 'Choose a date...' - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Date Range Picker - -
-
-

Live Demo

-
-
-
- -```javascript -const RangeDemo = () => { - const range = $({ start: '', end: '' }); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Datepicker({ - label: 'Date range', - value: range, - range: true, - placeholder: 'Select start and end date...' - }), - () => range().start && range().end ? Div({ class: 'alert alert-success' }, [ - `Selected: ${range().start} → ${range().end}` - ]) : null - ]); -}; -Mount(RangeDemo, '#demo-range'); -``` - -### With Time Selection - -
-
-

Live Demo

-
-
-
- -```javascript -const TimeDemo = () => { - const datetime = $(''); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Datepicker({ - label: 'Select date and time', - value: datetime, - hour: true, - placeholder: 'Choose date and time...' - }), - () => datetime() ? Div({ class: 'alert alert-info' }, [ - `Selected: ${datetime()}` - ]) : null - ]); -}; -Mount(TimeDemo, '#demo-time'); -``` - -### Range with Time - -
-
-

Live Demo

-
-
-
- -```javascript -const RangeTimeDemo = () => { - const range = $({ start: '', end: '', startHour: 9, endHour: 17 }); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Datepicker({ - label: 'Schedule range', - value: range, - range: true, - hour: true, - placeholder: 'Select date and time range...' - }), - () => range().start && range().end ? Div({ class: 'alert alert-primary' }, [ - `From ${range().start} ${range().startHour || 9}:00 to ${range().end} ${range().endHour || 17}:00` - ]) : null - ]); -}; -Mount(RangeTimeDemo, '#demo-range-time'); -``` - -### Reactive Display - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const date = $(''); - const today = new Date().toISOString().split('T')[0]; - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Datepicker({ - label: 'Select date', - value: date, - placeholder: 'Choose a date...' - }), - Div({ class: 'stats shadow' }, [ - Div({ class: 'stat' }, [ - Div({ class: 'stat-title' }, 'Selected date'), - Div({ class: 'stat-value text-sm' }, () => date() || 'Not selected'), - Div({ class: 'stat-desc' }, () => date() === today ? 'Today' : '') - ]) - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-4' }, [ - Datepicker({ - label: 'Single date', - value: $('2024-12-25'), - placeholder: 'Select date...' - }), - Datepicker({ - label: 'Date range', - range: true, - value: $({ start: '2024-12-01', end: '2024-12-31' }), - placeholder: 'Select range...' - }), - Datepicker({ - label: 'With time', - hour: true, - value: $('2024-12-25T14:00:00'), - placeholder: 'Select date and time...' - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/drawer.md b/docs/components_old/drawer.md deleted file mode 100644 index 286555f..0000000 --- a/docs/components_old/drawer.md +++ /dev/null @@ -1,918 +0,0 @@ -# Drawer - -Drawer component for creating off-canvas side panels with overlay and toggle functionality. - -## Tag - -`Drawer` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `id` | `string` | Required | Unique identifier for the drawer | -| `open` | `boolean \| Signal` | `false` | Drawer open state | -| `side` | `VNode` | Required | Content to display in the drawer panel | -| `content` | `VNode` | Required | Main page content | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const isOpen = $(false); - - return Drawer({ - id: 'basic-drawer', - open: isOpen, - side: Div({ class: 'p-4' }, [ - Div({ class: 'text-lg font-bold mb-4' }, 'Menu'), - Div({ class: 'flex flex-col gap-2' }, [ - Button({ class: 'btn btn-ghost justify-start' }, 'Home'), - Button({ class: 'btn btn-ghost justify-start' }, 'About'), - Button({ class: 'btn btn-ghost justify-start' }, 'Contact') - ]) - ]), - content: Div({ class: 'p-4 text-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Open Drawer') - ]) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Navigation Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const NavDrawer = () => { - const isOpen = $(false); - const activePage = $('home'); - - const pages = { - home: 'Welcome to the Home Page!', - about: 'About Us - Learn more about our company', - services: 'Our Services - What we offer', - contact: 'Contact Us - Get in touch' - }; - - return Drawer({ - id: 'nav-drawer', - open: isOpen, - side: Div({ class: 'p-4 w-64' }, [ - Div({ class: 'text-xl font-bold mb-6' }, 'MyApp'), - Div({ class: 'flex flex-col gap-1' }, [ - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'home' ? 'btn-active' : ''}`, - onclick: () => { - activePage('home'); - isOpen(false); - } - }, '🏠 Home'), - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'about' ? 'btn-active' : ''}`, - onclick: () => { - activePage('about'); - isOpen(false); - } - }, 'ℹ️ About'), - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'services' ? 'btn-active' : ''}`, - onclick: () => { - activePage('services'); - isOpen(false); - } - }, '⚙️ Services'), - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'contact' ? 'btn-active' : ''}`, - onclick: () => { - activePage('contact'); - isOpen(false); - } - }, '📧 Contact') - ]) - ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Button({ - class: 'btn btn-ghost btn-circle', - onclick: () => isOpen(true) - }, '☰'), - Span({ class: 'text-lg font-bold' }, 'MyApp') - ]), - Div({ class: 'card bg-base-200 shadow-lg' }, [ - Div({ class: 'card-body' }, [ - Div({ class: 'text-2xl font-bold mb-2' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), - Div({ class: 'text-lg' }, () => pages[activePage()]) - ]) - ]) - ]) - }); -}; -Mount(NavDrawer, '#demo-nav'); -``` - -### Settings Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const SettingsDrawer = () => { - const isOpen = $(false); - const darkMode = $(false); - const notifications = $(true); - const autoSave = $(false); - - return Drawer({ - id: 'settings-drawer', - open: isOpen, - side: Div({ class: 'p-4 w-80' }, [ - Div({ class: 'flex justify-between items-center mb-6' }, [ - Span({ class: 'text-xl font-bold' }, 'Settings'), - Button({ - class: 'btn btn-ghost btn-circle btn-sm', - onclick: () => isOpen(false) - }, '✕') - ]), - Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Dark Mode'), - Swap({ - value: darkMode, - on: "🌙", - off: "☀️", - onclick: () => darkMode(!darkMode()) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Notifications'), - Swap({ - value: notifications, - on: "🔔", - off: "🔕", - onclick: () => notifications(!notifications()) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Auto Save'), - Swap({ - value: autoSave, - on: "✅", - off: "⭕", - onclick: () => autoSave(!autoSave()) - }) - ]) - ]), - Div({ class: 'divider my-4' }), - Div({ class: 'flex gap-2' }, [ - Button({ - class: 'btn btn-primary flex-1', - onclick: () => { - isOpen(false); - Toast('Settings saved!', 'alert-success', 2000); - } - }, 'Save'), - Button({ - class: 'btn btn-ghost flex-1', - onclick: () => isOpen(false) - }, 'Cancel') - ]) - ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-lg font-bold' }, 'Dashboard'), - Button({ - class: 'btn btn-ghost btn-circle', - onclick: () => isOpen(true) - }, '⚙️') - ]), - Div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ - Div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ - Div({ class: 'stat-title' }, 'Users'), - Div({ class: 'stat-value' }, '1,234') - ]), - Div({ class: 'stat bg-base-200 rounded-lg p-4' }, [ - Div({ class: 'stat-title' }, 'Revenue'), - Div({ class: 'stat-value' }, '$45K') - ]) - ]) - ]) - }); -}; -Mount(SettingsDrawer, '#demo-settings'); -``` - -### Cart Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const CartDrawer = () => { - const isOpen = $(false); - const cart = $([ - { id: 1, name: 'Product 1', price: 29, quantity: 2 }, - { id: 2, name: 'Product 2', price: 49, quantity: 1 } - ]); - - const updateQuantity = (id, delta) => { - cart(cart().map(item => { - if (item.id === id) { - const newQty = Math.max(0, item.quantity + delta); - return newQty === 0 ? null : { ...item, quantity: newQty }; - } - return item; - }).filter(Boolean)); - }; - - const total = () => cart().reduce((sum, item) => sum + (item.price * item.quantity), 0); - - return Drawer({ - id: 'cart-drawer', - open: isOpen, - side: Div({ class: 'flex flex-col h-full' }, [ - Div({ class: 'p-4 border-b border-base-300' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-xl font-bold' }, `Cart (${cart().length} items)`), - Button({ - class: 'btn btn-ghost btn-circle btn-sm', - onclick: () => isOpen(false) - }, '✕') - ]) - ]), - Div({ class: 'flex-1 overflow-y-auto p-4' }, cart().length === 0 - ? Div({ class: 'text-center text-gray-500 mt-8' }, 'Your cart is empty') - : Div({ class: 'flex flex-col gap-3' }, cart().map(item => - Div({ class: 'flex gap-3 items-center p-2 bg-base-200 rounded-lg' }, [ - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, item.name), - Div({ class: 'text-sm' }, `$${item.price} each`) - ]), - Div({ class: 'flex items-center gap-2' }, [ - Button({ - class: 'btn btn-xs btn-circle', - onclick: () => updateQuantity(item.id, -1) - }, '-'), - Span({ class: 'w-8 text-center' }, item.quantity), - Button({ - class: 'btn btn-xs btn-circle', - onclick: () => updateQuantity(item.id, 1) - }, '+') - ]), - Span({ class: 'font-bold w-16 text-right' }, `$${item.price * item.quantity}`) - ]) - )) - ), - Div({ class: 'p-4 border-t border-base-300' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Span({ class: 'font-bold' }, 'Total'), - Span({ class: 'text-xl font-bold' }, () => `$${total()}`) - ]), - Button({ - class: 'btn btn-primary w-full', - onclick: () => { - isOpen(false); - Toast('Checkout initiated!', 'alert-success', 2000); - }, - disabled: () => cart().length === 0 - }, 'Checkout') - ]) - ]), - content: Div({ class: 'p-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-lg font-bold' }, 'Store'), - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, () => `🛒 Cart (${cart().length})`) - ]), - Div({ class: 'mt-4 grid grid-cols-2 gap-4' }, [ - Button({ - class: 'btn btn-outline h-32 flex flex-col', - onclick: () => { - cart([...cart(), { id: Date.now(), name: 'New Product', price: 39, quantity: 1 }]); - Toast('Added to cart!', 'alert-success', 1500); - } - }, ['📦', 'Add to Cart']) - ]) - ]) - }); -}; -Mount(CartDrawer, '#demo-cart'); -``` - -### Responsive Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const ResponsiveDrawer = () => { - const isOpen = $(false); - const activePage = $('home'); - - const MenuItems = () => Div({ class: 'flex flex-col gap-1 p-4' }, [ - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'home' ? 'btn-active' : ''}`, - onclick: () => { - activePage('home'); - if (window.innerWidth < 1024) isOpen(false); - } - }, '🏠 Home'), - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'analytics' ? 'btn-active' : ''}`, - onclick: () => { - activePage('analytics'); - if (window.innerWidth < 1024) isOpen(false); - } - }, '📊 Analytics'), - Button({ - class: `btn btn-ghost justify-start ${activePage() === 'settings' ? 'btn-active' : ''}`, - onclick: () => { - activePage('settings'); - if (window.innerWidth < 1024) isOpen(false); - } - }, '⚙️ Settings') - ]); - - return Drawer({ - id: 'responsive-drawer', - open: isOpen, - side: Div({ class: 'w-64' }, [ - Div({ class: 'text-xl font-bold p-4 border-b border-base-300' }, 'Menu'), - MenuItems() - ]), - content: Div({ class: 'flex' }, [ - Div({ class: 'hidden lg:block w-64 border-r border-base-300' }, [MenuItems()]), - Div({ class: 'flex-1 p-4' }, [ - Div({ class: 'flex justify-between items-center lg:hidden mb-4' }, [ - Button({ - class: 'btn btn-ghost btn-circle', - onclick: () => isOpen(true) - }, '☰'), - Span({ class: 'text-lg font-bold' }, 'MyApp') - ]), - Div({ class: 'card bg-base-200' }, [ - Div({ class: 'card-body' }, [ - Div({ class: 'text-2xl font-bold' }, () => activePage().charAt(0).toUpperCase() + activePage().slice(1)), - Div({}, 'Content area. On desktop, the menu is always visible on the left.') - ]) - ]) - ]) - ]) - }); -}; -Mount(ResponsiveDrawer, '#demo-responsive'); -``` - -### Form Drawer - -
-
-

Live Demo

-
-
-
- -```javascript -const FormDrawer = () => { - const isOpen = $(false); - const name = $(''); - const email = $(''); - const message = $(''); - - const handleSubmit = () => { - if (name() && email() && message()) { - Toast('Message sent!', 'alert-success', 2000); - isOpen(false); - name(''); - email(''); - message(''); - } else { - Toast('Please fill all fields', 'alert-warning', 2000); - } - }; - - return Drawer({ - id: 'form-drawer', - open: isOpen, - side: Div({ class: 'p-4 w-96' }, [ - Div({ class: 'flex justify-between items-center mb-4' }, [ - Span({ class: 'text-xl font-bold' }, 'Contact Us'), - Button({ - class: 'btn btn-ghost btn-circle btn-sm', - onclick: () => isOpen(false) - }, '✕') - ]), - Div({ class: 'flex flex-col gap-4' }, [ - Input({ - label: 'Name', - value: name, - placeholder: 'Your name', - oninput: (e) => name(e.target.value) - }), - Input({ - label: 'Email', - type: 'email', - value: email, - placeholder: 'your@email.com', - oninput: (e) => email(e.target.value) - }), - Div({ class: 'form-control' }, [ - Span({ class: 'label-text mb-1' }, 'Message'), - Tag('textarea', { - class: 'textarea textarea-bordered h-24', - placeholder: 'Your message', - value: message, - oninput: (e) => message(e.target.value) - }) - ]), - Div({ class: 'flex gap-2 mt-2' }, [ - Button({ - class: 'btn btn-primary flex-1', - onclick: handleSubmit - }, 'Send'), - Button({ - class: 'btn btn-ghost flex-1', - onclick: () => isOpen(false) - }, 'Cancel') - ]) - ]) - ]), - content: Div({ class: 'p-4 text-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Contact Us') - ]) - }); -}; -Mount(FormDrawer, '#demo-form'); -``` - - diff --git a/docs/components_old/dropdown.md b/docs/components_old/dropdown.md deleted file mode 100644 index ee7de63..0000000 --- a/docs/components_old/dropdown.md +++ /dev/null @@ -1,489 +0,0 @@ -# Dropdown - -Dropdown component for creating menus, selectors, and action panels that appear when triggered. Supports both array-based items and custom content. - -## Tag - -`Dropdown` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :---------- | :----------------------------------------------- | -| `label` | `string \| VNode \| Signal` | `-` | Button label or content | -| `icon` | `string \| VNode \| Signal` | `-` | Icon displayed next to label | -| `items` | `Array \| Signal` | `-` | Array of menu items (alternative to children) | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `VNode \| function` | `-` | Custom dropdown content (alternative to items) | - -### MenuItem Structure (when using `items`) - -| Property | Type | Description | -| :---------- | :--------------------------- | :----------------------------------------------- | -| `label` | `string \| VNode` | Menu item text | -| `icon` | `string \| VNode` | Optional icon for the menu item | -| `onclick` | `function` | Click handler | -| `class` | `string` | Additional CSS classes for the menu item | - -## Live Examples - -### Basic Dropdown (Items Array) - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Dropdown({ - label: 'Options', - items: [ - { label: 'Profile', onclick: () => Toast('Profile clicked', 'alert-info', 2000) }, - { label: 'Settings', onclick: () => Toast('Settings clicked', 'alert-info', 2000) }, - { label: 'Logout', onclick: () => Toast('Logged out', 'alert-warning', 2000), class: 'text-error' } - ] - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Icons (Items Array) - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - return Dropdown({ - label: 'Menu', - icon: '☰', - items: [ - { icon: '👤', label: 'Profile', onclick: () => Toast('Profile', 'alert-info', 2000) }, - { icon: '⭐', label: 'Favorites', onclick: () => Toast('Favorites', 'alert-info', 2000) }, - { icon: '📁', label: 'Documents', onclick: () => Toast('Documents', 'alert-info', 2000) }, - { icon: '⚙️', label: 'Settings', onclick: () => Toast('Settings', 'alert-info', 2000) } - ] - }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Action Dropdown (Items Array) - -
-
-

Live Demo

-
-
-
- -```javascript -const ActionsDemo = () => { - const handleAction = (action) => { - Toast(`${action} action`, 'alert-info', 2000); - }; - - return Dropdown({ - label: 'Actions', - class: 'dropdown-end', - items: [ - { icon: '✏️', label: 'Edit', onclick: () => handleAction('Edit') }, - { icon: '📋', label: 'Copy', onclick: () => handleAction('Copy') }, - { icon: '🗑️', label: 'Delete', onclick: () => handleAction('Delete'), class: 'text-error' } - ] - }); -}; -Mount(ActionsDemo, '#demo-actions'); -``` - -### User Dropdown (Items Array) - -
-
-

Live Demo

-
-
-
- -```javascript -const UserDropdown = () => { - return Dropdown({ - label: Span({ class: 'flex items-center gap-2' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-8 h-8 flex items-center justify-center text-sm' }, 'JD') - ]), - 'John Doe' - ]), - class: 'dropdown-end', - items: [ - { label: 'Profile', onclick: () => Toast('Profile', 'alert-info', 2000) }, - { label: 'Settings', onclick: () => Toast('Settings', 'alert-info', 2000) }, - { label: 'Sign Out', onclick: () => Toast('Signed out', 'alert-warning', 2000), class: 'text-error' } - ] - }); -}; -Mount(UserDropdown, '#demo-user'); -``` - -### Reactive Items - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDropdown = () => { - const count = $(0); - - const items = () => [ - { label: `Count: ${count()}`, onclick: () => {} }, - { label: 'Increment', onclick: () => count(count() + 1) }, - { label: 'Decrement', onclick: () => count(count() - 1) }, - { label: 'Reset', onclick: () => count(0) } - ]; - - return Dropdown({ - label: () => `Counter (${count()})`, - items: items - }); -}; -Mount(ReactiveDropdown, '#demo-reactive'); -``` - -### Notification Dropdown (Custom Children) - -
-
-

Live Demo

-
-
-
- -```javascript -const NotificationsDropdown = () => { - const notifications = $([ - { id: 1, title: 'New message', time: '5 min ago', read: false }, - { id: 2, title: 'Update available', time: '1 hour ago', read: false }, - { id: 3, title: 'Task completed', time: '2 hours ago', read: true } - ]); - - const markAsRead = (id) => { - notifications(notifications().map(n => - n.id === id ? { ...n, read: true } : n - )); - }; - - const unreadCount = () => notifications().filter(n => !n.read).length; - - return Dropdown({ - label: Span({ class: 'relative' }, [ - '🔔', - () => unreadCount() > 0 ? Span({ class: 'badge badge-xs badge-error absolute -top-1 -right-2' }, unreadCount()) : null - ]), - class: 'dropdown-end', - children: () => Div({ class: 'w-80' }, [ - Div({ class: 'p-3 border-b border-base-300 font-bold' }, `Notifications (${unreadCount()} unread)`), - Div({ class: 'max-h-64 overflow-y-auto' }, notifications().map(notif => - Div({ - class: `p-3 border-b border-base-300 cursor-pointer hover:bg-base-200 ${!notif.read ? 'bg-primary/5' : ''}`, - onclick: () => markAsRead(notif.id) - }, [ - Div({ class: 'font-medium' }, notif.title), - Div({ class: 'text-xs opacity-60' }, notif.time), - !notif.read && Span({ class: 'badge badge-xs badge-primary mt-1' }, 'New') - ]) - )), - Div({ class: 'p-2 text-center' }, [ - Button({ - class: 'btn btn-xs btn-ghost w-full', - onclick: () => notifications([]) - }, 'Clear all') - ]) - ]) - }); -}; -Mount(NotificationsDropdown, '#demo-notifications'); -``` - -### Custom Content Dropdown - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDropdown = () => { - const selected = $('Option 1'); - - return Dropdown({ - label: () => selected(), - children: () => Div({ class: 'p-4 min-w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Select an option'), - Div({ class: 'flex flex-col gap-1' }, [ - Button({ - class: 'btn btn-ghost btn-sm justify-start', - onclick: () => selected('Option 1') - }, 'Option 1'), - Button({ - class: 'btn btn-ghost btn-sm justify-start', - onclick: () => selected('Option 2') - }, 'Option 2'), - Button({ - class: 'btn btn-ghost btn-sm justify-start', - onclick: () => selected('Option 3') - }, 'Option 3') - ]) - ]) - }); -}; -Mount(CustomDropdown, '#demo-custom'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const commonItems = [ - { label: 'Item 1', onclick: () => Toast('Item 1', 'alert-info', 2000) }, - { label: 'Item 2', onclick: () => Toast('Item 2', 'alert-info', 2000) }, - { label: 'Item 3', onclick: () => Toast('Item 3', 'alert-info', 2000) } - ]; - - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Dropdown({ label: 'Default', items: commonItems }), - Dropdown({ label: 'With Icon', icon: '☰', items: commonItems }), - Dropdown({ label: 'End Position', class: 'dropdown-end', items: commonItems }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - \ No newline at end of file diff --git a/docs/components_old/fab.md b/docs/components_old/fab.md deleted file mode 100644 index d54aa46..0000000 --- a/docs/components_old/fab.md +++ /dev/null @@ -1,688 +0,0 @@ -# Fab - -Floating Action Button (FAB) component for primary actions with expandable menu options. Each example uses a container with `position: relative` and explicit height to position the FAB correctly. - -## Tag - -`Fab` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :--------------- | :----------------------------------------------- | -| `icon` | `string \| VNode \| Signal` | `-` | Main FAB icon | -| `label` | `string \| VNode \| Signal` | `-` | Text label for main button | -| `actions` | `Array \| Signal` | `[]` | Array of action buttons that expand from FAB | -| `position` | `string` | `'bottom-6 right-6'` | CSS position classes (e.g., 'bottom-6 left-6') | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -### Action Structure - -| Property | Type | Description | -| :---------- | :--------------------------- | :----------------------------------------------- | -| `label` | `string \| VNode` | Label text shown next to action button | -| `icon` | `string \| VNode` | Icon for the action button | -| `onclick` | `function` | Click handler | -| `class` | `string` | Additional CSS classes for the action button | - -## Live Examples - -### Basic FAB - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Fab({ - icon: '➕', - actions: [ - { icon: '📝', label: 'New Note', onclick: () => Toast('Create note', 'alert-info', 2000) }, - { icon: '📷', label: 'Take Photo', onclick: () => Toast('Open camera', 'alert-info', 2000) }, - { icon: '📎', label: 'Attach File', onclick: () => Toast('Attach file', 'alert-info', 2000) } - ] - }) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Label - -
-
-

Live Demo

-
-
-
- -```javascript -const LabelDemo = () => { - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Fab({ - label: 'Create', - icon: '✨', - actions: [ - { icon: '📝', label: 'Document', onclick: () => Toast('New document', 'alert-success', 2000) }, - { icon: '🎨', label: 'Design', onclick: () => Toast('New design', 'alert-success', 2000) }, - { icon: '📊', label: 'Spreadsheet', onclick: () => Toast('New spreadsheet', 'alert-success', 2000) } - ] - }) - ]); -}; -Mount(LabelDemo, '#demo-label'); -``` - -### Different Positions - -
-
-

Live Demo

-
-
-
- -```javascript -const PositionsDemo = () => { - const position = $('bottom-6 right-6'); - - return Div({ class: 'relative h-[500px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ - Select({ - value: position, - options: [ - { value: 'bottom-6 right-6', label: 'Bottom Right' }, - { value: 'bottom-6 left-6', label: 'Bottom Left' }, - { value: 'top-6 right-6', label: 'Top Right' }, - { value: 'top-6 left-6', label: 'Top Left' } - ], - onchange: (e) => position(e.target.value) - }) - ]), - Div({ class: 'absolute inset-0 flex items-center justify-center text-sm opacity-50 pointer-events-none' }, [ - 'FAB position changes relative to this container' - ]), - Fab({ - position: () => position(), - icon: '🧭', - actions: [ - { icon: '⬅️', label: 'Bottom Left', onclick: () => position('bottom-6 left-6') }, - { icon: '➡️', label: 'Bottom Right', onclick: () => position('bottom-6 right-6') }, - { icon: '⬆️', label: 'Top Right', onclick: () => position('top-6 right-6') }, - { icon: '⬇️', label: 'Top Left', onclick: () => position('top-6 left-6') } - ] - }) - ]); -}; -Mount(PositionsDemo, '#demo-positions'); -``` - -### Color Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const ColorsDemo = () => { - const variant = $('primary'); - - const variants = { - primary: { class: 'btn-primary', icon: '🔵' }, - secondary: { class: 'btn-secondary', icon: '🟣' }, - accent: { class: 'btn-accent', icon: '🔴' }, - info: { class: 'btn-info', icon: '🔷' }, - success: { class: 'btn-success', icon: '🟢' }, - warning: { class: 'btn-warning', icon: '🟡' }, - error: { class: 'btn-error', icon: '🔴' } - }; - - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute top-4 left-4 z-20 bg-base-200 p-2 rounded-lg shadow' }, [ - Select({ - value: variant, - options: Object.keys(variants).map(v => ({ value: v, label: v.charAt(0).toUpperCase() + v.slice(1) })), - onchange: (e) => variant(e.target.value) - }) - ]), - Fab({ - class: variants[variant()].class, - icon: variants[variant()].icon, - actions: [ - { icon: '📝', label: 'Action 1', onclick: () => Toast('Action 1', 'alert-info', 2000) }, - { icon: '🎨', label: 'Action 2', onclick: () => Toast('Action 2', 'alert-info', 2000) }, - { icon: '⚙️', label: 'Action 3', onclick: () => Toast('Action 3', 'alert-info', 2000) } - ] - }) - ]); -}; -Mount(ColorsDemo, '#demo-colors'); -``` - -### Reactive Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveActions = () => { - const count = $(0); - - const actions = () => [ - { - icon: '🔢', - label: `Count: ${count()}`, - onclick: () => {} - }, - { - icon: '➕', - label: 'Increment', - onclick: () => count(count() + 1) - }, - { - icon: '➖', - label: 'Decrement', - onclick: () => count(count() - 1) - }, - { - icon: '🔄', - label: 'Reset', - onclick: () => count(0) - } - ]; - - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Fab({ - icon: () => count() > 0 ? `🔢 ${count()}` : '🎛️', - actions: actions - }) - ]); -}; -Mount(ReactiveActions, '#demo-reactive'); -``` - -### Document Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const DocumentActions = () => { - const saved = $(false); - - const handleSave = () => { - saved(true); - Toast('Document saved!', 'alert-success', 2000); - setTimeout(() => saved(false), 3000); - }; - - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ - Div({ class: 'text-6xl mb-4' }, '📄'), - Div({ class: 'text-sm opacity-70' }, 'Untitled Document'), - () => saved() ? Div({ class: 'mt-4' }, Alert({ type: 'success', message: '✓ Saved successfully' })) : null - ]), - Fab({ - icon: '✏️', - actions: [ - { icon: '💾', label: 'Save', onclick: handleSave }, - { icon: '📋', label: 'Copy', onclick: () => Toast('Copied!', 'alert-info', 2000) }, - { icon: '✂️', label: 'Cut', onclick: () => Toast('Cut!', 'alert-info', 2000) }, - { icon: '📎', label: 'Share', onclick: () => Toast('Share dialog', 'alert-info', 2000) } - ] - }) - ]); -}; -Mount(DocumentActions, '#demo-document'); -``` - -### Messaging FAB - -
-
-

Live Demo

-
-
-
- -```javascript -const MessagingFAB = () => { - const unread = $(3); - - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute inset-0 flex flex-col items-center justify-center' }, [ - Div({ class: 'text-6xl mb-4' }, '💬'), - Div({ class: 'text-sm opacity-70' }, 'Messages'), - () => unread() > 0 ? Div({ class: 'badge badge-error mt-2' }, `${unread()} unread`) : null - ]), - Fab({ - icon: () => `💬${unread() > 0 ? ` ${unread()}` : ''}`, - class: 'btn-primary', - actions: [ - { - icon: '👤', - label: 'New Message', - onclick: () => Toast('Start new conversation', 'alert-info', 2000) - }, - { - icon: '👥', - label: 'Group Chat', - onclick: () => Toast('Create group', 'alert-info', 2000) - }, - { - icon: '📞', - label: 'Voice Call', - onclick: () => Toast('Start call', 'alert-info', 2000) - }, - { - icon: '📹', - label: 'Video Call', - onclick: () => Toast('Start video call', 'alert-info', 2000) - }, - { - icon: '🔔', - label: () => `Mark as read (${unread()})`, - onclick: () => { - unread(0); - Toast('All messages read', 'alert-success', 2000); - } - } - ] - }) - ]); -}; -Mount(MessagingFAB, '#demo-messaging'); -``` - -### Flower Style FAB - -
-
-

Live Demo

-
-
-
- -```javascript -const FlowerDemo = () => { - return Div({ class: 'relative h-[300px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'absolute inset-0 flex items-center justify-center text-sm opacity-50' }, [ - 'Flower style FAB (quarter circle arrangement)' - ]), - Fab({ - icon: '🌸', - class: 'fab-flower', - actions: [ - { icon: '📷', label: 'Camera', onclick: () => Toast('Camera', 'alert-info', 2000) }, - { icon: '🎨', label: 'Gallery', onclick: () => Toast('Gallery', 'alert-info', 2000) }, - { icon: '🎤', label: 'Voice', onclick: () => Toast('Voice', 'alert-info', 2000) }, - { icon: '📍', label: 'Location', onclick: () => Toast('Location', 'alert-info', 2000) } - ] - }) - ]); -}; -Mount(FlowerDemo, '#demo-flower'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const actions = [ - { icon: '⭐', label: 'Favorite', onclick: () => Toast('Favorited', 'alert-info', 2000) }, - { icon: '🔔', label: 'Remind', onclick: () => Toast('Reminder set', 'alert-info', 2000) }, - { icon: '📅', label: 'Schedule', onclick: () => Toast('Scheduled', 'alert-info', 2000) } - ]; - - return Div({ class: 'relative h-[400px] w-full bg-base-100 rounded-lg overflow-hidden' }, [ - Div({ class: 'grid grid-cols-2 gap-4 p-4 h-full' }, [ - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Primary'), - Fab({ icon: '🔵', class: 'btn-primary', actions, position: 'bottom-6 left-6' }) - ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Secondary'), - Fab({ icon: '🟣', class: 'btn-secondary', actions, position: 'bottom-6 right-6' }) - ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Accent'), - Fab({ icon: '🔴', class: 'btn-accent', actions, position: 'top-6 left-6' }) - ]), - Div({ class: 'relative border rounded-lg bg-base-200' }, [ - Span({ class: 'absolute top-2 left-2 text-xs opacity-50' }, 'Success'), - Fab({ icon: '🟢', class: 'btn-success', actions, position: 'top-6 right-6' }) - ]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/fieldset.md b/docs/components_old/fieldset.md deleted file mode 100644 index deeae1c..0000000 --- a/docs/components_old/fieldset.md +++ /dev/null @@ -1,549 +0,0 @@ -# Fieldset - -Fieldset component for grouping form fields with optional legend and consistent styling. - -## Tag - -`Fieldset` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `legend` | `string \| VNode \| Signal` | `-` | Fieldset legend/title | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `VNode \| Array` | Required | Form fields or content inside the fieldset | - -## Live Examples - -### Basic Fieldset - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Fieldset({ - legend: 'User Information', - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Full Name', placeholder: 'Enter your name' }), - Input({ label: 'Email', type: 'email', placeholder: 'user@example.com' }), - Input({ label: 'Phone', type: 'tel', placeholder: '+1 234 567 890' }) - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Reactive Legend - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const name = $(''); - const email = $(''); - const isValid = () => name().length > 0 && email().includes('@'); - - return Fieldset({ - legend: () => isValid() ? '✓ Valid Form' : '✗ Incomplete Form', - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Input({ - label: 'Full Name', - value: name, - oninput: (e) => name(e.target.value), - placeholder: 'Enter your name' - }), - Input({ - label: 'Email', - type: 'email', - value: email, - oninput: (e) => email(e.target.value), - placeholder: 'user@example.com' - }), - () => isValid() - ? Alert({ type: 'success', message: 'Form is ready to submit' }) - : Alert({ type: 'warning', message: 'Please fill all required fields' }) - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Address Form - -
-
-

Live Demo

-
-
-
- -```javascript -const AddressDemo = () => { - const address = $(''); - const city = $(''); - const zip = $(''); - const country = $('us'); - - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['📍', 'Shipping Address']), - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Street Address', value: address, placeholder: '123 Main St', oninput: (e) => address(e.target.value) }), - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Input({ label: 'City', value: city, placeholder: 'City', oninput: (e) => city(e.target.value) }), - Input({ label: 'ZIP Code', value: zip, placeholder: 'ZIP', oninput: (e) => zip(e.target.value) }) - ]), - Select({ - label: 'Country', - value: country, - options: [ - { value: 'us', label: 'United States' }, - { value: 'ca', label: 'Canada' }, - { value: 'mx', label: 'Mexico' } - ], - onchange: (e) => country(e.target.value) - }) - ]) - ]); -}; -Mount(AddressDemo, '#demo-address'); -``` - -### Payment Method - -
-
-

Live Demo

-
-
-
- -```javascript -const PaymentDemo = () => { - const method = $('credit'); - const cardNumber = $(''); - const expiry = $(''); - const cvv = $(''); - - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['💳', 'Payment Details']), - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'flex gap-4' }, [ - Radio({ label: 'Credit Card', value: method, radioValue: 'credit', onclick: () => method('credit') }), - Radio({ label: 'PayPal', value: method, radioValue: 'paypal', onclick: () => method('paypal') }), - Radio({ label: 'Bank Transfer', value: method, radioValue: 'bank', onclick: () => method('bank') }) - ]), - () => method() === 'credit' ? Div({ class: 'space-y-4' }, [ - Input({ label: 'Card Number', value: cardNumber, placeholder: '1234 5678 9012 3456', oninput: (e) => cardNumber(e.target.value) }), - Div({ class: 'grid grid-cols-2 gap-4' }, [ - Input({ label: 'Expiry Date', value: expiry, placeholder: 'MM/YY', oninput: (e) => expiry(e.target.value) }), - Input({ label: 'CVV', type: 'password', value: cvv, placeholder: '123', oninput: (e) => cvv(e.target.value) }) - ]) - ]) : null, - () => method() === 'paypal' ? Alert({ type: 'info', message: 'You will be redirected to PayPal after confirming.' }) : null, - () => method() === 'bank' ? Alert({ type: 'warning', message: 'Bank transfer details will be sent via email.' }) : null - ]) - ]); -}; -Mount(PaymentDemo, '#demo-payment'); -``` - -### Preferences Panel - -
-
-

Live Demo

-
-
-
- -```javascript -const PreferencesDemo = () => { - const theme = $('light'); - const language = $('en'); - const notifications = $(true); - - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['⚙️', 'Preferences']), - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'form-control' }, [ - Span({ class: 'label-text mb-2' }, 'Theme'), - Div({ class: 'flex gap-4' }, [ - Radio({ label: 'Light', value: theme, radioValue: 'light', onclick: () => theme('light') }), - Radio({ label: 'Dark', value: theme, radioValue: 'dark', onclick: () => theme('dark') }), - Radio({ label: 'System', value: theme, radioValue: 'system', onclick: () => theme('system') }) - ]) - ]), - Select({ - label: 'Language', - value: language, - options: [ - { value: 'en', label: 'English' }, - { value: 'es', label: 'Español' }, - { value: 'fr', label: 'Français' } - ], - onchange: (e) => language(e.target.value) - }), - Checkbox({ - label: 'Enable notifications', - value: notifications, - onclick: () => notifications(!notifications()) - }) - ]) - ]); -}; -Mount(PreferencesDemo, '#demo-preferences'); -``` - -### Registration Form - -
-
-

Live Demo

-
-
-
- -```javascript -const RegistrationDemo = () => { - const username = $(''); - const email = $(''); - const password = $(''); - const confirmPassword = $(''); - const accepted = $(false); - - const passwordsMatch = () => password() === confirmPassword(); - const isFormValid = () => username() && email().includes('@') && password().length >= 6 && passwordsMatch() && accepted(); - - const handleSubmit = () => { - if (isFormValid()) { - Toast('Registration successful!', 'alert-success', 2000); - } - }; - - return Fieldset({ - legend: Span({ class: 'flex items-center gap-2' }, ['📝', 'Create Account']), - class: 'w-full max-w-md mx-auto' - }, [ - Div({ class: 'space-y-4' }, [ - Input({ label: 'Username', value: username, placeholder: 'Choose a username', oninput: (e) => username(e.target.value) }), - Input({ label: 'Email', type: 'email', value: email, placeholder: 'your@email.com', oninput: (e) => email(e.target.value) }), - Input({ label: 'Password', type: 'password', value: password, placeholder: 'Min. 6 characters', oninput: (e) => password(e.target.value) }), - Input({ - label: 'Confirm Password', - type: 'password', - value: confirmPassword, - error: () => confirmPassword() && !passwordsMatch() ? 'Passwords do not match' : '', - oninput: (e) => confirmPassword(e.target.value) - }), - Checkbox({ - label: 'I accept the Terms and Conditions', - value: accepted, - onclick: () => accepted(!accepted()) - }), - () => !isFormValid() && (username() || email() || password()) ? Alert({ type: 'warning', message: 'Please complete all fields correctly' }) : null, - Button({ - class: 'btn btn-primary w-full', - onclick: handleSubmit, - disabled: () => !isFormValid() - }, 'Register') - ]) - ]); -}; -Mount(RegistrationDemo, '#demo-registration'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const commonContent = Div({ class: 'space-y-4' }, [ - Input({ label: 'Field 1', placeholder: 'Enter value' }), - Input({ label: 'Field 2', placeholder: 'Enter value' }), - Button({ class: 'btn btn-primary' }, 'Submit') - ]); - - return Div({ class: 'flex flex-col gap-4' }, [ - Fieldset({ legend: 'Default Fieldset', class: 'w-full' }, [commonContent]), - Fieldset({ legend: 'With Shadow', class: 'w-full shadow-lg' }, [commonContent]), - Fieldset({ legend: 'With Background', class: 'w-full bg-base-100' }, [commonContent]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/indicator.md b/docs/components_old/indicator.md deleted file mode 100644 index 9a6af06..0000000 --- a/docs/components_old/indicator.md +++ /dev/null @@ -1,556 +0,0 @@ -# Indicator - -Indicator component for adding badges, status markers, or notifications to elements. Perfect for showing counts, online status, or alerts. - -## Tag - -`Indicator` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `badge` | `string \| VNode \| Signal` | `-` | Content to display as indicator | -| `badgeClass` | `string` | `''` | Additional CSS classes for the badge | -| `class` | `string` | `''` | Additional CSS classes for the container | -| `children` | `VNode` | `-` | Element to attach the indicator to | - -## Live Examples - -### Basic Indicator - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Indicator({ badge: '3', badgeClass: 'badge-primary' }, [ - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '📦') - ]), - Indicator({ badge: '99+', badgeClass: 'badge-secondary' }, [ - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') - ]), - Indicator({ badge: 'New', badgeClass: 'badge-accent' }, [ - Div({ class: 'w-16 h-16 bg-base-300 rounded-lg flex items-center justify-center' }, '✨') - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Online Status Indicator - -
-
-

Live Demo

-
-
-
- -```javascript -const StatusDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JD') - ]) - ]), - Indicator({ badge: '●', badgeClass: 'badge-warning badge-xs' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'JS') - ]) - ]), - Indicator({ badge: '●', badgeClass: 'badge-error badge-xs' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-12 h-12 flex items-center justify-center' }, 'BC') - ]) - ]) - ]); -}; -Mount(StatusDemo, '#demo-status'); -``` - -### Reactive Counter - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const count = $(0); - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Indicator({ - badge: () => count() > 0 ? count() : null, - badgeClass: 'badge-primary' - }, [ - Button({ - class: 'btn btn-lg btn-primary', - onclick: () => count(count() + 1) - }, 'Notifications') - ]), - Div({ class: 'flex gap-2' }, [ - Button({ - class: 'btn btn-sm', - onclick: () => count(Math.max(0, count() - 1)) - }, 'Decrease'), - Button({ - class: 'btn btn-sm btn-ghost', - onclick: () => count(0) - }, 'Clear') - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Shopping Cart - -
-
-

Live Demo

-
-
-
- -```javascript -const CartDemo = () => { - const cart = $([ - { id: 1, name: 'Product 1', price: 29 }, - { id: 2, name: 'Product 2', price: 49 } - ]); - - const addItem = () => { - const newId = Math.max(...cart().map(i => i.id), 0) + 1; - cart([...cart(), { id: newId, name: `Product ${newId}`, price: Math.floor(Math.random() * 100) + 10 }]); - Toast('Item added to cart', 'alert-success', 1500); - }; - - const removeItem = (id) => { - cart(cart().filter(item => item.id !== id)); - Toast('Item removed', 'alert-info', 1500); - }; - - const total = () => cart().reduce((sum, item) => sum + item.price, 0); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Indicator({ - badge: () => cart().length, - badgeClass: 'badge-primary' - }, [ - Button({ class: 'btn', onclick: addItem }, '🛒 Add to Cart') - ]), - Span({ class: 'text-lg font-bold' }, () => `Total: $${total()}`) - ]), - cart().length === 0 - ? Div({ class: 'alert alert-soft text-center' }, 'Cart is empty') - : Div({ class: 'flex flex-col gap-2' }, cart().map(item => - Div({ class: 'flex justify-between items-center p-2 bg-base-200 rounded-lg' }, [ - Span({}, item.name), - Div({ class: 'flex gap-2 items-center' }, [ - Span({ class: 'text-sm font-bold' }, `$${item.price}`), - Button({ - class: 'btn btn-xs btn-ghost btn-circle', - onclick: () => removeItem(item.id) - }, '✕') - ]) - ]) - )) - ]); -}; -Mount(CartDemo, '#demo-cart'); -``` - -### Email Inbox - -
-
-

Live Demo

-
-
-
- -```javascript -const InboxDemo = () => { - const unread = $(3); - const messages = $([ - { id: 1, from: 'john@example.com', subject: 'Meeting tomorrow', read: false }, - { id: 2, from: 'jane@example.com', subject: 'Project update', read: false }, - { id: 3, from: 'bob@example.com', subject: 'Question about design', read: false }, - { id: 4, from: 'alice@example.com', subject: 'Weekly report', read: true } - ]); - - const markAsRead = (id) => { - const msg = messages().find(m => m.id === id); - if (!msg.read) { - msg.read = true; - messages([...messages()]); - unread(unread() - 1); - } - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Indicator({ - badge: () => unread(), - badgeClass: 'badge-primary' - }, [ - Span({ class: 'text-lg font-bold' }, 'Inbox') - ]), - Button({ - class: 'btn btn-sm btn-ghost', - onclick: () => { - messages().forEach(m => m.read = true); - messages([...messages()]); - unread(0); - } - }, 'Mark all read') - ]), - Div({ class: 'flex flex-col gap-2' }, messages().map(msg => - Div({ - class: `p-3 rounded-lg cursor-pointer transition-all ${msg.read ? 'bg-base-200 opacity-60' : 'bg-primary/10 border-l-4 border-primary'}`, - onclick: () => markAsRead(msg.id) - }, [ - Div({ class: 'font-medium' }, msg.from), - Div({ class: 'text-sm' }, msg.subject), - !msg.read && Span({ class: 'badge badge-xs badge-primary mt-1' }, 'New') - ]) - )) - ]); -}; -Mount(InboxDemo, '#demo-inbox'); -``` - -### Custom Position - -
-
-

Live Demo

-
-
-
- -```javascript -const PositionsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Top-Left'), - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg' }) - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Top-Right'), - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg' }) - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Bottom-Left'), - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg' }) - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Bottom-Right'), - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg' }) - ]) - ]) - ]); -}; -Mount(PositionsDemo, '#demo-positions'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Indicator({ badge: '3', badgeClass: 'badge-primary badge-sm' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '📧') - ]), - Indicator({ badge: '99+', badgeClass: 'badge-secondary badge-md' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '🔔') - ]), - Indicator({ badge: '●', badgeClass: 'badge-success badge-xs' }, [ - Div({ class: 'avatar' }, [ - Div({ class: 'w-10 h-10 rounded-full bg-primary' }) - ]) - ]), - Indicator({ badge: '!', badgeClass: 'badge-error badge-sm' }, [ - Div({ class: 'w-12 h-12 bg-base-300 rounded-lg flex items-center justify-center' }, '⚠️') - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/input.md b/docs/components_old/input.md deleted file mode 100644 index 8cd4648..0000000 --- a/docs/components_old/input.md +++ /dev/null @@ -1,348 +0,0 @@ -# Input - -Form input component with floating label, icons, password toggle, tooltip, and error states. Fully integrated with DaisyUI and Tailwind. - -## Tag - -`Input` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :--------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text (floating style) | -| `type` | `string` | `'text'` | Input type (text, password, email, number, date) | -| `value` | `string \| Signal` | `''` | Input value | -| `placeholder`| `string` | `' '` | Placeholder text | -| `icon` | `string \| VNode \| Signal` | `-` | Icon displayed inside input | -| `tip` | `string` | `-` | Help tooltip text | -| `error` | `string \| Signal` | `-` | Error message to display | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `oninput` | `function` | `-` | Input event handler | - -## Live Examples - -### Basic Input - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const name = $(''); - - return Input({ - label: 'Full Name', - placeholder: 'Enter your name', - value: name, - oninput: (e) => name(e.target.value) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Icon - -
-
-

Live Demo

-
-
-
- -```javascript -const IconDemo = () => { - const email = $(''); - - return Input({ - label: 'Email', - type: 'email', - icon: Icons.iconMail, - value: email, - oninput: (e) => email(e.target.value) - }); -}; -Mount(IconDemo, '#demo-icon'); -``` - -### Password with Toggle - -
-
-

Live Demo

-
-
-
- -```javascript -const PasswordDemo = () => { - const password = $(''); - - return Input({ - label: 'Password', - type: 'password', - value: password, - oninput: (e) => password(e.target.value) - }); -}; -Mount(PasswordDemo, '#demo-password'); -``` - -### With Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipDemo = () => { - const username = $(''); - - return Input({ - label: 'Username', - tip: 'Must be at least 3 characters', - value: username, - oninput: (e) => username(e.target.value) - }); -}; -Mount(TooltipDemo, '#demo-tooltip'); -``` - -### Error State - -
-
-

Live Demo

-
-
-
- -```javascript -const ErrorDemo = () => { - const email = $(''); - const isValid = $(true); - - const validate = (value) => { - const valid = value.includes('@') && value.includes('.'); - isValid(valid); - email(value); - }; - - return Input({ - label: 'Email', - type: 'email', - value: email, - error: () => !isValid() && email() ? 'Invalid email address' : '', - oninput: (e) => validate(e.target.value) - }); -}; -Mount(ErrorDemo, '#demo-error'); -``` - -### Disabled State - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - return Input({ - label: 'Username', - value: 'john.doe', - disabled: true - }); -}; -Mount(DisabledDemo, '#demo-disabled'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const text = $(''); - const number = $(0); - - return Div({ class: 'flex flex-col gap-4' }, [ - Input({ - label: 'Text Input', - placeholder: 'Type something...', - value: text, - oninput: (e) => text(e.target.value) - }), - Input({ - label: 'Number Input', - type: 'number', - value: number, - oninput: (e) => number(parseInt(e.target.value) || 0) - }), - Input({ - label: 'Date Input', - type: 'date', - value: $('2024-01-01') - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/list.md b/docs/components_old/list.md deleted file mode 100644 index ffafcdc..0000000 --- a/docs/components_old/list.md +++ /dev/null @@ -1,601 +0,0 @@ - -# List - -List component with custom item rendering, headers, and reactive data binding. - -## Tag - -`List` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :--------------- | :----------------------------------------------- | -| `items` | `Array \| Signal` | `[]` | Data array to display | -| `header` | `string \| VNode \| Signal` | `-` | Optional header content | -| `render` | `function(item, index)` | `-` | Custom render function for each item | -| `keyFn` | `function(item, index)` | `(item, idx) => idx` | Unique key function for items | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic List - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const items = ['Apple', 'Banana', 'Orange', 'Grape', 'Mango']; - - return List({ - items: items, - render: (item) => Div({ class: 'p-3 hover:bg-base-200 transition-colors' }, [ - Span({ class: 'font-medium' }, item) - ]) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Header - -
-
-

Live Demo

-
-
-
- -```javascript -const HeaderDemo = () => { - const users = [ - { name: 'John Doe', email: 'john@example.com', status: 'active' }, - { name: 'Jane Smith', email: 'jane@example.com', status: 'inactive' }, - { name: 'Bob Johnson', email: 'bob@example.com', status: 'active' } - ]; - - return List({ - items: users, - header: Div({ class: 'p-3 bg-primary/10 font-bold border-b border-base-300' }, 'Active Users'), - render: (user) => Div({ class: 'p-3 border-b border-base-300 hover:bg-base-200' }, [ - Div({ class: 'font-medium' }, user.name), - Div({ class: 'text-sm opacity-70' }, user.email), - Span({ class: `badge badge-sm ${user.status === 'active' ? 'badge-success' : 'badge-ghost'} mt-1` }, user.status) - ]) - }); -}; -Mount(HeaderDemo, '#demo-header'); -``` - -### With Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - const settings = [ - { icon: '🔊', label: 'Sound', description: 'Adjust volume and notifications' }, - { icon: '🌙', label: 'Display', description: 'Brightness and dark mode' }, - { icon: '🔒', label: 'Privacy', description: 'Security settings' }, - { icon: '🌐', label: 'Network', description: 'WiFi and connections' } - ]; - - return List({ - items: settings, - render: (item) => Div({ class: 'flex gap-3 p-3 hover:bg-base-200 transition-colors cursor-pointer' }, [ - Div({ class: 'text-2xl' }, item.icon), - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, item.label), - Div({ class: 'text-sm opacity-60' }, item.description) - ]), - Span({ class: 'opacity-40' }, '→') - ]) - }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### With Badges - -
-
-

Live Demo

-
-
-
- -```javascript -const BadgesDemo = () => { - const notifications = [ - { id: 1, message: 'New comment on your post', time: '5 min ago', unread: true }, - { id: 2, message: 'Your order has been shipped', time: '1 hour ago', unread: true }, - { id: 3, message: 'Welcome to the platform!', time: '2 days ago', unread: false }, - { id: 4, message: 'Weekly digest available', time: '3 days ago', unread: false } - ]; - - return List({ - items: notifications, - render: (item) => Div({ class: `flex justify-between items-center p-3 border-b border-base-300 hover:bg-base-200 ${item.unread ? 'bg-primary/5' : ''}` }, [ - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, item.message), - Div({ class: 'text-xs opacity-50' }, item.time) - ]), - item.unread ? Span({ class: 'badge badge-primary badge-sm' }, 'New') : null - ]) - }); -}; -Mount(BadgesDemo, '#demo-badges'); -``` - -### Interactive List - -
-
-

Live Demo

-
-
-
- -```javascript -const InteractiveDemo = () => { - const selected = $(null); - const items = [ - { id: 1, name: 'Project Alpha', status: 'In Progress' }, - { id: 2, name: 'Project Beta', status: 'Planning' }, - { id: 3, name: 'Project Gamma', status: 'Completed' }, - { id: 4, name: 'Project Delta', status: 'Review' } - ]; - - const statusColors = { - 'In Progress': 'badge-warning', - 'Planning': 'badge-info', - 'Completed': 'badge-success', - 'Review': 'badge-accent' - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - List({ - items: items, - render: (item) => Div({ - class: `p-3 cursor-pointer transition-all hover:bg-base-200 ${selected() === item.id ? 'bg-primary/10 border-l-4 border-primary' : 'border-l-4 border-transparent'}`, - onclick: () => selected(item.id) - }, [ - Div({ class: 'flex justify-between items-center' }, [ - Div({ class: 'font-medium' }, item.name), - Span({ class: `badge ${statusColors[item.status]}` }, item.status) - ]) - ]) - }), - () => selected() - ? Div({ class: 'alert alert-info' }, `Selected: ${items.find(i => i.id === selected()).name}`) - : Div({ class: 'alert alert-soft' }, 'Select a project to see details') - ]); -}; -Mount(InteractiveDemo, '#demo-interactive'); -``` - -### Reactive List - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const todos = $([ - { id: 1, text: 'Complete documentation', done: false }, - { id: 2, text: 'Review pull requests', done: false }, - { id: 3, text: 'Deploy to production', done: false } - ]); - - const newTodo = $(''); - - const addTodo = () => { - if (newTodo().trim()) { - const newId = Math.max(...todos().map(t => t.id), 0) + 1; - todos([...todos(), { id: newId, text: newTodo(), done: false }]); - newTodo(''); - } - }; - - const toggleTodo = (id) => { - todos(todos().map(t => - t.id === id ? { ...t, done: !t.done } : t - )); - }; - - const deleteTodo = (id) => { - todos(todos().filter(t => t.id !== id)); - }; - - const pendingCount = () => todos().filter(t => !t.done).length; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Input({ - placeholder: 'Add new task...', - value: newTodo, - class: 'flex-1', - oninput: (e) => newTodo(e.target.value), - onkeypress: (e) => e.key === 'Enter' && addTodo() - }), - Button({ class: 'btn btn-primary', onclick: addTodo }, 'Add') - ]), - List({ - items: todos, - render: (todo) => Div({ class: `flex items-center gap-3 p-2 border-b border-base-300 hover:bg-base-200 ${todo.done ? 'opacity-60' : ''}` }, [ - Checkbox({ - value: todo.done, - onclick: () => toggleTodo(todo.id) - }), - Span({ - class: `flex-1 ${todo.done ? 'line-through' : ''}`, - onclick: () => toggleTodo(todo.id) - }, todo.text), - Button({ - class: 'btn btn-ghost btn-xs btn-circle', - onclick: () => deleteTodo(todo.id) - }, '✕') - ]) - }), - Div({ class: 'text-sm opacity-70 mt-2' }, () => `${pendingCount()} tasks remaining`) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Avatar List - -
-
-

Live Demo

-
-
-
- -```javascript -const AvatarDemo = () => { - const contacts = [ - { name: 'Alice Johnson', role: 'Developer', avatar: 'A', online: true }, - { name: 'Bob Smith', role: 'Designer', avatar: 'B', online: false }, - { name: 'Charlie Brown', role: 'Manager', avatar: 'C', online: true }, - { name: 'Diana Prince', role: 'QA Engineer', avatar: 'D', online: false } - ]; - - return List({ - items: contacts, - render: (contact) => Div({ class: 'flex gap-3 p-3 hover:bg-base-200 transition-colors' }, [ - Div({ class: `avatar ${contact.online ? 'online' : 'offline'}`, style: 'width: 48px' }, [ - Div({ class: 'rounded-full bg-primary text-primary-content flex items-center justify-center w-12 h-12 font-bold' }, contact.avatar) - ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'font-medium' }, contact.name), - Div({ class: 'text-sm opacity-60' }, contact.role) - ]), - Div({ class: `badge badge-sm ${contact.online ? 'badge-success' : 'badge-ghost'}` }, contact.online ? 'Online' : 'Offline') - ]) - }); -}; -Mount(AvatarDemo, '#demo-avatar'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const items = ['Item 1', 'Item 2', 'Item 3']; - - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-sm font-bold' }, 'Default List'), - List({ - items: items, - render: (item) => Div({ class: 'p-2' }, item) - }), - - Div({ class: 'text-sm font-bold mt-2' }, 'With Shadow'), - List({ - items: items, - render: (item) => Div({ class: 'p-2' }, item), - class: 'shadow-lg' - }), - - Div({ class: 'text-sm font-bold mt-2' }, 'Rounded Corners'), - List({ - items: items, - render: (item) => Div({ class: 'p-2' }, item), - class: 'rounded-box overflow-hidden' - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/loading.md b/docs/components_old/loading.md deleted file mode 100644 index b5723c2..0000000 --- a/docs/components_old/loading.md +++ /dev/null @@ -1,597 +0,0 @@ -# Loading - -Loading spinner component for indicating loading states with customizable size and colors. - -## Tag - -`Loading` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :--------------- | :----------------------------------------------- | -| `$show` | `boolean \| Signal` | `true` | Show/hide the loading spinner | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI loading variants)| - -## Live Examples - -### Basic Loading - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ - Loading({ $show: true, class: 'loading-spinner' }), - Loading({ $show: true, class: 'loading-dots' }), - Loading({ $show: true, class: 'loading-ring' }), - Loading({ $show: true, class: 'loading-ball' }), - Loading({ $show: true, class: 'loading-bars' }), - Loading({ $show: true, class: 'loading-infinity' }) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Loading Sizes - -
-
-

Live Demo

-
-
-
- -```javascript -const SizesDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ - Div({ class: 'text-center' }, [ - Loading({ $show: true, class: 'loading-spinner loading-xs' }), - Div({ class: 'text-xs mt-2' }, 'Extra Small') - ]), - Div({ class: 'text-center' }, [ - Loading({ $show: true, class: 'loading-spinner loading-sm' }), - Div({ class: 'text-xs mt-2' }, 'Small') - ]), - Div({ class: 'text-center' }, [ - Loading({ $show: true, class: 'loading-spinner loading-md' }), - Div({ class: 'text-xs mt-2' }, 'Medium') - ]), - Div({ class: 'text-center' }, [ - Loading({ $show: true, class: 'loading-spinner loading-lg' }), - Div({ class: 'text-xs mt-2' }, 'Large') - ]) - ]); -}; -Mount(SizesDemo, '#demo-sizes'); -``` - -### Loading Colors - -
-
-

Live Demo

-
-
-
- -```javascript -const ColorsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ - Loading({ $show: true, class: 'loading-spinner text-primary' }), - Loading({ $show: true, class: 'loading-spinner text-secondary' }), - Loading({ $show: true, class: 'loading-spinner text-accent' }), - Loading({ $show: true, class: 'loading-spinner text-info' }), - Loading({ $show: true, class: 'loading-spinner text-success' }), - Loading({ $show: true, class: 'loading-spinner text-warning' }), - Loading({ $show: true, class: 'loading-spinner text-error' }) - ]); -}; -Mount(ColorsDemo, '#demo-colors'); -``` - -### Button Loading State - -
-
-

Live Demo

-
-
-
- -```javascript -const ButtonDemo = () => { - const isLoading = $(false); - - const handleClick = async () => { - isLoading(true); - await new Promise(resolve => setTimeout(resolve, 2000)); - isLoading(false); - Toast('Operation completed!', 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ - class: 'btn btn-primary', - loading: isLoading, - onclick: handleClick - }, 'Submit'), - Div({ class: 'text-sm opacity-70' }, 'Click the button to see loading state') - ]); -}; -Mount(ButtonDemo, '#demo-button'); -``` - -### Async Data Loading - -
-
-

Live Demo

-
-
-
- -```javascript -const AsyncDemo = () => { - const loading = $(false); - const data = $(null); - const error = $(null); - - const loadData = async () => { - loading(true); - error(null); - data(null); - - try { - await new Promise(resolve => setTimeout(resolve, 2000)); - const result = { - users: 1234, - posts: 5678, - comments: 9012 - }; - data(result); - Toast('Data loaded successfully!', 'alert-success', 2000); - } catch (err) { - error('Failed to load data'); - Toast('Error loading data', 'alert-error', 2000); - } finally { - loading(false); - } - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: loadData, - disabled: () => loading() - }, loading() ? 'Loading...' : 'Load Data') - ]), - Div({ class: 'relative min-h-[200px] flex items-center justify-center' }, [ - () => loading() ? Loading({ $show: true, class: 'loading-spinner loading-lg' }) : null, - () => data() ? Div({ class: 'grid grid-cols-3 gap-4 w-full' }, [ - Div({ class: 'stat' }, [ - Div({ class: 'stat-title' }, 'Users'), - Div({ class: 'stat-value' }, data().users) - ]), - Div({ class: 'stat' }, [ - Div({ class: 'stat-title' }, 'Posts'), - Div({ class: 'stat-value' }, data().posts) - ]), - Div({ class: 'stat' }, [ - Div({ class: 'stat-title' }, 'Comments'), - Div({ class: 'stat-value' }, data().comments) - ]) - ]) : null, - () => error() ? Alert({ type: 'error', message: error() }) : null - ]) - ]); -}; -Mount(AsyncDemo, '#demo-async'); -``` - -### Full Page Loading - -
-
-

Live Demo

-
-
-
- -```javascript -const FullpageDemo = () => { - const isLoading = $(false); - - const simulatePageLoad = () => { - isLoading(true); - setTimeout(() => { - isLoading(false); - Toast('Page loaded!', 'alert-success', 2000); - }, 2000); - }; - - return Div({ class: 'relative' }, [ - Div({ class: 'flex justify-center p-8' }, [ - Button({ - class: 'btn btn-primary', - onclick: simulatePageLoad - }, 'Simulate Page Load') - ]), - () => isLoading() ? Loading({ $show: true, class: 'loading-spinner loading-lg' }) : null - ]); -}; -Mount(FullpageDemo, '#demo-fullpage'); -``` - -### Conditional Loading - -
-
-

Live Demo

-
-
-
- -```javascript -const ConditionalDemo = () => { - const loadingState = $('idle'); - const content = $(''); - - const simulateAction = (action) => { - loadingState('loading'); - setTimeout(() => { - content(`Action: ${action} completed at ${new Date().toLocaleTimeString()}`); - loadingState('success'); - setTimeout(() => loadingState('idle'), 1500); - }, 1500); - }; - - const loadingStates = { - idle: null, - loading: Loading({ $show: true, class: 'loading-spinner text-primary' }), - success: Alert({ type: 'success', message: '✓ Done!' }) - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2 justify-center' }, [ - Button({ - class: 'btn btn-sm', - onclick: () => simulateAction('Save') - }, 'Save'), - Button({ - class: 'btn btn-sm', - onclick: () => simulateAction('Update') - }, 'Update'), - Button({ - class: 'btn btn-sm', - onclick: () => simulateAction('Delete') - }, 'Delete') - ]), - Div({ class: 'flex justify-center min-h-[100px] items-center' }, [ - () => loadingStates[loadingState()], - () => content() && loadingState() === 'idle' ? Div({ class: 'text-center' }, content()) : null - ]) - ]); -}; -Mount(ConditionalDemo, '#demo-conditional'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Spinner'), - Div({ class: 'flex gap-4 justify-center' }, [ - Loading({ $show: true, class: 'loading-spinner loading-xs' }), - Loading({ $show: true, class: 'loading-spinner loading-sm' }), - Loading({ $show: true, class: 'loading-spinner loading-md' }), - Loading({ $show: true, class: 'loading-spinner loading-lg' }) - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Dots'), - Div({ class: 'flex gap-4 justify-center' }, [ - Loading({ $show: true, class: 'loading-dots loading-xs' }), - Loading({ $show: true, class: 'loading-dots loading-sm' }), - Loading({ $show: true, class: 'loading-dots loading-md' }), - Loading({ $show: true, class: 'loading-dots loading-lg' }) - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Ring'), - Div({ class: 'flex gap-4 justify-center' }, [ - Loading({ $show: true, class: 'loading-ring loading-xs' }), - Loading({ $show: true, class: 'loading-ring loading-sm' }), - Loading({ $show: true, class: 'loading-ring loading-md' }), - Loading({ $show: true, class: 'loading-ring loading-lg' }) - ]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/menu.md b/docs/components_old/menu.md deleted file mode 100644 index 76b5bbf..0000000 --- a/docs/components_old/menu.md +++ /dev/null @@ -1,760 +0,0 @@ -# Menu - -Menu component for creating navigation menus, sidebars, and dropdowns with support for nested items, icons, and active states. - -## Tag - -`Menu` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :---------- | :----------------------------------------------- | -| `items` | `Array` | `[]` | Menu items configuration | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -### MenuItem Structure - -| Property | Type | Description | -| :---------- | :--------------------------- | :----------------------------------------------- | -| `label` | `string \| VNode` | Menu item text or content | -| `icon` | `string \| VNode` | Optional icon to display | -| `active` | `boolean \| Signal` | Active state highlighting | -| `onclick` | `function` | Click handler | -| `children` | `Array` | Nested submenu items | -| `open` | `boolean` | Whether submenu is open (for nested items) | - -## Live Examples - -### Basic Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const activeItem = $('home'); - - return Menu({ - items: [ - { - label: 'Home', - active: () => activeItem() === 'home', - onclick: () => activeItem('home') - }, - { - label: 'About', - active: () => activeItem() === 'about', - onclick: () => activeItem('about') - }, - { - label: 'Contact', - active: () => activeItem() === 'contact', - onclick: () => activeItem('contact') - } - ] - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - const activeItem = $('dashboard'); - - return Menu({ - items: [ - { - icon: '🏠', - label: 'Dashboard', - active: () => activeItem() === 'dashboard', - onclick: () => activeItem('dashboard') - }, - { - icon: '📊', - label: 'Analytics', - active: () => activeItem() === 'analytics', - onclick: () => activeItem('analytics') - }, - { - icon: '⚙️', - label: 'Settings', - active: () => activeItem() === 'settings', - onclick: () => activeItem('settings') - }, - { - icon: '👤', - label: 'Profile', - active: () => activeItem() === 'profile', - onclick: () => activeItem('profile') - } - ] - }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Nested Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const NestedDemo = () => { - const activeItem = $('products'); - - return Menu({ - items: [ - { - label: 'Dashboard', - onclick: () => activeItem('dashboard'), - active: () => activeItem() === 'dashboard' - }, - { - label: 'Products', - icon: '📦', - open: true, - children: [ - { - label: 'All Products', - onclick: () => activeItem('all-products'), - active: () => activeItem() === 'all-products' - }, - { - label: 'Add New', - onclick: () => activeItem('add-product'), - active: () => activeItem() === 'add-product' - }, - { - label: 'Categories', - children: [ - { - label: 'Electronics', - onclick: () => activeItem('electronics'), - active: () => activeItem() === 'electronics' - }, - { - label: 'Clothing', - onclick: () => activeItem('clothing'), - active: () => activeItem() === 'clothing' - } - ] - } - ] - }, - { - label: 'Orders', - icon: '📋', - onclick: () => activeItem('orders'), - active: () => activeItem() === 'orders' - }, - { - label: 'Settings', - icon: '⚙️', - onclick: () => activeItem('settings'), - active: () => activeItem() === 'settings' - } - ] - }); -}; -Mount(NestedDemo, '#demo-nested'); -``` - -### Horizontal Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const HorizontalDemo = () => { - const activeItem = $('home'); - - return Menu({ - class: 'menu-horizontal rounded-box', - items: [ - { - label: 'Home', - active: () => activeItem() === 'home', - onclick: () => activeItem('home') - }, - { - label: 'Products', - children: [ - { label: 'Electronics', onclick: () => activeItem('electronics') }, - { label: 'Clothing', onclick: () => activeItem('clothing') }, - { label: 'Books', onclick: () => activeItem('books') } - ] - }, - { - label: 'About', - onclick: () => activeItem('about'), - active: () => activeItem() === 'about' - }, - { - label: 'Contact', - onclick: () => activeItem('contact'), - active: () => activeItem() === 'contact' - } - ] - }); -}; -Mount(HorizontalDemo, '#demo-horizontal'); -``` - -### Sidebar Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const SidebarDemo = () => { - const activeItem = $('dashboard'); - - return Div({ class: 'flex' }, [ - Div({ class: 'w-64' }, [ - Menu({ - class: 'rounded-box w-full', - items: [ - { - icon: '📊', - label: 'Dashboard', - active: () => activeItem() === 'dashboard', - onclick: () => activeItem('dashboard') - }, - { - icon: '👥', - label: 'Users', - children: [ - { - label: 'All Users', - onclick: () => activeItem('all-users'), - active: () => activeItem() === 'all-users' - }, - { - label: 'Add User', - onclick: () => activeItem('add-user'), - active: () => activeItem() === 'add-user' - } - ] - }, - { - icon: '📁', - label: 'Files', - onclick: () => activeItem('files'), - active: () => activeItem() === 'files' - }, - { - icon: '⚙️', - label: 'Settings', - onclick: () => activeItem('settings'), - active: () => activeItem() === 'settings' - } - ] - }) - ]), - Div({ class: 'flex-1 p-4' }, [ - Div({ class: 'alert alert-info' }, () => `Current page: ${activeItem()}`) - ]) - ]); -}; -Mount(SidebarDemo, '#demo-sidebar'); -``` - -### Account Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const AccountDemo = () => { - const [notifications, setNotifications] = $(3); - - return Menu({ - class: 'rounded-box w-56', - items: [ - { - icon: '👤', - label: 'My Profile', - onclick: () => Toast('Profile clicked', 'alert-info', 2000) - }, - { - icon: '📧', - label: 'Messages', - badge: '3', - onclick: () => Toast('Messages opened', 'alert-info', 2000) - }, - { - icon: '🔔', - label: 'Notifications', - badge: () => notifications(), - onclick: () => { - setNotifications(0); - Toast('Notifications cleared', 'alert-success', 2000); - } - }, - { - icon: '⚙️', - label: 'Settings', - onclick: () => Toast('Settings opened', 'alert-info', 2000) - }, - { - icon: '🚪', - label: 'Logout', - onclick: () => Toast('Logged out', 'alert-warning', 2000) - } - ] - }); -}; -Mount(AccountDemo, '#demo-account'); -``` - -### Collapsible Sidebar - -
-
-

Live Demo

-
-
-
- -```javascript -const CollapsibleDemo = () => { - const collapsed = $(false); - const activeItem = $('dashboard'); - - return Div({ class: 'flex gap-4' }, [ - Div({ class: `transition-all duration-300 ${collapsed() ? 'w-16' : 'w-64'}` }, [ - Button({ - class: 'btn btn-ghost btn-sm mb-2 w-full', - onclick: () => collapsed(!collapsed()) - }, collapsed() ? '→' : '←'), - Menu({ - class: `rounded-box ${collapsed() ? 'menu-compact' : ''}`, - items: [ - { icon: '📊', label: collapsed() ? '' : 'Dashboard', active: () => activeItem() === 'dashboard', onclick: () => activeItem('dashboard') }, - { icon: '👥', label: collapsed() ? '' : 'Users', active: () => activeItem() === 'users', onclick: () => activeItem('users') }, - { icon: '📁', label: collapsed() ? '' : 'Files', active: () => activeItem() === 'files', onclick: () => activeItem('files') }, - { icon: '⚙️', label: collapsed() ? '' : 'Settings', active: () => activeItem() === 'settings', onclick: () => activeItem('settings') } - ] - }) - ]), - Div({ class: 'flex-1' }, [ - Div({ class: 'alert alert-info' }, () => `Selected: ${activeItem()}`) - ]) - ]); -}; -Mount(CollapsibleDemo, '#demo-collapsible'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const items = [ - { label: 'Item 1' }, - { label: 'Item 2' }, - { label: 'Item 3', children: [ - { label: 'Subitem 1' }, - { label: 'Subitem 2' } - ]} - ]; - - return Div({ class: 'flex flex-wrap gap-8' }, [ - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Default'), - Menu({ items }) - ]), - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Compact'), - Menu({ items, class: 'menu-compact' }) - ]), - Div({ class: 'w-48' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'With Shadow'), - Menu({ items, class: 'shadow-lg' }) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/modal.md b/docs/components_old/modal.md deleted file mode 100644 index 607673e..0000000 --- a/docs/components_old/modal.md +++ /dev/null @@ -1,667 +0,0 @@ -# Modal - -Modal dialog component for displaying content in an overlay with customizable actions and backdrop. - -## Tag - -`Modal` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `open` | `boolean \| Signal` | `false` | Modal visibility state | -| `title` | `string \| VNode \| Signal` | `-` | Modal title text | -| `buttons` | `Array \| VNode` | `-` | Action buttons to display (auto-closes on click) | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `string \| VNode` | `-` | Modal content | - -## Live Examples - -### Basic Modal - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const isOpen = $(false); - - return Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Open Modal'), - Modal({ - open: isOpen, - title: 'Basic Modal', - buttons: Button({ onclick: () => isOpen(false) }, 'Close') - }, [ - Div({ class: 'py-4' }, 'This is a basic modal dialog. You can put any content here.') - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Modal with Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const ActionsDemo = () => { - const isOpen = $(false); - const confirmed = $(false); - - const handleConfirm = () => { - confirmed(true); - isOpen(false); - Toast('Action confirmed!', 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Confirm Action'), - () => confirmed() ? Alert({ - type: 'success', - message: 'You confirmed the action!' - }) : null, - Modal({ - open: isOpen, - title: 'Confirm Action', - buttons: [ - Button({ - class: 'btn btn-ghost', - onclick: () => isOpen(false) - }, 'Cancel'), - Button({ - class: 'btn btn-primary', - onclick: handleConfirm - }, 'Confirm') - ] - }, [ - Div({ class: 'py-4' }, 'Are you sure you want to perform this action? This cannot be undone.') - ]) - ]); -}; -Mount(ActionsDemo, '#demo-actions'); -``` - -### Form Modal - -
-
-

Live Demo

-
-
-
- -```javascript -const FormModal = () => { - const isOpen = $(false); - const name = $(''); - const email = $(''); - const submitted = $(false); - - const handleSubmit = () => { - if (name() && email()) { - submitted(true); - isOpen(false); - Toast(`Welcome ${name()}!`, 'alert-success', 2000); - setTimeout(() => submitted(false), 3000); - } - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Sign Up'), - () => submitted() ? Alert({ - type: 'success', - message: 'Account created successfully!' - }) : null, - Modal({ - open: isOpen, - title: 'Create Account', - buttons: [ - Button({ - class: 'btn btn-ghost', - onclick: () => isOpen(false) - }, 'Cancel'), - Button({ - class: 'btn btn-primary', - onclick: handleSubmit - }, 'Sign Up') - ] - }, [ - Div({ class: 'flex flex-col gap-4 py-2' }, [ - Input({ - label: 'Full Name', - value: name, - placeholder: 'Enter your name', - oninput: (e) => name(e.target.value) - }), - Input({ - label: 'Email', - type: 'email', - value: email, - placeholder: 'Enter your email', - oninput: (e) => email(e.target.value) - }) - ]) - ]) - ]); -}; -Mount(FormModal, '#demo-form'); -``` - -### Confirmation Modal - -
-
-

Live Demo

-
-
-
- -```javascript -const ConfirmDemo = () => { - const isOpen = $(false); - const items = $([ - { id: 1, name: 'Document A' }, - { id: 2, name: 'Document B' }, - { id: 3, name: 'Document C' } - ]); - const pendingDelete = $(null); - - const confirmDelete = (item) => { - pendingDelete(item); - isOpen(true); - }; - - const handleDelete = () => { - items(items().filter(i => i.id !== pendingDelete().id)); - isOpen(false); - Toast(`Deleted: ${pendingDelete().name}`, 'alert-info', 2000); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex flex-col gap-2' }, items().map(item => - Div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ - Span({}, item.name), - Button({ - class: 'btn btn-xs btn-error', - onclick: () => confirmDelete(item) - }, 'Delete') - ]) - )), - Modal({ - open: isOpen, - title: 'Delete Confirmation', - buttons: [ - Button({ - class: 'btn btn-ghost', - onclick: () => isOpen(false) - }, 'Cancel'), - Button({ - class: 'btn btn-error', - onclick: handleDelete - }, 'Delete') - ] - }, [ - Div({ class: 'py-4' }, () => `Are you sure you want to delete "${pendingDelete()?.name}"? This action cannot be undone.`) - ]) - ]); -}; -Mount(ConfirmDemo, '#demo-confirm'); -``` - -### Large Content Modal - -
-
-

Live Demo

-
-
-
- -```javascript -const LargeDemo = () => { - const isOpen = $(false); - - return Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Open Large Modal'), - Modal({ - open: isOpen, - title: 'Terms and Conditions', - buttons: Button({ - class: 'btn btn-primary', - onclick: () => isOpen(false) - }, 'I Agree') - }, [ - Div({ class: 'py-4 max-h-96 overflow-y-auto' }, [ - Div({ class: 'space-y-4' }, [ - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '1. Introduction'), - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.' - ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '2. User Obligations'), - 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.' - ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '3. Privacy Policy'), - 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.' - ]), - Div({ class: 'text-sm' }, [ - Div({ class: 'font-bold mb-2' }, '4. Termination'), - 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores.' - ]) - ]) - ]) - ]) - ]); -}; -Mount(LargeDemo, '#demo-large'); -``` - -### Multiple Modals - -
-
-

Live Demo

-
-
-
- -```javascript -const MultipleDemo = () => { - const modal1 = $(false); - const modal2 = $(false); - const modal3 = $(false); - - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Button({ class: 'btn', onclick: () => modal1(true) }, 'Info Modal'), - Button({ class: 'btn', onclick: () => modal2(true) }, 'Success Modal'), - Button({ class: 'btn', onclick: () => modal3(true) }, 'Warning Modal'), - - Modal({ - open: modal1, - title: 'Information', - buttons: Button({ onclick: () => modal1(false) }, 'OK') - }, 'This is an informational message.'), - - Modal({ - open: modal2, - title: 'Success!', - buttons: Button({ onclick: () => modal2(false) }, 'Great!') - }, 'Your operation was completed successfully.'), - - Modal({ - open: modal3, - title: 'Warning', - buttons: Button({ onclick: () => modal3(false) }, 'Understood') - }, 'Please review your input before proceeding.') - ]); -}; -Mount(MultipleDemo, '#demo-multiple'); -``` - -### Custom Styled Modal - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDemo = () => { - const isOpen = $(false); - - return Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => isOpen(true) - }, 'Open Custom Modal'), - Modal({ - open: isOpen, - class: 'bg-gradient-to-r from-primary to-secondary text-primary-content' - }, [ - Div({ class: 'text-center py-8' }, [ - Div({ class: 'text-6xl mb-4' }, '🎉'), - Div({ class: 'text-2xl font-bold mb-2' }, 'Congratulations!'), - Div({ class: 'mb-6' }, 'You\'ve successfully completed the tutorial.'), - Button({ - class: 'btn btn-ghost bg-white/20 hover:bg-white/30', - onclick: () => isOpen(false) - }, 'Get Started') - ]) - ]) - ]); -}; -Mount(CustomDemo, '#demo-custom'); -``` - - diff --git a/docs/components_old/navbar.md b/docs/components_old/navbar.md deleted file mode 100644 index 7195003..0000000 --- a/docs/components_old/navbar.md +++ /dev/null @@ -1,551 +0,0 @@ -# Navbar - -Navigation bar component for creating responsive headers with logo, navigation links, and actions. - -## Tag - -`Navbar` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `VNode \| Array` | `-` | Navbar content (should contain left, center, right sections) | - -## Live Examples - -### Basic Navbar - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'Logo') - ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Span({ class: 'text-sm' }, 'Navigation Items') - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-sm' }, 'Login') - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Navigation Links - -
-
-

Live Demo

- -
-
- -```javascript -const LinksDemo = () => { - const active = $('home'); - - return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') - ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Button({ - class: `btn btn-ghost btn-sm ${active() === 'home' ? 'btn-active' : ''}`, - onclick: () => active('home') - }, 'Home'), - Button({ - class: `btn btn-ghost btn-sm ${active() === 'about' ? 'btn-active' : ''}`, - onclick: () => active('about') - }, 'About'), - Button({ - class: `btn btn-ghost btn-sm ${active() === 'contact' ? 'btn-active' : ''}`, - onclick: () => active('contact') - }, 'Contact') - ]) - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-primary btn-sm' }, 'Sign Up') - ]) - ]); -}; -Mount(LinksDemo, '#demo-links'); -``` - -### With Dropdown Menu - -
-
-

Live Demo

-
-
-
- -```javascript -const DropdownDemo = () => { - return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Div({ class: 'dropdown' }, [ - Div({ tabindex: 0, role: 'button', class: 'btn btn-ghost lg:hidden' }, [ - Span({ class: 'sr-only' }, 'Open menu'), - Icons.iconInfo - ]), - Div({ tabindex: 0, class: 'dropdown-content menu bg-base-100 rounded-box z-[1] w-52 p-2 shadow' }, [ - Div({ class: 'menu-item' }, 'Home'), - Div({ class: 'menu-item' }, 'About'), - Div({ class: 'menu-item' }, 'Contact') - ]) - ]), - Span({ class: 'text-xl font-bold' }, 'MyApp') - ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Div({ class: 'menu-item' }, 'Home'), - Div({ class: 'menu-item' }, 'About'), - Div({ class: 'menu-item' }, 'Contact') - ]) - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-primary btn-sm' }, 'Login') - ]) - ]); -}; -Mount(DropdownDemo, '#demo-dropdown'); -``` - -### With Search - -
-
-

Live Demo

- -
-
- -```javascript -const SearchDemo = () => { - const searchQuery = $(''); - - return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') - ]), - Div({ class: 'navbar-center' }, [ - Div({ class: 'form-control' }, [ - Input({ - placeholder: 'Search...', - value: searchQuery, - class: 'input input-bordered w-48 md:w-auto', - oninput: (e) => searchQuery(e.target.value) - }) - ]) - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '🔔'), - Button({ class: 'btn btn-ghost btn-circle' }, '👤') - ]) - ]); -}; -Mount(SearchDemo, '#demo-search'); -``` - -### With Avatar and Dropdown - -
-
-

Live Demo

-
-
-
- -```javascript -const AvatarDemo = () => { - return Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') - ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Div({ class: 'menu-item' }, 'Dashboard'), - Div({ class: 'menu-item' }, 'Projects'), - Div({ class: 'menu-item' }, 'Tasks') - ]) - ]), - Div({ class: 'navbar-end' }, [ - Div({ class: 'dropdown dropdown-end' }, [ - Div({ tabindex: 0, role: 'button', class: 'btn btn-ghost btn-circle avatar' }, [ - Div({ class: 'w-8 rounded-full bg-primary text-primary-content flex items-center justify-center' }, 'JD') - ]), - Div({ tabindex: 0, class: 'dropdown-content menu bg-base-100 rounded-box z-[1] w-52 p-2 shadow' }, [ - Div({ class: 'menu-item' }, 'Profile'), - Div({ class: 'menu-item' }, 'Settings'), - Div({ class: 'menu-item' }, 'Logout') - ]) - ]) - ]) - ]); -}; -Mount(AvatarDemo, '#demo-avatar'); -``` - -### Responsive Navbar - -
-
-

Live Demo

-
-
-
- -```javascript -const ResponsiveDemo = () => { - const isOpen = $(false); - - return Div({ class: 'flex flex-col' }, [ - Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [ - Button({ - class: 'btn btn-ghost btn-circle lg:hidden', - onclick: () => isOpen(!isOpen()) - }, '☰') - ]), - Div({ class: 'navbar-center' }, [ - Span({ class: 'text-xl font-bold' }, 'MyApp') - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '🔔') - ]) - ]), - () => isOpen() ? Div({ class: 'flex flex-col gap-2 p-4 bg-base-200 rounded-box mt-2' }, [ - Button({ class: 'btn btn-ghost justify-start' }, 'Home'), - Button({ class: 'btn btn-ghost justify-start' }, 'About'), - Button({ class: 'btn btn-ghost justify-start' }, 'Services'), - Button({ class: 'btn btn-ghost justify-start' }, 'Contact') - ]) : null - ]); -}; -Mount(ResponsiveDemo, '#demo-responsive'); -``` - -### With Brand and Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const BrandDemo = () => { - return Navbar({ class: 'rounded-box bg-primary text-primary-content' }, [ - Div({ class: 'navbar-start' }, [ - Span({ class: 'text-xl font-bold' }, 'Brand') - ]), - Div({ class: 'navbar-center hidden lg:flex' }, [ - Div({ class: 'menu menu-horizontal px-1' }, [ - Span({ class: 'text-sm' }, 'Features'), - Span({ class: 'text-sm' }, 'Pricing'), - Span({ class: 'text-sm' }, 'About') - ]) - ]), - Div({ class: 'navbar-end' }, [ - Button({ class: 'btn btn-ghost btn-sm' }, 'Login'), - Button({ class: 'btn btn-outline btn-sm ml-2' }, 'Sign Up') - ]) - ]); -}; -Mount(BrandDemo, '#demo-brand'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Navbar'), - Navbar({ class: 'rounded-box' }, [ - Div({ class: 'navbar-start' }, [Span({}, 'Start')]), - Div({ class: 'navbar-center' }, [Span({}, 'Center')]), - Div({ class: 'navbar-end' }, [Span({}, 'End')]) - ]), - - Div({ class: 'text-sm font-bold mt-2' }, 'With Shadow'), - Navbar({ class: 'rounded-box shadow-lg' }, [ - Div({ class: 'navbar-start' }, [Span({}, 'Logo')]), - Div({ class: 'navbar-end' }, [Button({ class: 'btn btn-sm' }, 'Button')]) - ]), - - Div({ class: 'text-sm font-bold mt-2' }, 'With Background'), - Navbar({ class: 'rounded-box bg-base-300' }, [ - Div({ class: 'navbar-start' }, [Span({ class: 'font-bold' }, 'Colored')]), - Div({ class: 'navbar-end' }, [Span({ class: 'text-sm' }, 'Info')]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/radio.md b/docs/components_old/radio.md deleted file mode 100644 index 25f5ca6..0000000 --- a/docs/components_old/radio.md +++ /dev/null @@ -1,740 +0,0 @@ -# Radio - -Radio button component with label, tooltip support, and reactive group selection. All radios in the same group share a common `name` attribute for proper HTML semantics. - -## Tag - -`Radio` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `label` | `string` | `-` | Label text for the radio button | -| `value` | `string \| Signal` | `-` | Selected value signal for the group | -| `radioValue` | `string` | `-` | Value of this radio button | -| `name` | `string` | `-` | Group name (all radios in group should share this) | -| `tooltip` | `string` | `-` | Tooltip text on hover | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `onclick` | `function` | `-` | Click event handler | - -## Live Examples - -### Basic Radio Group - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const selected = $('option1'); - - return Div({ class: 'flex flex-col gap-3' }, [ - Radio({ - label: 'Option 1', - name: 'basic-group', - value: selected, - radioValue: 'option1', - onclick: () => selected('option1') - }), - Radio({ - label: 'Option 2', - name: 'basic-group', - value: selected, - radioValue: 'option2', - onclick: () => selected('option2') - }), - Radio({ - label: 'Option 3', - name: 'basic-group', - value: selected, - radioValue: 'option3', - onclick: () => selected('option3') - }), - Div({ class: 'mt-2 text-sm opacity-70' }, () => `Selected: ${selected()}`) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipDemo = () => { - const selected = $('light'); - - return Div({ class: 'flex flex-col gap-3' }, [ - Radio({ - label: 'Light mode', - name: 'theme-group', - value: selected, - radioValue: 'light', - tooltip: 'Light theme with white background', - onclick: () => selected('light') - }), - Radio({ - label: 'Dark mode', - name: 'theme-group', - value: selected, - radioValue: 'dark', - tooltip: 'Dark theme with black background', - onclick: () => selected('dark') - }) - ]); -}; -Mount(TooltipDemo, '#demo-tooltip'); -``` - -### Disabled State - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - const selected = $('enabled'); - - return Div({ class: 'flex flex-col gap-3' }, [ - Radio({ - label: 'Enabled option', - name: 'disabled-group', - value: selected, - radioValue: 'enabled', - onclick: () => selected('enabled') - }), - Radio({ - label: 'Disabled option (cannot select)', - name: 'disabled-group', - value: selected, - radioValue: 'disabled', - disabled: true, - onclick: () => selected('disabled') - }) - ]); -}; -Mount(DisabledDemo, '#demo-disabled'); -``` - -### Reactive Preview - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const size = $('medium'); - const color = $('blue'); - - const sizes = [ - { value: 'small', label: 'Small' }, - { value: 'medium', label: 'Medium' }, - { value: 'large', label: 'Large' } - ]; - - const colors = [ - { value: 'blue', label: 'Blue' }, - { value: 'green', label: 'Green' }, - { value: 'red', label: 'Red' } - ]; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Select size'), - Div({ class: 'flex gap-4' }, sizes.map(s => - Radio({ - label: s.label, - name: 'size-group', - value: size, - radioValue: s.value, - onclick: () => size(s.value) - }) - )), - Div({ class: 'text-sm font-bold mt-2' }, 'Select color'), - Div({ class: 'flex gap-4' }, colors.map(c => - Radio({ - label: c.label, - name: 'color-group', - value: color, - radioValue: c.value, - onclick: () => color(c.value) - }) - )), - Div({ - class: 'mt-4 p-4 rounded-lg text-center transition-all', - style: () => { - const sizeMap = { small: 'text-sm', medium: 'text-base', large: 'text-lg' }; - const colorMap = { blue: '#3b82f6', green: '#10b981', red: '#ef4444' }; - return `background-color: ${colorMap[color()]}; color: white; ${sizeMap[size()]}`; - } - }, () => `${size()} ${color()} preview`) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Payment Method Selection - -
-
-

Live Demo

-
-
-
- -```javascript -const PaymentDemo = () => { - const method = $('credit'); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-sm font-bold' }, 'Payment method'), - Div({ class: 'flex flex-col gap-3' }, [ - Radio({ - label: '💳 Credit Card', - name: 'payment-group', - value: method, - radioValue: 'credit', - onclick: () => method('credit') - }), - Radio({ - label: '🏦 Bank Transfer', - name: 'payment-group', - value: method, - radioValue: 'bank', - onclick: () => method('bank') - }), - Radio({ - label: '📱 Digital Wallet', - name: 'payment-group', - value: method, - radioValue: 'wallet', - onclick: () => method('wallet') - }) - ]), - Div({ class: 'alert alert-info mt-2' }, () => { - const messages = { - credit: 'You selected Credit Card. Enter your card details.', - bank: 'You selected Bank Transfer. Use the provided account number.', - wallet: 'You selected Digital Wallet. Scan the QR code to pay.' - }; - return messages[method()]; - }) - ]); -}; -Mount(PaymentDemo, '#demo-payment'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const primary = $('primary1'); - const secondary = $('secondary1'); - const accent = $('accent1'); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Primary variant'), - Div({ class: 'flex gap-4' }, [ - Radio({ - label: 'Option A', - name: 'primary-group', - value: primary, - radioValue: 'primary1', - class: 'radio-primary', - onclick: () => primary('primary1') - }), - Radio({ - label: 'Option B', - name: 'primary-group', - value: primary, - radioValue: 'primary2', - class: 'radio-primary', - onclick: () => primary('primary2') - }) - ]) - ]), - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Secondary variant'), - Div({ class: 'flex gap-4' }, [ - Radio({ - label: 'Option A', - name: 'secondary-group', - value: secondary, - radioValue: 'secondary1', - class: 'radio-secondary', - onclick: () => secondary('secondary1') - }), - Radio({ - label: 'Option B', - name: 'secondary-group', - value: secondary, - radioValue: 'secondary2', - class: 'radio-secondary', - onclick: () => secondary('secondary2') - }) - ]) - ]), - Div({ class: 'card bg-base-200 p-4' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Accent variant'), - Div({ class: 'flex gap-4' }, [ - Radio({ - label: 'Option A', - name: 'accent-group', - value: accent, - radioValue: 'accent1', - class: 'radio-accent', - onclick: () => accent('accent1') - }), - Radio({ - label: 'Option B', - name: 'accent-group', - value: accent, - radioValue: 'accent2', - class: 'radio-accent', - onclick: () => accent('accent2') - }) - ]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Dynamic Options - -
-
-

Live Demo

-
-
-
- -```javascript -const DynamicDemo = () => { - const category = $('cars'); - const selected = $(''); - - const options = { - cars: [ - { value: 'sedan', label: 'Sedan' }, - { value: 'suv', label: 'SUV' }, - { value: 'sports', label: 'Sports' } - ], - colors: [ - { value: 'red', label: 'Red' }, - { value: 'blue', label: 'Blue' }, - { value: 'black', label: 'Black' } - ] - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-4' }, [ - Radio({ - label: 'Cars', - name: 'category-group', - value: category, - radioValue: 'cars', - onclick: () => { - category('cars'); - selected(''); - } - }), - Radio({ - label: 'Colors', - name: 'category-group', - value: category, - radioValue: 'colors', - onclick: () => { - category('colors'); - selected(''); - } - }) - ]), - Div({ class: 'divider my-1' }), - Div({ class: 'text-sm font-bold' }, () => `Select ${category()}`), - Div({ class: 'flex flex-col gap-2' }, () => - options[category()].map(opt => - Radio({ - label: opt.label, - name: 'dynamic-option-group', - value: selected, - radioValue: opt.value, - onclick: () => selected(opt.value) - }) - ) - ), - () => selected() - ? Div({ class: 'alert alert-success mt-2' }, () => `Selected ${category()}: ${selected()}`) - : null - ]); -}; -Mount(DynamicDemo, '#demo-dynamic'); -``` - - diff --git a/docs/components_old/rating.md b/docs/components_old/rating.md deleted file mode 100644 index 0ff79cf..0000000 --- a/docs/components_old/rating.md +++ /dev/null @@ -1,536 +0,0 @@ -# Rating - -Star rating component with customizable count, icons, and read-only mode. - -## Tag - -`Rating` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :--------------- | :----------------------------------------------- | -| `value` | `number \| Signal` | `0` | Current rating value | -| `count` | `number \| Signal` | `5` | Number of stars/items | -| `mask` | `string` | `'mask-star'` | Mask shape (mask-star, mask-star-2, mask-heart) | -| `readonly` | `boolean \| Signal` | `false` | Disable interaction | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Rating - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const rating = $(3); - - return Div({ class: 'flex flex-col gap-2 items-center' }, [ - Rating({ - value: rating, - count: 5, - onchange: (value) => rating(value) - }), - Div({ class: 'text-sm opacity-70' }, () => `Rating: ${rating()} / 5`) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Heart Rating - -
-
-

Live Demo

-
-
-
- -```javascript -const HeartDemo = () => { - const rating = $(4); - - return Div({ class: 'flex flex-col gap-2 items-center' }, [ - Rating({ - value: rating, - count: 5, - mask: 'mask-heart', - onchange: (value) => rating(value) - }), - Div({ class: 'text-sm opacity-70' }, () => `${rating()} hearts`) - ]); -}; -Mount(HeartDemo, '#demo-heart'); -``` - -### Star with Outline - -
-
-

Live Demo

-
-
-
- -```javascript -const Star2Demo = () => { - const rating = $(2); - - return Div({ class: 'flex flex-col gap-2 items-center' }, [ - Rating({ - value: rating, - count: 5, - mask: 'mask-star-2', - onchange: (value) => rating(value) - }), - Div({ class: 'text-sm opacity-70' }, () => `${rating()} stars`) - ]); -}; -Mount(Star2Demo, '#demo-star2'); -``` - -### Read-only Rating - -
-
-

Live Demo

-
-
-
- -```javascript -const ReadonlyDemo = () => { - const rating = $(4.5); - - return Div({ class: 'flex flex-col gap-2 items-center' }, [ - Rating({ - value: rating, - count: 5, - readonly: true - }), - Div({ class: 'text-sm opacity-70' }, 'Average rating: 4.5/5 (read-only)') - ]); -}; -Mount(ReadonlyDemo, '#demo-readonly'); -``` - -### Custom Count - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDemo = () => { - const rating = $(3); - const count = $(10); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex items-center gap-4' }, [ - Span({ class: 'text-sm' }, 'Number of stars:'), - Input({ - type: 'number', - value: count, - class: 'input input-sm w-24', - oninput: (e) => count(parseInt(e.target.value) || 1) - }) - ]), - Rating({ - value: rating, - count: count, - onchange: (value) => rating(value) - }), - Div({ class: 'text-sm opacity-70' }, () => `Rating: ${rating()} / ${count()}`) - ]); -}; -Mount(CustomDemo, '#demo-custom'); -``` - -### Product Review - -
-
-

Live Demo

-
-
-
- -```javascript -const ReviewDemo = () => { - const quality = $(4); - const price = $(3); - const support = $(5); - - const average = () => Math.round(((quality() + price() + support()) / 3) * 10) / 10; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'text-lg font-bold' }, 'Product Review'), - Div({ class: 'flex flex-col gap-2' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Quality:'), - Rating({ - value: quality, - count: 5, - size: 'sm', - onchange: (v) => quality(v) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Price:'), - Rating({ - value: price, - count: 5, - size: 'sm', - onchange: (v) => price(v) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm w-24' }, 'Support:'), - Rating({ - value: support, - count: 5, - size: 'sm', - onchange: (v) => support(v) - }) - ]) - ]), - Div({ class: 'divider my-1' }), - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'font-bold' }, 'Overall:'), - Div({ class: 'text-2xl font-bold text-primary' }, () => average()) - ]) - ]); -}; -Mount(ReviewDemo, '#demo-review'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Star'), - Rating({ value: $(3), count: 5, mask: 'mask-star' }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Star 2 (yellow)' ), - Rating({ value: $(4), count: 5, mask: 'mask-star-2', class: 'rating-warning' }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Mask Heart'), - Rating({ value: $(5), count: 5, mask: 'mask-heart', class: 'rating-error' }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Half Stars (read-only)'), - Rating({ value: $(3.5), count: 5, readonly: true }) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Interactive Feedback - -
-
-

Live Demo

-
-
-
- -```javascript -const FeedbackDemo = () => { - const rating = $(0); - const feedback = $(false); - - const messages = { - 1: 'Very disappointed 😞', - 2: 'Could be better 😕', - 3: 'Good 👍', - 4: 'Very good 😊', - 5: 'Excellent! 🎉' - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'How was your experience?'), - Rating({ - value: rating, - count: 5, - onchange: (value) => { - rating(value); - feedback(true); - if (value >= 4) { - Toast('Thank you for your positive feedback!', 'alert-success', 2000); - } else if (value <= 2) { - Toast('We appreciate your feedback and will improve!', 'alert-warning', 2000); - } else { - Toast('Thanks for your rating!', 'alert-info', 2000); - } - } - }) - ]), - () => rating() > 0 - ? Div({ class: 'alert alert-soft text-center' }, [ - messages[rating()] || `Rating: ${rating()} stars` - ]) - : null - ]); -}; -Mount(FeedbackDemo, '#demo-feedback'); -``` - - diff --git a/docs/components_old/select.md b/docs/components_old/select.md deleted file mode 100644 index ac6d6ae..0000000 --- a/docs/components_old/select.md +++ /dev/null @@ -1,366 +0,0 @@ -# Select - -Dropdown select component with full DaisyUI styling, reactive options, and form integration. - -## Tag - -`Select` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :------------------ | :----------------------------------------------- | -| `label` | `string` | `-` | Label text above select | -| `options` | `Array<{value: string, label: string}>` | `[]` | Array of options with value and label | -| `value` | `string \| Signal` | `''` | Selected value | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `disabled` | `boolean \| Signal` | `false` | Disabled state | -| `onchange` | `function` | `-` | Change event handler | - -## Live Examples - -### Basic Select - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const selected = $('apple'); - - return Select({ - label: 'Choose a fruit', - options: [ - { value: 'apple', label: '🍎 Apple' }, - { value: 'banana', label: '🍌 Banana' }, - { value: 'orange', label: '🍊 Orange' }, - { value: 'grape', label: '🍇 Grape' } - ], - value: selected, - onchange: (e) => selected(e.target.value) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Reactive Display - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const selected = $('small'); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Select({ - label: 'Select size', - options: [ - { value: 'small', label: 'Small' }, - { value: 'medium', label: 'Medium' }, - { value: 'large', label: 'Large' } - ], - value: selected, - onchange: (e) => selected(e.target.value) - }), - Div({ class: 'alert alert-info' }, [ - `You selected: ${selected()}` - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Disabled State - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - return Select({ - label: 'Country (disabled)', - options: [ - { value: 'mx', label: 'Mexico' }, - { value: 'us', label: 'United States' }, - { value: 'ca', label: 'Canada' } - ], - value: 'mx', - disabled: true - }); -}; -Mount(DisabledDemo, '#demo-disabled'); -``` - -### Dynamic Options - -
-
-

Live Demo

-
-
-
- -```javascript -const DynamicDemo = () => { - const category = $('fruits'); - - const options = { - fruits: [ - { value: 'apple', label: '🍎 Apple' }, - { value: 'banana', label: '🍌 Banana' } - ], - vegetables: [ - { value: 'carrot', label: '🥕 Carrot' }, - { value: 'broccoli', label: '🥦 Broccoli' } - ] - }; - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Select({ - label: 'Category', - options: [ - { value: 'fruits', label: 'Fruits' }, - { value: 'vegetables', label: 'Vegetables' } - ], - value: category, - onchange: (e) => category(e.target.value) - }), - Select({ - label: 'Item', - options: () => options[category()] || [], - value: $(''), - onchange: (e) => console.log('Selected:', e.target.value) - }) - ]); -}; -Mount(DynamicDemo, '#demo-dynamic'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const primary = $('option1'); - const secondary = $('option2'); - const accent = $(''); - - return Div({ class: 'flex flex-col gap-4' }, [ - Select({ - label: 'Primary Select', - class: 'select-primary', - options: [ - { value: 'option1', label: 'Option 1' }, - { value: 'option2', label: 'Option 2' }, - { value: 'option3', label: 'Option 3' } - ], - value: primary, - onchange: (e) => primary(e.target.value) - }), - Select({ - label: 'Secondary Select', - class: 'select-secondary', - options: [ - { value: 'option1', label: 'Option 1' }, - { value: 'option2', label: 'Option 2' } - ], - value: secondary, - onchange: (e) => secondary(e.target.value) - }), - Select({ - label: 'Ghost Select', - class: 'select-ghost', - options: [ - { value: '', label: 'Select an option' }, - { value: 'opt1', label: 'Option 1' }, - { value: 'opt2', label: 'Option 2' } - ], - value: accent, - onchange: (e) => accent(e.target.value) - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/stack.md b/docs/components_old/stack.md deleted file mode 100644 index 594a4c3..0000000 --- a/docs/components_old/stack.md +++ /dev/null @@ -1,519 +0,0 @@ -# Stack - -Stack component for layering multiple elements on top of each other, creating depth and visual hierarchy. - -## Tag - -`Stack` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `Array \| VNode` | `-` | Elements to stack (first is bottom, last is top) | - -## Live Examples - -### Basic Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Stack({ class: 'w-40' }, [ - Div({ class: 'bg-primary text-primary-content rounded-lg p-4 shadow-lg' }, 'Layer 1'), - Div({ class: 'bg-secondary text-secondary-content rounded-lg p-4 shadow-lg' }, 'Layer 2'), - Div({ class: 'bg-accent text-accent-content rounded-lg p-4 shadow-lg' }, 'Layer 3') - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Card Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const CardsDemo = () => { - return Stack({ class: 'w-64' }, [ - Div({ class: 'card bg-base-100 shadow-xl border border-base-300' }, [ - Div({ class: 'card-body p-4' }, [ - Span({ class: 'text-sm opacity-70' }, 'Back Card'), - Span({ class: 'font-bold' }, 'Additional info') - ]) - ]), - Div({ class: 'card bg-primary text-primary-content shadow-xl' }, [ - Div({ class: 'card-body p-4' }, [ - Span({ class: 'text-sm' }, 'Front Card'), - Span({ class: 'font-bold text-lg' }, 'Main Content') - ]) - ]) - ]); -}; -Mount(CardsDemo, '#demo-cards'); -``` - -### Avatar Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const AvatarsDemo = () => { - return Stack({ class: 'w-32' }, [ - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-neutral text-neutral-content rounded-full w-16' }, [ - Span({}, 'JD') - ]) - ]), - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-primary text-primary-content rounded-full w-16' }, [ - Span({}, 'JS') - ]) - ]), - Div({ class: 'avatar placeholder' }, [ - Div({ class: 'bg-secondary text-secondary-content rounded-full w-16' }, [ - Span({}, 'BC') - ]) - ]) - ]); -}; -Mount(AvatarsDemo, '#demo-avatars'); -``` - -### Image Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const ImagesDemo = () => { - return Stack({ class: 'w-48' }, [ - Div({ class: 'w-full h-32 bg-gradient-to-r from-primary to-secondary rounded-lg shadow-lg' }, [ - Div({ class: 'p-2 text-white text-sm' }, 'Background Image') - ]), - Div({ class: 'w-full h-32 bg-gradient-to-r from-secondary to-accent rounded-lg shadow-lg translate-x-2 translate-y-2' }, [ - Div({ class: 'p-2 text-white text-sm' }, 'Middle Layer') - ]), - Div({ class: 'w-full h-32 bg-gradient-to-r from-accent to-primary rounded-lg shadow-lg translate-x-4 translate-y-4 flex items-center justify-center' }, [ - Span({ class: 'text-white font-bold' }, 'Top Layer') - ]) - ]); -}; -Mount(ImagesDemo, '#demo-images'); -``` - -### Photo Gallery Stack - -
-
-

Live Demo

- -
-
- -```javascript -const GalleryDemo = () => { - const photos = [ - { color: 'bg-primary', label: 'Photo 1' }, - { color: 'bg-secondary', label: 'Photo 2' }, - { color: 'bg-accent', label: 'Photo 3' }, - { color: 'bg-info', label: 'Photo 4' } - ]; - - return Stack({ class: 'w-48 cursor-pointer hover:scale-105 transition-transform' }, [ - ...photos.map((photo, idx) => - Div({ - class: `${photo.color} rounded-lg shadow-lg transition-all`, - style: `transform: translate(${idx * 4}px, ${idx * 4}px); width: 100%; height: 100%;` - }, [ - Div({ class: 'p-4 text-white font-bold' }, photo.label) - ]) - ) - ]); -}; -Mount(GalleryDemo, '#demo-gallery'); -``` - -### Interactive Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const InteractiveDemo = () => { - const active = $(0); - const colors = ['primary', 'secondary', 'accent', 'info', 'success']; - const labels = ['Home', 'Profile', 'Settings', 'Messages', 'Notifications']; - - return Div({ class: 'flex flex-col gap-6 items-center' }, [ - Stack({ class: 'w-56' }, colors.map((color, idx) => - Div({ - class: `bg-${color} text-${color}-content rounded-lg p-4 shadow-lg transition-all cursor-pointer ${idx === active() ? 'scale-105 z-10' : ''}`, - style: `transform: translate(${idx * 8}px, ${idx * 8}px);`, - onclick: () => active(idx) - }, [ - Div({ class: 'font-bold' }, labels[idx]), - Div({ class: 'text-sm opacity-80' }, `Layer ${idx + 1}`) - ]) - )), - Div({ class: 'mt-4 text-center' }, [ - Span({ class: 'font-bold' }, () => `Active: ${labels[active()]}`), - Div({ class: 'flex gap-2 mt-2' }, colors.map((_, idx) => - Button({ - class: `btn btn-xs ${idx === active() ? 'btn-primary' : 'btn-ghost'}`, - onclick: () => active(idx) - }, `${idx + 1}`) - )) - ]) - ]); -}; -Mount(InteractiveDemo, '#demo-interactive'); -``` - -### Notification Stack - -
-
-

Live Demo

-
-
-
- -```javascript -const NotificationsDemo = () => { - const notifications = $([ - { id: 1, message: 'New message from John', type: 'info' }, - { id: 2, message: 'Your order has shipped', type: 'success' }, - { id: 3, message: 'Meeting in 10 minutes', type: 'warning' } - ]); - - const removeNotification = (id) => { - notifications(notifications().filter(n => n.id !== id)); - }; - - const typeClasses = { - info: 'bg-info text-info-content', - success: 'bg-success text-success-content', - warning: 'bg-warning text-warning-content', - error: 'bg-error text-error-content' - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Stack({ class: 'w-80' }, notifications().map((notif, idx) => - Div({ - class: `${typeClasses[notif.type]} rounded-lg p-3 shadow-lg transition-all cursor-pointer`, - style: `transform: translate(${idx * 4}px, ${idx * 4}px);`, - onclick: () => removeNotification(notif.id) - }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'text-sm' }, notif.message), - Span({ class: 'text-xs opacity-70 cursor-pointer hover:opacity-100' }, '✕') - ]) - ]) - )), - notifications().length === 0 - ? Div({ class: 'alert alert-soft' }, 'No notifications') - : Button({ - class: 'btn btn-sm btn-ghost mt-2', - onclick: () => notifications([]) - }, 'Clear All') - ]); -}; -Mount(NotificationsDemo, '#demo-notifications'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Small Stack'), - Stack({ class: 'w-24' }, [ - Div({ class: 'bg-primary rounded p-2 text-xs' }, '1'), - Div({ class: 'bg-secondary rounded p-2 text-xs' }, '2'), - Div({ class: 'bg-accent rounded p-2 text-xs' }, '3') - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Medium Stack'), - Stack({ class: 'w-32' }, [ - Div({ class: 'bg-primary rounded p-3' }, 'A'), - Div({ class: 'bg-secondary rounded p-3' }, 'B'), - Div({ class: 'bg-accent rounded p-3' }, 'C') - ]) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-sm mb-2' }, 'Large Stack'), - Stack({ class: 'w-40' }, [ - Div({ class: 'bg-primary rounded p-4' }, 'X'), - Div({ class: 'bg-secondary rounded p-4' }, 'Y'), - Div({ class: 'bg-accent rounded p-4' }, 'Z') - ]) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/stat.md b/docs/components_old/stat.md deleted file mode 100644 index 9fbd11b..0000000 --- a/docs/components_old/stat.md +++ /dev/null @@ -1,644 +0,0 @@ -# Stat - -Statistic card component for displaying metrics, counts, and key performance indicators with optional icons and descriptions. - -## Tag - -`Stat` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `label` | `string \| VNode \| Signal` | `-` | Statistic label/title | -| `value` | `string \| number \| Signal` | `-` | Main statistic value | -| `desc` | `string \| VNode \| Signal` | `-` | Description or trend text | -| `icon` | `string \| VNode \| Signal` | `-` | Icon displayed in the figure area | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Stat - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ - Stat({ - label: 'Total Users', - value: '2,345', - desc: '↗︎ 120 new users this month' - }), - Stat({ - label: 'Revenue', - value: '$45,678', - desc: '↘︎ 5% decrease from last month' - }), - Stat({ - label: 'Conversion Rate', - value: '3.45%', - desc: '↗︎ 0.5% increase' - }) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ - Stat({ - label: 'Active Users', - value: '1,234', - desc: 'Currently online', - icon: Icons.iconShow - }), - Stat({ - label: 'New Orders', - value: '89', - desc: 'Today', - icon: Icons.iconSuccess - }), - Stat({ - label: 'Pending Tasks', - value: '23', - desc: 'Need attention', - icon: Icons.iconWarning - }) - ]); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Reactive Values - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const count = $(0); - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ - Stat({ - label: 'Counter', - value: () => count(), - desc: 'Click the button to increase', - icon: Icons.iconInfo - }), - Stat({ - label: 'Squared', - value: () => Math.pow(count(), 2), - desc: 'Square of counter', - icon: Icons.iconSuccess - }) - ]), - Div({ class: 'flex gap-2 justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: () => count(count() + 1) - }, 'Increment'), - Button({ - class: 'btn btn-ghost', - onclick: () => count(0) - }, 'Reset') - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### With Trend Indicators - -
-
-

Live Demo

- -
-
- -```javascript -const TrendsDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-3 gap-4' }, [ - Stat({ - label: 'Weekly Sales', - value: '$12,345', - desc: Div({ class: 'text-success' }, '↗︎ 15% increase'), - icon: Icons.iconSuccess - }), - Stat({ - label: 'Bounce Rate', - value: '42%', - desc: Div({ class: 'text-error' }, '↘︎ 3% from last week'), - icon: Icons.iconError - }), - Stat({ - label: 'Avg. Session', - value: '4m 32s', - desc: Div({ class: 'text-warning' }, '↗︎ 12 seconds'), - icon: Icons.iconWarning - }) - ]); -}; -Mount(TrendsDemo, '#demo-trends'); -``` - -### Multiple Stats in Row - -
-
-

Live Demo

-
-
-
- -```javascript -const MultipleDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ - Stat({ - label: 'Posts', - value: '1,234', - desc: 'Total content', - icon: Span({ class: 'text-2xl' }, '📝') - }), - Stat({ - label: 'Comments', - value: '8,901', - desc: 'Engagement', - icon: Span({ class: 'text-2xl' }, '💬') - }), - Stat({ - label: 'Likes', - value: '12,345', - desc: 'Reactions', - icon: Span({ class: 'text-2xl' }, '❤️') - }), - Stat({ - label: 'Shares', - value: '456', - desc: 'Viral reach', - icon: Span({ class: 'text-2xl' }, '🔄') - }) - ]); -}; -Mount(MultipleDemo, '#demo-multiple'); -``` - -### Dashboard Example - -
-
-

Live Demo

-
-
-
- -```javascript -const DashboardDemo = () => { - const stats = $({ - users: 1245, - revenue: 89342, - orders: 342, - satisfaction: 94 - }); - - const updateStats = () => { - stats({ - users: stats().users + Math.floor(Math.random() * 50), - revenue: stats().revenue + Math.floor(Math.random() * 1000), - orders: stats().orders + Math.floor(Math.random() * 20), - satisfaction: Math.min(100, stats().satisfaction + Math.floor(Math.random() * 5) - 2) - }); - }; - - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'grid grid-cols-1 md:grid-cols-4 gap-4' }, [ - Stat({ - label: 'Total Users', - value: () => stats().users.toLocaleString(), - desc: 'Registered users', - icon: Icons.iconShow - }), - Stat({ - label: 'Revenue', - value: () => `$${stats().revenue.toLocaleString()}`, - desc: 'This month', - icon: Icons.iconSuccess - }), - Stat({ - label: 'Orders', - value: () => stats().orders.toLocaleString(), - desc: 'Completed', - icon: Icons.iconInfo - }), - Stat({ - label: 'Satisfaction', - value: () => `${stats().satisfaction}%`, - desc: stats().satisfaction > 90 ? 'Excellent!' : 'Good', - icon: Icons.iconWarning - }) - ]), - Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: updateStats - }, 'Refresh Data') - ]) - ]); -}; -Mount(DashboardDemo, '#demo-dashboard'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'grid grid-cols-1 md:grid-cols-2 gap-4' }, [ - Stat({ - label: 'Primary Stat', - value: '1,234', - desc: 'With description', - icon: Icons.iconInfo, - class: 'bg-primary/10 text-primary' - }), - Stat({ - label: 'Success Stat', - value: '89%', - desc: 'Success rate', - icon: Icons.iconSuccess, - class: 'bg-success/10 text-success' - }), - Stat({ - label: 'Warning Stat', - value: '23', - desc: 'Pending items', - icon: Icons.iconWarning, - class: 'bg-warning/10 text-warning' - }), - Stat({ - label: 'Error Stat', - value: '5', - desc: 'Failed attempts', - icon: Icons.iconError, - class: 'bg-error/10 text-error' - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Compact Stats - -
-
-

Live Demo

-
-
-
- -```javascript -const CompactDemo = () => { - return Div({ class: 'flex flex-wrap gap-4' }, [ - Stat({ - label: 'Views', - value: '12.3K', - class: 'stat-compact' - }), - Stat({ - label: 'Likes', - value: '2,456', - class: 'stat-compact' - }), - Stat({ - label: 'Comments', - value: '345', - class: 'stat-compact' - }), - Stat({ - label: 'Shares', - value: '89', - class: 'stat-compact' - }) - ]); -}; -Mount(CompactDemo, '#demo-compact'); -``` - - diff --git a/docs/components_old/swap.md b/docs/components_old/swap.md deleted file mode 100644 index 6add245..0000000 --- a/docs/components_old/swap.md +++ /dev/null @@ -1,500 +0,0 @@ -# Swap - -Toggle component that swaps between two states (on/off) with customizable icons or content. - -## Tag - -`Swap` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `value` | `boolean \| Signal` | `false` | Swap state (true = on, false = off) | -| `on` | `string \| VNode` | `-` | Content to show when state is on | -| `off` | `string \| VNode` | `-` | Content to show when state is off | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `onclick` | `function` | `-` | Click event handler | - -## Live Examples - -### Basic Swap - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const isOn = $(false); - - return Swap({ - value: isOn, - on: "🌟 ON", - off: "💫 OFF", - onclick: () => isOn(!isOn()) - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Icon Swap - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - const isOn = $(false); - - return Swap({ - value: isOn, - on: Icons.iconShow, - off: Icons.iconHide, - onclick: () => isOn(!isOn()) - }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Emoji Swap - -
-
-

Live Demo

-
-
-
- -```javascript -const EmojiDemo = () => { - const isOn = $(false); - - return Swap({ - value: isOn, - on: "❤️", - off: "🖤", - onclick: () => isOn(!isOn()) - }); -}; -Mount(EmojiDemo, '#demo-emoji'); -``` - -### Custom Content Swap - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDemo = () => { - const isOn = $(false); - - return Swap({ - value: isOn, - on: Div({ class: "badge badge-success gap-1" }, ["✅", " Active"]), - off: Div({ class: "badge badge-ghost gap-1" }, ["⭕", " Inactive"]), - onclick: () => isOn(!isOn()) - }); -}; -Mount(CustomDemo, '#demo-custom'); -``` - -### With Reactive State - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const isOn = $(false); - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Swap({ - value: isOn, - on: Icons.iconShow, - off: Icons.iconHide, - onclick: () => isOn(!isOn()) - }), - Div({ class: 'text-center' }, () => - isOn() - ? Div({ class: 'alert alert-success' }, 'Content is visible') - : Div({ class: 'alert alert-soft' }, 'Content is hidden') - ) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Toggle Mode Swap - -
-
-

Live Demo

-
-
-
- -```javascript -const ModeDemo = () => { - const darkMode = $(false); - const notifications = $(true); - const sound = $(false); - - return Div({ class: 'flex flex-col gap-4 w-full' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Dark mode'), - Swap({ - value: darkMode, - on: "🌙", - off: "☀️", - onclick: () => darkMode(!darkMode()) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Notifications'), - Swap({ - value: notifications, - on: "🔔", - off: "🔕", - onclick: () => notifications(!notifications()) - }) - ]), - Div({ class: 'flex justify-between items-center' }, [ - Span({}, 'Sound effects'), - Swap({ - value: sound, - on: "🔊", - off: "🔇", - onclick: () => sound(!sound()) - }) - ]), - Div({ class: 'mt-2 p-3 rounded-lg', style: () => darkMode() ? 'background: #1f2937; color: white' : 'background: #f3f4f6' }, [ - Div({ class: 'text-sm' }, () => `Mode: ${darkMode() ? 'Dark' : 'Light'} | Notifications: ${notifications() ? 'On' : 'Off'} | Sound: ${sound() ? 'On' : 'Off'}`) - ]) - ]); -}; -Mount(ModeDemo, '#demo-mode'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center items-center' }, [ - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Volume'), - Swap({ - value: $(false), - on: "🔊", - off: "🔇" - }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Like'), - Swap({ - value: $(true), - on: "❤️", - off: "🤍" - }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Star'), - Swap({ - value: $(false), - on: "⭐", - off: "☆" - }) - ]), - Div({ class: 'text-center' }, [ - Div({ class: 'text-xs mb-2' }, 'Check'), - Swap({ - value: $(true), - on: Icons.iconSuccess, - off: Icons.iconError - }) - ]) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - -### Simple Todo Toggle - -
-
-

Live Demo

-
-
-
- -```javascript -const TodoDemo = () => { - const todos = [ - { id: 1, text: 'Complete documentation', completed: $(true) }, - { id: 2, text: 'Review pull requests', completed: $(false) }, - { id: 3, text: 'Deploy to production', completed: $(false) } - ]; - - return Div({ class: 'flex flex-col gap-3' }, [ - Div({ class: 'text-sm font-bold mb-2' }, 'Todo list'), - ...todos.map(todo => - Div({ class: 'flex items-center justify-between p-2 bg-base-200 rounded-lg' }, [ - Span({ class: todo.completed() ? 'line-through opacity-50' : '' }, todo.text), - Swap({ - value: todo.completed, - on: Icons.iconSuccess, - off: Icons.iconClose, - onclick: () => todo.completed(!todo.completed()) - }) - ]) - ), - Div({ class: 'mt-2 text-sm opacity-70' }, () => { - const completed = todos.filter(t => t.completed()).length; - return `${completed} of ${todos.length} tasks completed`; - }) - ]); -}; -Mount(TodoDemo, '#demo-todo'); -``` - - diff --git a/docs/components_old/table.md b/docs/components_old/table.md deleted file mode 100644 index 61a7e3e..0000000 --- a/docs/components_old/table.md +++ /dev/null @@ -1,716 +0,0 @@ -# Table - -Data table component with sorting, pagination, zebra stripes, pin rows, and custom cell rendering. - -## Tag - -`Table` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :--------------- | :----------------------------------------------- | -| `items` | `Array \| Signal` | `[]` | Data array to display | -| `columns` | `Array<{label: string, key?: string, render?: function, class?: string, footer?: string}>` | `[]` | Column definitions | -| `keyFn` | `function` | `(item, idx) => idx` | Unique key function for rows | -| `zebra` | `boolean \| Signal` | `false` | Enable zebra striping | -| `pinRows` | `boolean \| Signal` | `false` | Pin header rows on scroll | -| `empty` | `string \| VNode` | `'No data'` | Content to show when no data | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -## Live Examples - -### Basic Table - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const users = [ - { id: 1, name: 'John Doe', email: 'john@example.com', role: 'Admin' }, - { id: 2, name: 'Jane Smith', email: 'jane@example.com', role: 'User' }, - { id: 3, name: 'Bob Johnson', email: 'bob@example.com', role: 'Editor' } - ]; - - return Table({ - items: users, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' }, - { label: 'Email', key: 'email' }, - { label: 'Role', key: 'role' } - ] - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Zebra Stripes - -
-
-

Live Demo

-
-
-
- -```javascript -const ZebraDemo = () => { - const products = [ - { id: 1, name: 'Laptop', price: '$999', stock: 15 }, - { id: 2, name: 'Mouse', price: '$29', stock: 42 }, - { id: 3, name: 'Keyboard', price: '$79', stock: 28 }, - { id: 4, name: 'Monitor', price: '$299', stock: 12 } - ]; - - return Table({ - items: products, - columns: [ - { label: 'Product', key: 'name' }, - { label: 'Price', key: 'price' }, - { label: 'Stock', key: 'stock' } - ], - zebra: true - }); -}; -Mount(ZebraDemo, '#demo-zebra'); -``` - -### With Custom Cell Rendering - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDemo = () => { - const orders = [ - { id: 101, customer: 'Alice', amount: 250, status: 'completed' }, - { id: 102, customer: 'Bob', amount: 89, status: 'pending' }, - { id: 103, customer: 'Charlie', amount: 450, status: 'shipped' } - ]; - - return Table({ - items: orders, - columns: [ - { label: 'Order ID', key: 'id' }, - { label: 'Customer', key: 'customer' }, - { - label: 'Amount', - key: 'amount', - render: (item) => `$${item.amount}` - }, - { - label: 'Status', - key: 'status', - render: (item) => { - const statusClass = { - completed: 'badge badge-success', - pending: 'badge badge-warning', - shipped: 'badge badge-info' - }; - return Span({ class: statusClass[item.status] }, item.status); - } - } - ], - zebra: true - }); -}; -Mount(CustomDemo, '#demo-custom'); -``` - -### With Footers - -
-
-

Live Demo

- -
-
- -```javascript -const FooterDemo = () => { - const sales = [ - { month: 'January', revenue: 12500, expenses: 8900 }, - { month: 'February', revenue: 14200, expenses: 9200 }, - { month: 'March', revenue: 16800, expenses: 10100 } - ]; - - const totalRevenue = sales.reduce((sum, item) => sum + item.revenue, 0); - const totalExpenses = sales.reduce((sum, item) => sum + item.expenses, 0); - - return Table({ - items: sales, - columns: [ - { label: 'Month', key: 'month' }, - { - label: 'Revenue', - key: 'revenue', - render: (item) => `$${item.revenue.toLocaleString()}`, - footer: `Total: $${totalRevenue.toLocaleString()}` - }, - { - label: 'Expenses', - key: 'expenses', - render: (item) => `$${item.expenses.toLocaleString()}`, - footer: `Total: $${totalExpenses.toLocaleString()}` - }, - { - label: 'Profit', - render: (item) => `$${(item.revenue - item.expenses).toLocaleString()}`, - footer: `$${(totalRevenue - totalExpenses).toLocaleString()}` - } - ], - zebra: true - }); -}; -Mount(FooterDemo, '#demo-footer'); -``` - -### Empty State - -
-
-

Live Demo

-
-
-
- -```javascript -const EmptyDemo = () => { - const emptyList = []; - - return Table({ - items: emptyList, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' } - ], - empty: Div({ class: 'flex flex-col items-center gap-2' }, [ - Icons.iconInfo, - Span({}, 'No records found') - ]) - }); -}; -Mount(EmptyDemo, '#demo-empty'); -``` - -### Reactive Data - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const filter = $('all'); - const tasks = $([ - { id: 1, title: 'Complete documentation', completed: true }, - { id: 2, title: 'Review pull requests', completed: false }, - { id: 3, title: 'Deploy to production', completed: false }, - { id: 4, title: 'Update dependencies', completed: true } - ]); - - const filteredTasks = () => { - if (filter() === 'completed') { - return tasks().filter(t => t.completed); - } else if (filter() === 'pending') { - return tasks().filter(t => !t.completed); - } - return tasks(); - }; - - const addTask = () => { - const newId = Math.max(...tasks().map(t => t.id), 0) + 1; - tasks([...tasks(), { id: newId, title: `Task ${newId}`, completed: false }]); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex gap-2' }, [ - Button({ - class: 'btn btn-sm', - onclick: () => filter('all') - }, 'All'), - Button({ - class: 'btn btn-sm', - onclick: () => filter('completed') - }, 'Completed'), - Button({ - class: 'btn btn-sm', - onclick: () => filter('pending') - }, 'Pending'), - Button({ - class: 'btn btn-sm btn-primary', - onclick: addTask - }, 'Add Task') - ]), - Table({ - items: filteredTasks, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Title', key: 'title' }, - { - label: 'Status', - render: (item) => item.completed - ? Span({ class: 'badge badge-success' }, '✓ Done') - : Span({ class: 'badge badge-warning' }, '○ Pending') - } - ], - zebra: true - }) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### With Actions - -
-
-

Live Demo

-
-
-
- -```javascript -const ActionsDemo = () => { - const users = $([ - { id: 1, name: 'John Doe', email: 'john@example.com', active: true }, - { id: 2, name: 'Jane Smith', email: 'jane@example.com', active: false }, - { id: 3, name: 'Bob Johnson', email: 'bob@example.com', active: true } - ]); - - const deleteUser = (id) => { - users(users().filter(u => u.id !== id)); - Toast('User deleted', 'alert-info', 2000); - }; - - const toggleActive = (id) => { - users(users().map(u => - u.id === id ? { ...u, active: !u.active } : u - )); - }; - - return Table({ - items: users, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' }, - { label: 'Email', key: 'email' }, - { - label: 'Status', - render: (item) => item.active - ? Span({ class: 'badge badge-success' }, 'Active') - : Span({ class: 'badge badge-ghost' }, 'Inactive') - }, - { - label: 'Actions', - render: (item) => Div({ class: 'flex gap-1' }, [ - Button({ - class: 'btn btn-xs btn-ghost', - onclick: () => toggleActive(item.id) - }, item.active ? 'Deactivate' : 'Activate'), - Button({ - class: 'btn btn-xs btn-error', - onclick: () => deleteUser(item.id) - }, 'Delete') - ]) - } - ], - zebra: true - }); -}; -Mount(ActionsDemo, '#demo-actions'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const data = [ - { id: 1, name: 'Item 1', value: 100 }, - { id: 2, name: 'Item 2', value: 200 }, - { id: 3, name: 'Item 3', value: 300 } - ]; - - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Table'), - Table({ - items: data, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' }, - { label: 'Value', key: 'value' } - ] - }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Zebra Stripes'), - Table({ - items: data, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' }, - { label: 'Value', key: 'value' } - ], - zebra: true - }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Compact Table'), - Table({ - items: data, - columns: [ - { label: 'ID', key: 'id' }, - { label: 'Name', key: 'name' }, - { label: 'Value', key: 'value' } - ], - class: 'table-compact' - }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/tabs.md b/docs/components_old/tabs.md deleted file mode 100644 index 9f8804d..0000000 --- a/docs/components_old/tabs.md +++ /dev/null @@ -1,677 +0,0 @@ -# Tabs - -Tabs component for organizing content into separate panels with tab navigation. - -## Tag - -`Tabs` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :---------- | :----------------------------------------------- | -| `items` | `Array \| Signal` | `[]` | Array of tab items | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -### TabItem Structure - -| Property | Type | Description | -| :---------- | :--------------------------- | :----------------------------------------------- | -| `label` | `string \| VNode` | Tab button label | -| `content` | `VNode \| function` | Content to display when tab is active | -| `active` | `boolean \| Signal` | Whether this tab is active (only one per group) | -| `disabled` | `boolean` | Whether tab is disabled | -| `tip` | `string` | Tooltip text for the tab | -| `onclick` | `function` | Click handler (optional, overrides default) | - -## Live Examples - -### Basic Tabs - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const activeTab = $('tab1'); - - return Tabs({ - items: [ - { - label: 'Tab 1', - active: () => activeTab() === 'tab1', - onclick: () => activeTab('tab1'), - content: Div({ class: 'p-4' }, 'Content for Tab 1') - }, - { - label: 'Tab 2', - active: () => activeTab() === 'tab2', - onclick: () => activeTab('tab2'), - content: Div({ class: 'p-4' }, 'Content for Tab 2') - }, - { - label: 'Tab 3', - active: () => activeTab() === 'tab3', - onclick: () => activeTab('tab3'), - content: Div({ class: 'p-4' }, 'Content for Tab 3') - } - ] - }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### With Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - const activeTab = $('home'); - - return Tabs({ - items: [ - { - label: Span({ class: 'flex items-center gap-2' }, ['🏠', 'Home']), - active: () => activeTab() === 'home', - onclick: () => activeTab('home'), - content: Div({ class: 'p-4' }, 'Welcome to the Home tab!') - }, - { - label: Span({ class: 'flex items-center gap-2' }, ['⭐', 'Favorites']), - active: () => activeTab() === 'favorites', - onclick: () => activeTab('favorites'), - content: Div({ class: 'p-4' }, 'Your favorite items appear here.') - }, - { - label: Span({ class: 'flex items-center gap-2' }, ['⚙️', 'Settings']), - active: () => activeTab() === 'settings', - onclick: () => activeTab('settings'), - content: Div({ class: 'p-4' }, 'Configure your preferences.') - } - ] - }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### With Tooltips - -
-
-

Live Demo

-
-
-
- -```javascript -const TooltipsDemo = () => { - const activeTab = $('profile'); - - return Tabs({ - items: [ - { - label: 'Profile', - tip: 'View your profile information', - active: () => activeTab() === 'profile', - onclick: () => activeTab('profile'), - content: Div({ class: 'p-4' }, 'Profile information here.') - }, - { - label: 'Settings', - tip: 'Adjust your preferences', - active: () => activeTab() === 'settings', - onclick: () => activeTab('settings'), - content: Div({ class: 'p-4' }, 'Settings configuration.') - }, - { - label: 'Notifications', - tip: 'Manage notifications', - active: () => activeTab() === 'notifications', - onclick: () => activeTab('notifications'), - content: Div({ class: 'p-4' }, 'Notification settings.') - } - ] - }); -}; -Mount(TooltipsDemo, '#demo-tooltips'); -``` - -### Disabled Tab - -
-
-

Live Demo

-
-
-
- -```javascript -const DisabledDemo = () => { - const activeTab = $('basic'); - - return Tabs({ - items: [ - { - label: 'Basic', - active: () => activeTab() === 'basic', - onclick: () => activeTab('basic'), - content: Div({ class: 'p-4' }, 'Basic features available.') - }, - { - label: 'Premium', - disabled: true, - tip: 'Upgrade to access', - content: Div({ class: 'p-4' }, 'Premium content (locked)') - }, - { - label: 'Pro', - disabled: true, - tip: 'Coming soon', - content: Div({ class: 'p-4' }, 'Pro features (coming soon)') - } - ] - }); -}; -Mount(DisabledDemo, '#demo-disabled'); -``` - -### Reactive Content - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const activeTab = $('counter'); - const count = $(0); - - return Tabs({ - items: [ - { - label: 'Counter', - active: () => activeTab() === 'counter', - onclick: () => activeTab('counter'), - content: Div({ class: 'p-4 text-center' }, [ - Div({ class: 'text-4xl font-bold mb-4' }, () => count()), - Button({ - class: 'btn btn-primary', - onclick: () => count(count() + 1) - }, 'Increment') - ]) - }, - { - label: 'Timer', - active: () => activeTab() === 'timer', - onclick: () => activeTab('timer'), - content: Div({ class: 'p-4' }, () => `Current time: ${new Date().toLocaleTimeString()}`) - }, - { - label: 'Status', - active: () => activeTab() === 'status', - onclick: () => activeTab('status'), - content: Div({ class: 'p-4' }, () => `Counter value: ${count()}, Last updated: ${new Date().toLocaleTimeString()}`) - } - ] - }); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Form Tabs - -
-
-

Live Demo

-
-
-
- -```javascript -const FormTabs = () => { - const activeTab = $('personal'); - const formData = $({ - name: '', - email: '', - address: '', - city: '', - notifications: true, - newsletter: false - }); - - const updateField = (field, value) => { - formData({ ...formData(), [field]: value }); - }; - - const handleSubmit = () => { - Toast('Form submitted!', 'alert-success', 2000); - console.log(formData()); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Tabs({ - items: [ - { - label: 'Personal Info', - active: () => activeTab() === 'personal', - onclick: () => activeTab('personal'), - content: Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Name', - value: () => formData().name, - placeholder: 'Enter your name', - oninput: (e) => updateField('name', e.target.value) - }), - Input({ - label: 'Email', - type: 'email', - value: () => formData().email, - placeholder: 'email@example.com', - oninput: (e) => updateField('email', e.target.value) - }) - ]) - }, - { - label: 'Address', - active: () => activeTab() === 'address', - onclick: () => activeTab('address'), - content: Div({ class: 'p-4 space-y-4' }, [ - Input({ - label: 'Address', - value: () => formData().address, - placeholder: 'Street address', - oninput: (e) => updateField('address', e.target.value) - }), - Input({ - label: 'City', - value: () => formData().city, - placeholder: 'City', - oninput: (e) => updateField('city', e.target.value) - }) - ]) - }, - { - label: 'Preferences', - active: () => activeTab() === 'prefs', - onclick: () => activeTab('prefs'), - content: Div({ class: 'p-4 space-y-4' }, [ - Checkbox({ - label: 'Email notifications', - value: () => formData().notifications, - onclick: () => updateField('notifications', !formData().notifications) - }), - Checkbox({ - label: 'Newsletter subscription', - value: () => formData().newsletter, - onclick: () => updateField('newsletter', !formData().newsletter) - }) - ]) - } - ] - }), - Div({ class: 'flex justify-end mt-4' }, [ - Button({ - class: 'btn btn-primary', - onclick: handleSubmit - }, 'Submit') - ]) - ]); -}; -Mount(FormTabs, '#demo-form'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const items = [ - { label: 'Tab 1', content: 'Content 1' }, - { label: 'Tab 2', content: 'Content 2' }, - { label: 'Tab 3', content: 'Content 3' } - ].map((tab, idx) => ({ - ...tab, - active: () => idx === 0, - content: Div({ class: 'p-4' }, tab.content) - })); - - return Div({ class: 'flex flex-col gap-6' }, [ - Div({ class: 'text-sm font-bold' }, 'Default Tabs'), - Tabs({ items }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Boxed Tabs'), - Tabs({ items, class: 'tabs-box' }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Lifted Tabs'), - Tabs({ items, class: 'tabs-lifted' }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - diff --git a/docs/components_old/timeline.md b/docs/components_old/timeline.md deleted file mode 100644 index 035b269..0000000 --- a/docs/components_old/timeline.md +++ /dev/null @@ -1,553 +0,0 @@ -# Timeline - -Timeline component for displaying chronological events, steps, or progress with customizable icons and content. - -## Tag - -`Timeline` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :-------------------------------------- | :--------------- | :----------------------------------------------- | -| `items` | `Array \| Signal` | `[]` | Timeline items to display | -| `vertical` | `boolean \| Signal` | `true` | Vertical or horizontal orientation | -| `compact` | `boolean \| Signal` | `false` | Compact mode with less padding | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | - -### TimelineItem Structure - -| Property | Type | Description | -| :---------- | :--------------------------- | :----------------------------------------------- | -| `title` | `string \| VNode \| Signal` | Event title or main text | -| `detail` | `string \| VNode \| Signal` | Additional details or description | -| `icon` | `string \| VNode` | Custom icon (overrides type) | -| `type` | `string` | Type: 'success', 'warning', 'error', 'info' | -| `completed` | `boolean` | Whether event is completed (affects connector) | - -## Live Examples - -### Basic Timeline - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - const events = [ - { title: 'Project Started', detail: 'Initial planning and setup', type: 'info', completed: true }, - { title: 'Design Phase', detail: 'UI/UX design completed', type: 'success', completed: true }, - { title: 'Development', detail: 'Core features implemented', type: 'warning', completed: false }, - { title: 'Testing', detail: 'Quality assurance', type: 'info', completed: false }, - { title: 'Launch', detail: 'Production deployment', type: 'success', completed: false } - ]; - - return Timeline({ items: events }); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Horizontal Timeline - -
-
-

Live Demo

-
-
-
- -```javascript -const HorizontalDemo = () => { - const steps = [ - { title: 'Step 1', detail: 'Requirements', type: 'success', completed: true }, - { title: 'Step 2', detail: 'Design', type: 'success', completed: true }, - { title: 'Step 3', detail: 'Development', type: 'warning', completed: false }, - { title: 'Step 4', detail: 'Testing', type: 'info', completed: false }, - { title: 'Step 5', detail: 'Deploy', type: 'info', completed: false } - ]; - - return Timeline({ - items: steps, - vertical: false, - class: 'min-w-[600px]' - }); -}; -Mount(HorizontalDemo, '#demo-horizontal'); -``` - -### Compact Timeline - -
-
-

Live Demo

-
-
-
- -```javascript -const CompactDemo = () => { - const activities = [ - { title: 'User login', detail: '10:30 AM', type: 'success', completed: true }, - { title: 'Viewed dashboard', detail: '10:32 AM', type: 'info', completed: true }, - { title: 'Updated profile', detail: '10:45 AM', type: 'success', completed: true }, - { title: 'Made purchase', detail: '11:00 AM', type: 'warning', completed: false } - ]; - - return Timeline({ - items: activities, - compact: true - }); -}; -Mount(CompactDemo, '#demo-compact'); -``` - -### Custom Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - const milestones = [ - { title: 'Kickoff', detail: 'Project kickoff meeting', icon: Icons.iconInfo, completed: true }, - { title: 'MVP', detail: 'Minimum viable product', icon: Icons.iconSuccess, completed: true }, - { title: 'Beta', detail: 'Beta release', icon: Icons.iconWarning, completed: false }, - { title: 'Launch', detail: 'Public launch', icon: Icons.iconShow, completed: false } - ]; - - return Timeline({ items: milestones }); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Reactive Timeline - -
-
-

Live Demo

-
-
-
- -```javascript -const ReactiveDemo = () => { - const currentStep = $(2); - const steps = [ - { title: 'Order Placed', detail: 'Your order has been confirmed', type: 'success', completed: true }, - { title: 'Processing', detail: 'Payment verified, preparing shipment', type: 'success', completed: currentStep() > 1 }, - { title: 'Shipped', detail: 'Package on the way', type: 'warning', completed: currentStep() > 2 }, - { title: 'Delivered', detail: 'Arriving soon', type: 'info', completed: currentStep() > 3 } - ]; - - const items = () => steps.map((step, idx) => ({ - ...step, - completed: idx < currentStep() - })); - - const nextStep = () => { - if (currentStep() < steps.length) { - currentStep(currentStep() + 1); - Toast(`Step ${currentStep()}: ${steps[currentStep() - 1].title}`, 'alert-info', 1500); - } - }; - - const reset = () => { - currentStep(0); - Toast('Order tracking reset', 'alert-warning', 1500); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Timeline({ items: items }), - Div({ class: 'flex gap-2 justify-center mt-4' }, [ - Button({ - class: 'btn btn-primary btn-sm', - onclick: nextStep, - disabled: () => currentStep() >= steps.length - }, 'Next Step'), - Button({ - class: 'btn btn-ghost btn-sm', - onclick: reset - }, 'Reset') - ]) - ]); -}; -Mount(ReactiveDemo, '#demo-reactive'); -``` - -### Order Status Tracker - -
-
-

Live Demo

-
-
-
- -```javascript -const OrderDemo = () => { - const status = $('shipped'); - - const statusMap = { - pending: { title: 'Order Pending', detail: 'Awaiting confirmation', completed: false, type: 'warning' }, - confirmed: { title: 'Order Confirmed', detail: 'Payment received', completed: false, type: 'info' }, - processing: { title: 'Processing', detail: 'Preparing your order', completed: false, type: 'info' }, - shipped: { title: 'Shipped', detail: 'Package in transit', completed: false, type: 'info' }, - delivered: { title: 'Delivered', detail: 'Order completed', completed: false, type: 'success' } - }; - - const statusOrder = ['pending', 'confirmed', 'processing', 'shipped', 'delivered']; - const currentIndex = statusOrder.indexOf(status()); - - const items = statusOrder.map((key, idx) => ({ - ...statusMap[key], - completed: idx < currentIndex - })); - - return Div({ class: 'flex flex-col gap-4' }, [ - Timeline({ items, compact: true }), - Div({ class: 'flex gap-2 justify-center flex-wrap mt-4' }, statusOrder.map(s => - Button({ - class: `btn btn-xs ${status() === s ? 'btn-primary' : 'btn-ghost'}`, - onclick: () => status(s) - }, statusMap[s].title) - )) - ]); -}; -Mount(OrderDemo, '#demo-order'); -``` - -### Company History - -
-
-

Live Demo

-
-
-
- -```javascript -const HistoryDemo = () => { - const milestones = [ - { - title: '2015 - Founded', - detail: 'Company started with 3 employees in a small office', - type: 'success', - completed: true - }, - { - title: '2017 - First Product', - detail: 'Launched our first software product to market', - type: 'success', - completed: true - }, - { - title: '2019 - Series A', - detail: 'Raised $5M in funding, expanded team to 50', - type: 'success', - completed: true - }, - { - title: '2022 - Global Expansion', - detail: 'Opened offices in Europe and Asia', - type: 'info', - completed: true - }, - { - title: '2024 - AI Integration', - detail: 'Launched AI-powered features', - type: 'warning', - completed: false - }, - { - title: '2026 - Future Goals', - detail: 'Aiming for market leadership', - type: 'info', - completed: false - } - ]; - - return Timeline({ items: milestones }); -}; -Mount(HistoryDemo, '#demo-history'); -``` - -### All Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const VariantsDemo = () => { - const sampleItems = [ - { title: 'Event 1', detail: 'Description here', type: 'success', completed: true }, - { title: 'Event 2', detail: 'Description here', type: 'warning', completed: false }, - { title: 'Event 3', detail: 'Description here', type: 'info', completed: false } - ]; - - return Div({ class: 'flex flex-col gap-8' }, [ - Div({ class: 'text-sm font-bold' }, 'Vertical Timeline'), - Timeline({ items: sampleItems }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Horizontal Timeline'), - Timeline({ items: sampleItems, vertical: false, class: 'min-w-[500px]' }), - - Div({ class: 'text-sm font-bold mt-4' }, 'Compact Timeline'), - Timeline({ items: sampleItems, compact: true }) - ]); -}; -Mount(VariantsDemo, '#demo-variants'); -``` - - \ No newline at end of file diff --git a/docs/components_old/toast.md b/docs/components_old/toast.md deleted file mode 100644 index 562ac4a..0000000 --- a/docs/components_old/toast.md +++ /dev/null @@ -1,630 +0,0 @@ -# Toast - -Toast notification utility for displaying temporary messages that automatically dismiss after a specified duration. Can be used programmatically. - -## Function - -`Toast(message, type = 'alert-info', duration = 3500)` - -| Param | Type | Default | Description | -| :--------- | :--------------------------- | :--------------- | :----------------------------------------------- | -| `message` | `string \| VNode` | `-` | Message content to display | -| `type` | `string` | `'alert-info'` | Alert type: 'alert-info', 'alert-success', 'alert-warning', 'alert-error' | -| `duration` | `number` | `3500` | Auto-dismiss duration in milliseconds | - -## Live Examples - -### Basic Toast - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ - class: 'btn btn-info', - onclick: () => Toast('This is an info message', 'alert-info', 3000) - }, 'Info Toast'), - Button({ - class: 'btn btn-success', - onclick: () => Toast('Operation successful!', 'alert-success', 3000) - }, 'Success Toast'), - Button({ - class: 'btn btn-warning', - onclick: () => Toast('Please check your input', 'alert-warning', 3000) - }, 'Warning Toast'), - Button({ - class: 'btn btn-error', - onclick: () => Toast('An error occurred', 'alert-error', 3000) - }, 'Error Toast') - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Different Durations - -
-
-

Live Demo

-
-
-
- -```javascript -const DurationDemo = () => { - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ - class: 'btn btn-sm', - onclick: () => Toast('Short (1s)', 'alert-info', 1000) - }, '1 Second'), - Button({ - class: 'btn btn-sm', - onclick: () => Toast('Normal (3s)', 'alert-success', 3000) - }, '3 Seconds'), - Button({ - class: 'btn btn-sm', - onclick: () => Toast('Long (5s)', 'alert-warning', 5000) - }, '5 Seconds'), - Button({ - class: 'btn btn-sm', - onclick: () => Toast('Very Long (8s)', 'alert-error', 8000) - }, '8 Seconds') - ]); -}; -Mount(DurationDemo, '#demo-duration'); -``` - -### Interactive Toast - -
-
-

Live Demo

-
-
-
- -```javascript -const InteractiveDemo = () => { - const count = $(0); - - const showRandomToast = () => { - const types = ['alert-info', 'alert-success', 'alert-warning', 'alert-error']; - const messages = [ - 'You clicked the button!', - 'Action completed successfully', - 'Processing your request...', - 'Something interesting happened' - ]; - const randomType = types[Math.floor(Math.random() * types.length)]; - const randomMessage = messages[Math.floor(Math.random() * messages.length)]; - count(count() + 1); - Toast(`${randomMessage} (${count()})`, randomType, 2000); - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: showRandomToast - }, 'Show Random Toast'), - Div({ class: 'text-sm opacity-70' }, () => `Toasts shown: ${count()}`) - ]); -}; -Mount(InteractiveDemo, '#demo-interactive'); -``` - -### Form Validation Toast - -
-
-

Live Demo

-
-
-
- -```javascript -const FormToastDemo = () => { - const email = $(''); - const password = $(''); - - const handleSubmit = () => { - if (!email()) { - Toast('Please enter your email', 'alert-warning', 3000); - return; - } - if (!email().includes('@')) { - Toast('Please enter a valid email address', 'alert-error', 3000); - return; - } - if (!password()) { - Toast('Please enter your password', 'alert-warning', 3000); - return; - } - if (password().length < 6) { - Toast('Password must be at least 6 characters', 'alert-error', 3000); - return; - } - Toast('Login successful! Redirecting...', 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ - Div({ class: 'text-lg font-bold text-center' }, 'Login Form'), - Input({ - label: 'Email', - type: 'email', - value: email, - placeholder: 'user@example.com', - oninput: (e) => email(e.target.value) - }), - Input({ - label: 'Password', - type: 'password', - value: password, - placeholder: 'Enter password', - oninput: (e) => password(e.target.value) - }), - Button({ - class: 'btn btn-primary', - onclick: handleSubmit - }, 'Login') - ]); -}; -Mount(FormToastDemo, '#demo-form'); -``` - -### Success Feedback - -
-
-

Live Demo

-
-
-
- -```javascript -const FeedbackDemo = () => { - const items = $([ - { id: 1, name: 'Item 1', saved: false }, - { id: 2, name: 'Item 2', saved: false }, - { id: 3, name: 'Item 3', saved: false } - ]); - - const saveItem = (id) => { - items(items().map(item => - item.id === id ? { ...item, saved: true } : item - )); - Toast(`Item ${id} saved successfully!`, 'alert-success', 2000); - }; - - const saveAll = () => { - items(items().map(item => ({ ...item, saved: true }))); - Toast('All items saved!', 'alert-success', 2000); - }; - - return Div({ class: 'flex flex-col gap-4' }, [ - Div({ class: 'flex justify-between items-center' }, [ - Span({ class: 'font-bold' }, 'Items to Save'), - Button({ - class: 'btn btn-sm btn-primary', - onclick: saveAll - }, 'Save All') - ]), - Div({ class: 'flex flex-col gap-2' }, items().map(item => - Div({ class: 'flex justify-between items-center p-3 bg-base-200 rounded-lg' }, [ - Span({}, item.name), - item.saved - ? Span({ class: 'badge badge-success' }, '✓ Saved') - : Button({ - class: 'btn btn-xs btn-primary', - onclick: () => saveItem(item.id) - }, 'Save') - ]) - )) - ]); -}; -Mount(FeedbackDemo, '#demo-feedback'); -``` - -### Error Handling - -
-
-

Live Demo

-
-
-
- -```javascript -const ErrorDemo = () => { - const simulateApiCall = () => { - const success = Math.random() > 0.3; - - if (success) { - Toast('Data loaded successfully!', 'alert-success', 2000); - } else { - Toast('Failed to load data. Please try again.', 'alert-error', 3000); - } - }; - - const simulateNetworkError = () => { - Toast('Network error: Unable to connect to server', 'alert-error', 4000); - }; - - const simulateTimeout = () => { - Toast('Request timeout (5s). Please check your connection.', 'alert-warning', 4000); - }; - - return Div({ class: 'flex flex-wrap gap-3 justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: simulateApiCall - }, 'Simulate API Call'), - Button({ - class: 'btn btn-error', - onclick: simulateNetworkError - }, 'Network Error'), - Button({ - class: 'btn btn-warning', - onclick: simulateTimeout - }, 'Timeout') - ]); -}; -Mount(ErrorDemo, '#demo-error'); -``` - -### Custom Messages - -
-
-

Live Demo

-
-
-
- -```javascript -const CustomDemo = () => { - const showCustomToast = (type, message) => { - Toast(message, type, 3000); - }; - - return Div({ class: 'flex flex-wrap gap-2 justify-center' }, [ - Button({ - class: 'btn btn-info', - onclick: () => showCustomToast('alert-info', '📧 New email received from john@example.com') - }, 'Email'), - Button({ - class: 'btn btn-success', - onclick: () => showCustomToast('alert-success', '💰 Payment of $49.99 completed') - }, 'Payment'), - Button({ - class: 'btn btn-warning', - onclick: () => showCustomToast('alert-warning', '⚠️ Your session will expire in 5 minutes') - }, 'Session Warning'), - Button({ - class: 'btn btn-error', - onclick: () => showCustomToast('alert-error', '🔒 Failed login attempt detected') - }, 'Security Alert') - ]); -}; -Mount(CustomDemo, '#demo-custom'); -``` - -### Multiple Toasts - -
-
-

Live Demo

-
-
-
- -```javascript -const MultipleDemo = () => { - const showMultipleToasts = () => { - Toast('First message', 'alert-info', 3000); - setTimeout(() => Toast('Second message', 'alert-success', 3000), 500); - setTimeout(() => Toast('Third message', 'alert-warning', 3000), 1000); - setTimeout(() => Toast('Fourth message', 'alert-error', 3000), 1500); - }; - - return Div({ class: 'flex justify-center' }, [ - Button({ - class: 'btn btn-primary', - onclick: showMultipleToasts - }, 'Show Multiple Toasts') - ]); -}; -Mount(MultipleDemo, '#demo-multiple'); -``` - - diff --git a/docs/components_old/tooltip.md b/docs/components_old/tooltip.md deleted file mode 100644 index b34ac35..0000000 --- a/docs/components_old/tooltip.md +++ /dev/null @@ -1,554 +0,0 @@ -# Tooltip - -Tooltip component for displaying helpful hints and additional information on hover. - -## Tag - -`Tooltip` - -## Props - -| Prop | Type | Default | Description | -| :----------- | :--------------------------- | :---------- | :----------------------------------------------- | -| `tip` | `string \| VNode \| Signal` | `-` | Tooltip content to display on hover | -| `class` | `string` | `''` | Additional CSS classes (DaisyUI + Tailwind) | -| `children` | `VNode` | `-` | Element to attach the tooltip to | - -## Live Examples - -### Basic Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const BasicDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Tooltip({ tip: 'This is a tooltip' }, [ - Button({ class: 'btn btn-primary' }, 'Hover me') - ]), - Tooltip({ tip: 'Tooltips can be placed on any element' }, [ - Span({ class: 'text-sm cursor-help border-b border-dashed' }, 'Help text') - ]), - Tooltip({ tip: 'Icons can also have tooltips' }, [ - Icons.iconInfo - ]) - ]); -}; -Mount(BasicDemo, '#demo-basic'); -``` - -### Tooltip Positions - -
-
-

Live Demo

-
-
-
- -```javascript -const PositionsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Tooltip({ tip: 'Top tooltip', class: 'tooltip-top' }, [ - Button({ class: 'btn btn-sm' }, 'Top') - ]), - Tooltip({ tip: 'Bottom tooltip', class: 'tooltip-bottom' }, [ - Button({ class: 'btn btn-sm' }, 'Bottom') - ]), - Tooltip({ tip: 'Left tooltip', class: 'tooltip-left' }, [ - Button({ class: 'btn btn-sm' }, 'Left') - ]), - Tooltip({ tip: 'Right tooltip', class: 'tooltip-right' }, [ - Button({ class: 'btn btn-sm' }, 'Right') - ]) - ]); -}; -Mount(PositionsDemo, '#demo-positions'); -``` - -### Tooltip with Icons - -
-
-

Live Demo

-
-
-
- -```javascript -const IconsDemo = () => { - return Div({ class: 'flex flex-wrap gap-8 justify-center' }, [ - Tooltip({ tip: 'Save document' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '💾') - ]), - Tooltip({ tip: 'Edit item' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '✏️') - ]), - Tooltip({ tip: 'Delete permanently' }, [ - Button({ class: 'btn btn-ghost btn-circle text-error' }, '🗑️') - ]), - Tooltip({ tip: 'Settings' }, [ - Button({ class: 'btn btn-ghost btn-circle' }, '⚙️') - ]) - ]); -}; -Mount(IconsDemo, '#demo-icons'); -``` - -### Form Field Tooltips - -
-
-

Live Demo

-
-
-
- -```javascript -const FormDemo = () => { - const username = $(''); - const email = $(''); - - return Div({ class: 'flex flex-col gap-4 max-w-md mx-auto' }, [ - Div({ class: 'flex items-center gap-2' }, [ - Input({ - label: 'Username', - value: username, - placeholder: 'Choose a username', - oninput: (e) => username(e.target.value) - }), - Tooltip({ tip: 'Must be at least 3 characters, letters and numbers only' }, [ - Span({ class: 'cursor-help text-info' }, '?') - ]) - ]), - Div({ class: 'flex items-center gap-2' }, [ - Input({ - label: 'Email', - type: 'email', - value: email, - placeholder: 'Enter your email', - oninput: (e) => email(e.target.value) - }), - Tooltip({ tip: 'We\'ll never share your email with anyone' }, [ - Span({ class: 'cursor-help text-info' }, '?') - ]) - ]) - ]); -}; -Mount(FormDemo, '#demo-form'); -``` - -### Interactive Tooltip - -
-
-

Live Demo

-
-
-
- -```javascript -const InteractiveDemo = () => { - const showTip = $(false); - const tooltipText = $('Hover over the button!'); - - const updateTooltip = (text) => { - tooltipText(text); - setTimeout(() => { - tooltipText('Hover over the button!'); - }, 2000); - }; - - return Div({ class: 'flex flex-col gap-4 items-center' }, [ - Tooltip({ tip: () => tooltipText() }, [ - Button({ - class: 'btn btn-primary btn-lg', - onclick: () => Toast('Button clicked!', 'alert-info', 2000) - }, 'Interactive Button') - ]), - Div({ class: 'flex gap-2 flex-wrap justify-center mt-4' }, [ - Button({ - class: 'btn btn-xs', - onclick: () => updateTooltip('You clicked the button!') - }, 'Change Tooltip'), - Button({ - class: 'btn btn-xs', - onclick: () => updateTooltip('Try hovering now!') - }, 'Change Again') - ]) - ]); -}; -Mount(InteractiveDemo, '#demo-interactive'); -``` - -### Rich Tooltip Content - -
-
-

Live Demo

-
-
-
- -```javascript -const RichDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Tooltip({ - tip: Div({ class: 'text-left p-1' }, [ - Div({ class: 'font-bold' }, 'User Info'), - Div({ class: 'text-xs' }, 'John Doe'), - Div({ class: 'text-xs' }, 'john@example.com'), - Div({ class: 'badge badge-xs badge-primary mt-1' }, 'Admin') - ]) - }, [ - Button({ class: 'btn btn-outline' }, 'User Profile') - ]), - Tooltip({ - tip: Div({ class: 'text-left p-1' }, [ - Div({ class: 'font-bold flex items-center gap-1' }, [ - Icons.iconWarning, - Span({}, 'System Status') - ]), - Div({ class: 'text-xs' }, 'All systems operational'), - Div({ class: 'text-xs text-success' }, '✓ 99.9% uptime') - ]) - }, [ - Button({ class: 'btn btn-outline' }, 'System Status') - ]) - ]); -}; -Mount(RichDemo, '#demo-rich'); -``` - -### Color Variants - -
-
-

Live Demo

-
-
-
- -```javascript -const ColorsDemo = () => { - return Div({ class: 'flex flex-wrap gap-4 justify-center' }, [ - Tooltip({ tip: 'Primary tooltip', class: 'tooltip-primary' }, [ - Button({ class: 'btn btn-primary btn-sm' }, 'Primary') - ]), - Tooltip({ tip: 'Secondary tooltip', class: 'tooltip-secondary' }, [ - Button({ class: 'btn btn-secondary btn-sm' }, 'Secondary') - ]), - Tooltip({ tip: 'Accent tooltip', class: 'tooltip-accent' }, [ - Button({ class: 'btn btn-accent btn-sm' }, 'Accent') - ]), - Tooltip({ tip: 'Info tooltip', class: 'tooltip-info' }, [ - Button({ class: 'btn btn-info btn-sm' }, 'Info') - ]), - Tooltip({ tip: 'Success tooltip', class: 'tooltip-success' }, [ - Button({ class: 'btn btn-success btn-sm' }, 'Success') - ]), - Tooltip({ tip: 'Warning tooltip', class: 'tooltip-warning' }, [ - Button({ class: 'btn btn-warning btn-sm' }, 'Warning') - ]), - Tooltip({ tip: 'Error tooltip', class: 'tooltip-error' }, [ - Button({ class: 'btn btn-error btn-sm' }, 'Error') - ]) - ]); -}; -Mount(ColorsDemo, '#demo-colors'); -``` - -### All Tooltip Positions - -
-
-

Live Demo

-
-
-
- -```javascript -const AllPositionsDemo = () => { - return Div({ class: 'grid grid-cols-3 gap-4 justify-items-center' }, [ - Div({ class: 'col-start-2' }, [ - Tooltip({ tip: 'Top tooltip', class: 'tooltip-top' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Top') - ]) - ]), - Div({ class: 'col-start-1 row-start-2' }, [ - Tooltip({ tip: 'Left tooltip', class: 'tooltip-left' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Left') - ]) - ]), - Div({ class: 'col-start-2 row-start-2' }, [ - Tooltip({ tip: 'Center tooltip', class: 'tooltip' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Center') - ]) - ]), - Div({ class: 'col-start-3 row-start-2' }, [ - Tooltip({ tip: 'Right tooltip', class: 'tooltip-right' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Right') - ]) - ]), - Div({ class: 'col-start-2 row-start-3' }, [ - Tooltip({ tip: 'Bottom tooltip', class: 'tooltip-bottom' }, [ - Button({ class: 'btn btn-sm w-24' }, 'Bottom') - ]) - ]) - ]); -}; -Mount(AllPositionsDemo, '#demo-all-positions'); -``` - - diff --git a/docs/sigpro-ui.min.js b/docs/sigpro-ui.min.js index 8b7c622..2d73c36 100644 --- a/docs/sigpro-ui.min.js +++ b/docs/sigpro-ui.min.js @@ -1,7 +1,7 @@ -(()=>{var{defineProperty:Cf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:I_}=Object,y_=Object.prototype.hasOwnProperty;var F_=new WeakMap,v_=(f)=>{var M=F_.get(f),_;if(M)return M;if(M=Cf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")x_(f).map((E)=>!y_.call(M,E)&&Cf(M,E,{get:()=>f[E],enumerable:!(_=I_(f,E))||_.enumerable}));return F_.set(f,M),M};var R=(f,M)=>{for(var _ in M)Cf(f,_,{get:M[_],enumerable:!0,configurable:!0,set:(E)=>M[_]=()=>E})};var d_={};R(d_,{val:()=>P,ui:()=>B,tt:()=>U,getIcon:()=>D,Watch:()=>x,Tooltip:()=>N_,Toast:()=>z_,Timeline:()=>K_,Tag:()=>I,Tabs:()=>Y_,Table:()=>Z_,Swap:()=>Q_,Stat:()=>B_,Stack:()=>J_,Select:()=>L_,Router:()=>j,Render:()=>g,Rating:()=>T_,Range:()=>A_,Radio:()=>M_,Navbar:()=>f_,Mount:()=>Xf,Modal:()=>tf,Menu:()=>sf,List:()=>of,Label:()=>rf,Input:()=>u,Indicator:()=>cf,If:()=>Gf,For:()=>Qf,Fileinput:()=>bf,Fieldset:()=>gf,Fab:()=>vf,Dropdown:()=>xf,Drawer:()=>hf,Datepicker:()=>wf,Colorpicker:()=>Of,Checkbox:()=>kf,Button:()=>b,Badge:()=>Df,Autocomplete:()=>Rf,Alert:()=>Yf,Accordion:()=>Zf,$$:()=>e,$:()=>n});var O=null,h=null,p=new Set,l=!1,Lf=new WeakMap,a=document,r=Array.isArray,Bf=Object.assign,U_=(f)=>a.createElement(f),d=(f)=>a.createTextNode(String(f??"")),V=(f)=>typeof f==="function",Wf=(f)=>typeof f==="object"&&f!==null,Jf=(f,M)=>{let _=O;O=f;try{return M()}finally{O=_}},t=(f)=>{if(f._cleanups)f._cleanups.forEach((M)=>M()),f._cleanups.clear();f.childNodes?.forEach(t)},m_=()=>{if(l)return;l=!0;while(p.size>0){let f=Array.from(p).sort((M,_)=>(M.depth||0)-(_.depth||0));p.clear();for(let M of f)if(!M._deleted)M()}l=!1},Pf=(f)=>{if(O&&!O._deleted)f.add(O),O._deps.add(f)},s=(f)=>{if(f.forEach((M)=>{if(M===O||M._deleted)return;if(M._isComputed){if(M.markDirty(),M._subs)s(M._subs)}else p.add(M)}),!l)queueMicrotask(m_)},g=(f)=>{let M=new Set,_=h,E=U_("div");E.style.display="contents",h={cleanups:M};let A=(C)=>{if(!C)return;if(C._isRuntime)M.add(C.destroy),E.appendChild(C.container);else if(r(C))C.forEach(A);else E.appendChild(C instanceof Node?C:d(C))};try{A(f({onCleanup:(C)=>M.add(C)}))}finally{h=_}return{_isRuntime:!0,container:E,destroy:()=>{M.forEach((C)=>C()),t(E),E.remove()}}},n=(f,M=null)=>{let _=new Set;if(V(f)){let A,C=!0,T=()=>{if(T._deleted)return;T._deps.forEach((L)=>L.delete(T)),T._deps.clear(),Jf(T,()=>{let L=f();if(!Object.is(A,L)||C)A=L,C=!1,s(_)})};if(Bf(T,{_deps:new Set,_isComputed:!0,_subs:_,_deleted:!1,markDirty:()=>C=!0,stop:()=>{T._deleted=!0,T._deps.forEach((L)=>L.delete(T)),_.clear()}}),h)h.cleanups.add(T.stop);return()=>{if(C)T();return Pf(_),A}}let E=f;if(M)try{let A=localStorage.getItem(M);if(A!==null)E=JSON.parse(A)}catch(A){console.warn("SigPro Storage Lock",A)}return(...A)=>{if(A.length){let C=V(A[0])?A[0](E):A[0];if(!Object.is(E,C)){if(E=C,M)localStorage.setItem(M,JSON.stringify(E));s(_)}}return Pf(_),E}},e=(f,M=new WeakMap)=>{if(!Wf(f))return f;if(M.has(f))return M.get(f);let _={},E=new Proxy(f,{get(A,C){if(O)Pf(_[C]??=new Set);let T=Reflect.get(A,C);return Wf(T)?e(T,M):T},set(A,C,T){if(Object.is(A[C],T))return!0;let L=Reflect.set(A,C,T);if(_[C])s(_[C]);return L}});return M.set(f,E),E},x=(f,M)=>{let _=r(f),E=_?M:f;if(!V(E))return()=>{};let A=h,C=()=>{if(C._deleted)return;C._deps.forEach((L)=>L.delete(C)),C._deps.clear(),C._cleanups.forEach((L)=>L()),C._cleanups.clear();let T=h;C.depth=O?O.depth+1:0,Jf(C,()=>{if(h={cleanups:C._cleanups},_)Jf(null,E),f.forEach((L)=>V(L)&&L());else E();h=T})};if(Bf(C,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(C._deleted)return;if(C._deleted=!0,p.delete(C),C._deps.forEach((T)=>T.delete(C)),C._cleanups.forEach((T)=>T()),A)A.cleanups.delete(C.stop)}}),A)A.cleanups.add(C.stop);return C(),C.stop},I=(f,M={},_=[])=>{if(M instanceof Node||r(M)||!Wf(M))_=M,M={};let A=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?a.createElementNS("http://www.w3.org/2000/svg",f):U_(f);A._cleanups=new Set,A.onUnmount=(W)=>A._cleanups.add(W);let C=["disabled","checked","required","readonly","selected","multiple","autofocus"],T=(W,J)=>{let Q=(W==="src"||W==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(C.includes(W))A[W]=!!Q,Q?A.setAttribute(W,""):A.removeAttribute(W);else Q==null?A.removeAttribute(W):A.setAttribute(W,Q)};for(let[W,J]of Object.entries(M)){if(W==="ref"){V(J)?J(A):J.current=A;continue}let Q=V(J);if(W.startsWith("on")){let G=W.slice(2).toLowerCase().split(".")[0];A.addEventListener(G,J),A._cleanups.add(()=>A.removeEventListener(G,J))}else if(Q){if(A._cleanups.add(x(()=>{let G=J();W==="class"?A.className=G||"":T(W,G)})),["INPUT","TEXTAREA","SELECT"].includes(A.tagName)&&(W==="value"||W==="checked")){let G=W==="checked"?"change":"input",Y=(Z)=>J(Z.target[W]);A.addEventListener(G,Y),A._cleanups.add(()=>A.removeEventListener(G,Y))}}else T(W,J)}let L=(W)=>{if(r(W))return W.forEach(L);if(V(W)){let J=d("");A.appendChild(J);let Q=[];A._cleanups.add(x(()=>{let G=W(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:d(Z));Q.forEach((Z)=>{t(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else A.appendChild(W instanceof Node?W:d(W))};return L(_),A},Gf=(f,M,_=null,E=null)=>{let A=d(""),C=I("div",{style:"display:contents"},[A]),T=null,L=null;return x(()=>{let W=!!(V(f)?f():f);if(W===L)return;L=W;let J=()=>{if(T)T.destroy();T=null};if(T&&!W&&E?.out)E.out(T.container,J);else J();let Q=W?M:_;if(Q){if(T=g(()=>V(Q)?Q():Q),C.insertBefore(T.container,A),W&&E?.in)E.in(T.container)}}),C},Qf=(f,M,_,E="div",A={style:"display:contents"})=>{let C=d(""),T=I(E,A,[C]),L=new Map;return x(()=>{let W=(V(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{t(z),z.remove()}}:g(()=>z)}L.delete(X),J.set(X,q),Q.push(X)}L.forEach((Y)=>Y.destroy());let G=C;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)T.insertBefore(Z.container,G);G=Z.container}L=J}),T},j=(f)=>{let M=n(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>M(window.location.hash.replace(/^#/,"")||"/"));let _=I("div",{class:"router-outlet"}),E=null;return x([M],async()=>{let A=M(),C=f.find((T)=>{let L=T.path.split("/").filter(Boolean),W=A.split("/").filter(Boolean);return L.length===W.length&&L.every((J,Q)=>J.startsWith(":")||J===W[Q])})||f.find((T)=>T.path==="*");if(C){let T=C.component;if(V(T)&&T.toString().includes("import"))T=(await T()).default||await T();let L={};if(C.path.split("/").filter(Boolean).forEach((W,J)=>{if(W.startsWith(":"))L[W.slice(1)]=A.split("/").filter(Boolean)[J]}),E)E.destroy();if(j.params)j.params(L);E=g(()=>{try{return V(T)?T(L):T}catch(W){return I("div",{class:"p-4 text-error"},"Error loading view")}}),_.appendChild(E.container)}}),_};j.params=n({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var Xf=(f,M)=>{let _=typeof M==="string"?a.querySelector(M):M;if(!_)return;if(Lf.has(_))Lf.get(_).destroy();let E=g(V(f)?f:()=>f);return _.replaceChildren(E.container),Lf.set(_,E),E},O_={$:n,$$:e,Render:g,Watch:x,Tag:I,If:Gf,For:Qf,Router:j,Mount:Xf};if(typeof window<"u")Bf(window,O_),"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((M)=>{let _=M[0].toUpperCase()+M.slice(1);if(!(_ in window))window[_]=(E,A)=>I(M,E,A)}),window.SigPro=Object.freeze(O_);var _f={};R(_f,{default:()=>b_,Tooltip:()=>N_,Toast:()=>z_,Timeline:()=>K_,Tabs:()=>Y_,Table:()=>Z_,Swap:()=>Q_,Stat:()=>B_,Stack:()=>J_,Select:()=>L_,Rating:()=>T_,Range:()=>A_,Radio:()=>M_,Navbar:()=>f_,Modal:()=>tf,Menu:()=>sf,List:()=>of,Label:()=>rf,Input:()=>u,Indicator:()=>cf,Fileinput:()=>bf,Fieldset:()=>gf,Fab:()=>vf,Dropdown:()=>xf,Drawer:()=>hf,Datepicker:()=>wf,Colorpicker:()=>Of,Checkbox:()=>kf,Button:()=>b,Badge:()=>Df,Autocomplete:()=>Rf,Alert:()=>Yf,Accordion:()=>Zf});var Sf={};R(Sf,{Accordion:()=>Zf});var ff={};R(ff,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,M)=>typeof M==="function"?()=>`${f} ${M()||""}`.trim():`${f} ${M||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let M=f.trim().split(/\s+/),_=M[M.length-1]==="right",E=_?M.slice(0,-1).join(" "):f,A=_?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return Tag("span",{class:A},E);return Tag("span",{class:`${E} ${A}`.trim()})}return null};var Zf=(f,M)=>{let{class:_,title:E,name:A,open:C,...T}=f;return Tag("div",{...T,class:B("collapse collapse-arrow bg-base-200 mb-2",_)},[Tag("input",{type:A?"radio":"checkbox",name:A,checked:P(C)}),Tag("div",{class:"collapse-title text-xl font-medium"},E),Tag("div",{class:"collapse-content"},M)])};var qf={};R(qf,{Alert:()=>Yf});var Yf=(f,M)=>{let{class:_,actions:E,type:A="info",soft:C=!0,...T}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${A}`,C?"alert-soft":"",_].filter(Boolean).join(" "),G=M||f.message;return Tag("div",{...T,role:"alert",class:B("alert",Q)},()=>[D(L[A]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),E?Tag("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var zf={};R(zf,{Autocomplete:()=>Rf});var g_={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_=$("es");var U=(f)=>()=>g_[u_()][f]||f;var Kf={};R(Kf,{Input:()=>u});var u=(f)=>{let{class:M,value:_,type:E="text",icon:A,oninput:C,placeholder:T,disabled:L,size:W,validate:J,...Q}=f,G=E==="password",Y=$(!1),Z=$(null),X={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=A?D(A):X[E]?D(X[E]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),c=q?"pl-10":"",Mf=G?"pr-10":"",o=()=>{if(M?.includes("input-xs"))return"btn-xs";if(M?.includes("input-sm"))return"btn-sm";if(M?.includes("input-lg"))return"btn-lg";return"btn-md"},i=(N)=>{let k=N.target.value;if(J){let v=J(k);Z(v||null)}C?.(N)},y=()=>Z()&&Z()!=="",S=()=>{let N=`input w-full ${c} ${Mf}`;if(M)N+=` ${M}`;if(y())N+=" input-error";return N.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":E,placeholder:T||" ",class:S,value:_,oninput:i,disabled:()=>P(L),"aria-invalid":()=>y()?"true":"false"});return Tag("div",{class:"relative w-full"},()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",o()),onclick:(N)=>{N.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>y()?Z():null)])};var Rf=(f)=>{let{class:M,items:_=[],value:E,onselect:A,label:C,placeholder:T,...L}=f,W=$(P(E)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=W().toLowerCase(),q=P(_)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(W(z),typeof E==="function")E(q);A?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[u({label:C,class:M,placeholder:T||U("search")(),value:W,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(W(q),typeof E==="function")E(q);J(!0),Q(-1)},...L}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},U("nodata")())])])};var Nf={};R(Nf,{Badge:()=>Df});var Df=(f,M)=>{let{class:_,...E}=f;return Tag("span",{...E,class:B("badge",_)},M)};var Vf={};R(Vf,{Button:()=>b});var b=(f,M)=>{let{class:_,loading:E,icon:A,...C}=f,T=D(A);return Tag("button",{...C,class:B("btn",_),disabled:()=>P(E)||P(f.disabled)},()=>[P(E)&&Tag("span",{class:"loading loading-spinner"}),T,M].filter(Boolean))};var Ff={};R(Ff,{Checkbox:()=>kf});var kf=(f)=>{let{class:M,value:_,tooltip:E,toggle:A,label:C,...T}=f,L=Tag("input",{...T,type:"checkbox",class:()=>B(P(A)?"toggle":"checkbox",M),checked:_}),W=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,C?Tag("span",{class:"label-text"},C):null]);return E?Tag("div",{class:"tooltip","data-tip":E},W):W};var Uf={};R(Uf,{Colorpicker:()=>Of});var Of=(f)=>{let{class:M,value:_,label:E,...A}=f,C=$(!1),T=["#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=()=>P(_)||"#000000";return Tag("div",{class:B("relative w-fit",M)},[Tag("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:(W)=>{W.stopPropagation(),C(!C())},...A},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${L()}`}),E?Tag("span",{class:"opacity-80"},E):null]),If(C,()=>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:(W)=>W.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},T.map((W)=>Tag("button",{type:"button",style:`background-color: ${W}`,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()===W.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof _==="function")_(W);C(!1)}})))])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>C(!1)}))])};var Hf={};R(Hf,{Datepicker:()=>wf});var wf=(f)=>{let{class:M,value:_,range:E,label:A,placeholder:C,hour:T=!1,...L}=f,W=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(E)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),k=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${k}`},c=(S)=>{let K=z(S),N=P(_);if(Z())if(!N?.start||N.start&&N.end){if(typeof _==="function")_({start:K,end:null,...T&&{startHour:G()}})}else{let k=N.start;if(typeof _==="function"){let v=K{let S=P(_);if(!S)return"";if(typeof S==="string"){if(T&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=T&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${T&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),o=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},i=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},y=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let k=parseInt(N.target.value);K(k)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",M)},[u({label:A,placeholder:C||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:Mf,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),W(!W())},...L}),If(W,()=>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:(S)=>S.stopPropagation()},[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:()=>i(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),k=new Date(K,N,1).getDay(),v=k===0?6:k-1,H_=new Date(K,N+1,0).getDate(),Ef=[];for(let m=0;m{let H=P(_),Af=Q(),h_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,j_=H?.end===F,$f=!1;if(Z()&&H?.start){let Tf=H.start;if(!H.end&&Af)$f=F>Tf&&F<=Af||F=Af;else if(H.end)$f=F>Tf&&F{if(Z())Q(F)},onclick:()=>c(k_)},[m.toString()]))}return Ef}]),T?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[y({value:G,onChange:(S)=>{G(S);let K=P(_);if(K?.start)_({...K,startHour:S})}}),y({value:Y,onChange:(S)=>{Y(S);let K=P(_);if(K?.end)_({...K,endHour:S})}})]):y({value:G,onChange:(S)=>{G(S);let K=P(_);if(K&&typeof K==="string"&&K.includes("-"))_(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(W,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>W(!1)}))])};var jf={};R(jf,{Drawer:()=>hf});var hf=(f,M)=>{let{class:_,id:E,open:A,side:C,content:T,...L}=f,W=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...L,class:B("drawer",_)},[Tag("input",{id:W,type:"checkbox",class:"drawer-toggle",checked:()=>typeof A==="function"?A():A,onchange:(J)=>{if(typeof A==="function")A(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof T==="function"?T():T]),Tag("div",{class:"drawer-side"},[Tag("label",{for:W,class:"drawer-overlay",onclick:()=>{if(typeof A==="function")A(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof C==="function"?C():C])])])};var yf={};R(yf,{Dropdown:()=>xf});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var xf=(f)=>{let{class:M,label:_,icon:E,items:A,...C}=f;return Tag("details",{...C,class:B("dropdown",M)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(T)=>{let L=T.currentTarget.closest("details");if(w&&w!==L)w.open=!1;setTimeout(()=>{w=L.open?L:null},0)}},[()=>E?typeof E==="function"?E():E:null,()=>_?typeof _==="function"?_():_: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((L)=>Tag("li",{},[Tag("a",{class:L.class||"",onclick:(W)=>{if(L.onclick)L.onclick(W);let J=W.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[L.icon?Tag("span",{},L.icon):null,Tag("span",{},L.label)])]))}])])};var mf={};R(mf,{Fab:()=>vf});var vf=(f)=>{let{class:M,icon:_,label:E,actions:A=[],position:C="bottom-6 right-6",...T}=f;return Tag("div",{...T,class:B(`fab absolute ${C} flex flex-col-reverse items-end gap-3 z-[100]`,M)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[_?D(_):null,!_&&E?E:null]),...P(A).map((L)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[L.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},L.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${L.class||""}`,onclick:(W)=>{W.stopPropagation(),L.onclick?.(W)}},[L.icon?D(L.icon):L.text||""])]))])};var uf={};R(uf,{Fieldset:()=>gf});var gf=(f,M)=>{let{class:_,legend:E,...A}=f;return Tag("fieldset",{...A,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",_)},[()=>{let C=P(E);return C?Tag("legend",{class:"fieldset-legend font-bold"},[C]):null},M])};var df={};R(df,{Fileinput:()=>bf});var bf=(f)=>{let{class:M,tooltip:_,max:E=2,accept:A="*",onselect:C,...T}=f,L=$([]),W=$(!1),J=$(null),Q=E*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${E}MB`);return}L([...L(),...X]),C?.(L())},Y=(Z)=>{let X=L().filter((q,z)=>z!==Z);L(X),C?.(X)};return Tag("fieldset",{...T,class:B("fieldset w-full p-0",M)},[Tag("div",{class:()=>`w-full ${_?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":_},[Tag("label",{class:()=>` +(()=>{var{defineProperty:Wf,getOwnPropertyNames:x_,getOwnPropertyDescriptor:y_}=Object,I_=Object.prototype.hasOwnProperty;var U_=new WeakMap,v_=(f)=>{var _=U_.get(f),M;if(_)return _;if(_=Wf({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function")x_(f).map((E)=>!I_.call(_,E)&&Wf(_,E,{get:()=>f[E],enumerable:!(M=y_(f,E))||M.enumerable}));return U_.set(f,_),_};var R=(f,_)=>{for(var M in _)Wf(f,M,{get:_[M],enumerable:!0,configurable:!0,set:(E)=>_[M]=()=>E})};var c_={};R(c_,{val:()=>P,ui:()=>B,tt:()=>O,getIcon:()=>D,Watch:()=>x,Tooltip:()=>V_,Toast:()=>D_,Timeline:()=>R_,Tag:()=>y,Tabs:()=>q_,Table:()=>S_,Swap:()=>X_,Stat:()=>G_,Stack:()=>P_,Select:()=>C_,Router:()=>j,Render:()=>u,Rating:()=>$_,Range:()=>A_,Radio:()=>E_,Navbar:()=>__,Mount:()=>Zf,Modal:()=>ef,Menu:()=>tf,List:()=>lf,Label:()=>nf,Input:()=>g,Indicator:()=>pf,If:()=>Qf,For:()=>Xf,Fileinput:()=>cf,Fieldset:()=>gf,Fab:()=>mf,Dropdown:()=>yf,Drawer:()=>jf,Datepicker:()=>Hf,Colorpicker:()=>Of,Checkbox:()=>Ff,Button:()=>b,Badge:()=>Nf,Autocomplete:()=>zf,Alert:()=>qf,Accordion:()=>Sf,$$:()=>e,$:()=>n});var U=null,h=null,p=new Set,l=!1,Cf=new WeakMap,t=document,r=Array.isArray,Gf=Object.assign,w_=(f)=>t.createElement(f),c=(f)=>t.createTextNode(String(f??"")),k=(f)=>typeof f==="function",Jf=(f)=>typeof f==="object"&&f!==null,Pf=(f,_)=>{let M=U;U=f;try{return _()}finally{U=M}},a=(f)=>{if(f._cleanups)f._cleanups.forEach((_)=>_()),f._cleanups.clear();f.childNodes?.forEach(a)},m_=()=>{if(l)return;l=!0;while(p.size>0){let f=Array.from(p).sort((_,M)=>(_.depth||0)-(M.depth||0));p.clear();for(let _ of f)if(!_._deleted)_()}l=!1},Bf=(f)=>{if(U&&!U._deleted)f.add(U),U._deps.add(f)},s=(f)=>{if(f.forEach((_)=>{if(_===U||_._deleted)return;if(_._isComputed){if(_.markDirty(),_._subs)s(_._subs)}else p.add(_)}),!l)queueMicrotask(m_)},u=(f)=>{let _=new Set,M=h,E=w_("div");E.style.display="contents",h={cleanups:_};let T=(A)=>{if(!A)return;if(A._isRuntime)_.add(A.destroy),E.appendChild(A.container);else if(r(A))A.forEach(T);else E.appendChild(A instanceof Node?A:c(A))};try{T(f({onCleanup:(A)=>_.add(A)}))}finally{h=M}return{_isRuntime:!0,container:E,destroy:()=>{_.forEach((A)=>A()),a(E),E.remove()}}},n=(f,_=null)=>{let M=new Set;if(k(f)){let T,A=!0,L=()=>{if(L._deleted)return;L._deps.forEach((W)=>W.delete(L)),L._deps.clear(),Pf(L,()=>{let W=f();if(!Object.is(T,W)||A)T=W,A=!1,s(M)})};if(Gf(L,{_deps:new Set,_isComputed:!0,_subs:M,_deleted:!1,markDirty:()=>A=!0,stop:()=>{L._deleted=!0,L._deps.forEach((W)=>W.delete(L)),M.clear()}}),h)h.cleanups.add(L.stop);return()=>{if(A)L();return Bf(M),T}}let E=f;if(_)try{let T=localStorage.getItem(_);if(T!==null)E=JSON.parse(T)}catch(T){console.warn("SigPro Storage Lock",T)}return(...T)=>{if(T.length){let A=k(T[0])?T[0](E):T[0];if(!Object.is(E,A)){if(E=A,_)localStorage.setItem(_,JSON.stringify(E));s(M)}}return Bf(M),E}},e=(f,_=new WeakMap)=>{if(!Jf(f))return f;if(_.has(f))return _.get(f);let M={},E=new Proxy(f,{get(T,A){if(U)Bf(M[A]??=new Set);let L=Reflect.get(T,A);return Jf(L)?e(L,_):L},set(T,A,L){if(Object.is(T[A],L))return!0;let W=Reflect.set(T,A,L);if(M[A])s(M[A]);return W}});return _.set(f,E),E},x=(f,_)=>{let M=r(f),E=M?_:f;if(!k(E))return()=>{};let T=h,A=()=>{if(A._deleted)return;A._deps.forEach((W)=>W.delete(A)),A._deps.clear(),A._cleanups.forEach((W)=>W()),A._cleanups.clear();let L=h;A.depth=U?U.depth+1:0,Pf(A,()=>{if(h={cleanups:A._cleanups},M)Pf(null,E),f.forEach((W)=>k(W)&&W());else E();h=L})};if(Gf(A,{_deps:new Set,_cleanups:new Set,_deleted:!1,stop:()=>{if(A._deleted)return;if(A._deleted=!0,p.delete(A),A._deps.forEach((L)=>L.delete(A)),A._cleanups.forEach((L)=>L()),T)T.cleanups.delete(A.stop)}}),T)T.cleanups.add(A.stop);return A(),A.stop},y=(f,_={},M=[])=>{if(_ instanceof Node||r(_)||!Jf(_))M=_,_={};let T=/^(svg|path|circle|rect|line|polyline|polygon|g|defs|text|tspan|use)$/.test(f)?t.createElementNS("http://www.w3.org/2000/svg",f):w_(f);T._cleanups=new Set,T.onUnmount=(C)=>T._cleanups.add(C);let A=["disabled","checked","required","readonly","selected","multiple","autofocus"],L=(C,J)=>{let Q=(C==="src"||C==="href")&&String(J).toLowerCase().includes("javascript:")?"#":J;if(A.includes(C))T[C]=!!Q,Q?T.setAttribute(C,""):T.removeAttribute(C);else Q==null?T.removeAttribute(C):T.setAttribute(C,Q)};for(let[C,J]of Object.entries(_)){if(C==="ref"){k(J)?J(T):J.current=T;continue}let Q=k(J);if(C.startsWith("on")){let G=C.slice(2).toLowerCase().split(".")[0];T.addEventListener(G,J),T._cleanups.add(()=>T.removeEventListener(G,J))}else if(Q){if(T._cleanups.add(x(()=>{let G=J();C==="class"?T.className=G||"":L(C,G)})),["INPUT","TEXTAREA","SELECT"].includes(T.tagName)&&(C==="value"||C==="checked")){let G=C==="checked"?"change":"input",Y=(Z)=>J(Z.target[C]);T.addEventListener(G,Y),T._cleanups.add(()=>T.removeEventListener(G,Y))}}else L(C,J)}let W=(C)=>{if(r(C))return C.forEach(W);if(k(C)){let J=c("");T.appendChild(J);let Q=[];T._cleanups.add(x(()=>{let G=C(),Y=(r(G)?G:[G]).map((Z)=>Z?._isRuntime?Z.container:Z instanceof Node?Z:c(Z));Q.forEach((Z)=>{a(Z),Z.remove()}),Y.forEach((Z)=>J.parentNode?.insertBefore(Z,J)),Q=Y}))}else T.appendChild(C instanceof Node?C:c(C))};return W(M),T},Qf=(f,_,M=null,E=null)=>{let T=c(""),A=y("div",{style:"display:contents"},[T]),L=null,W=null;return x(()=>{let C=!!(k(f)?f():f);if(C===W)return;W=C;let J=()=>{if(L)L.destroy();L=null};if(L&&!C&&E?.out)E.out(L.container,J);else J();let Q=C?_:M;if(Q){if(L=u(()=>k(Q)?Q():Q),A.insertBefore(L.container,T),C&&E?.in)E.in(L.container)}}),A},Xf=(f,_,M,E="div",T={style:"display:contents"})=>{let A=c(""),L=y(E,T,[A]),W=new Map;return x(()=>{let C=(k(f)?f():f)||[],J=new Map,Q=[];for(let Y=0;Y{a(z),z.remove()}}:u(()=>z)}W.delete(X),J.set(X,q),Q.push(X)}W.forEach((Y)=>Y.destroy());let G=A;for(let Y=Q.length-1;Y>=0;Y--){let Z=J.get(Q[Y]);if(Z.container.nextSibling!==G)L.insertBefore(Z.container,G);G=Z.container}W=J}),L},j=(f)=>{let _=n(window.location.hash.replace(/^#/,"")||"/");window.addEventListener("hashchange",()=>_(window.location.hash.replace(/^#/,"")||"/"));let M=y("div",{class:"router-transition"}),E=null;return x([_],async()=>{let T=_(),A=f.find((L)=>{let W=L.path.split("/").filter(Boolean),C=T.split("/").filter(Boolean);return W.length===C.length&&W.every((J,Q)=>J.startsWith(":")||J===C[Q])})||f.find((L)=>L.path==="*");if(A){let L=A.component;if(k(L)&&L.toString().includes("import"))L=(await L()).default||await L();let W={};if(A.path.split("/").filter(Boolean).forEach((C,J)=>{if(C.startsWith(":"))W[C.slice(1)]=T.split("/").filter(Boolean)[J]}),E)E.destroy();if(j.params)j.params(W);E=u(()=>{try{return k(L)?L(W):L}catch(C){return y("div",{class:"p-4 text-error"},"Error loading view")}}),M.appendChild(E.container)}}),M};j.params=n({});j.to=(f)=>window.location.hash=f.replace(/^#?\/?/,"#/");j.back=()=>window.history.back();j.path=()=>window.location.hash.replace(/^#/,"")||"/";var Zf=(f,_)=>{let M=typeof _==="string"?t.querySelector(_):_;if(!M)return;if(Cf.has(M))Cf.get(M).destroy();let E=u(k(f)?f:()=>f);return M.replaceChildren(E.container),Cf.set(M,E),E},O_={$:n,$$:e,Render:u,Watch:x,Tag:y,If:Qf,For:Xf,Router:j,Mount:Zf};if(typeof window<"u")Gf(window,O_),"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((_)=>{let M=_[0].toUpperCase()+_.slice(1);if(!(M in window))window[M]=(E,T)=>y(_,E,T)}),window.SigPro=Object.freeze(O_);var _f={};R(_f,{default:()=>b_,Tooltip:()=>V_,Toast:()=>D_,Timeline:()=>R_,Tabs:()=>q_,Table:()=>S_,Swap:()=>X_,Stat:()=>G_,Stack:()=>P_,Select:()=>C_,Rating:()=>$_,Range:()=>A_,Radio:()=>E_,Navbar:()=>__,Modal:()=>ef,Menu:()=>tf,List:()=>lf,Label:()=>nf,Input:()=>g,Indicator:()=>pf,Fileinput:()=>cf,Fieldset:()=>gf,Fab:()=>mf,Dropdown:()=>yf,Drawer:()=>jf,Datepicker:()=>Hf,Colorpicker:()=>Of,Checkbox:()=>Ff,Button:()=>b,Badge:()=>Nf,Autocomplete:()=>zf,Alert:()=>qf,Accordion:()=>Sf});var Yf={};R(Yf,{Accordion:()=>Sf});var ff={};R(ff,{val:()=>P,ui:()=>B,getIcon:()=>D});var P=(f)=>typeof f==="function"?f():f,B=(f,_)=>typeof _==="function"?()=>`${f} ${_()||""}`.trim():`${f} ${_||""}`.trim(),D=(f)=>{if(!f)return null;if(typeof f==="function")return Tag("span",{class:"mr-1"},f());if(typeof f==="object")return Tag("span",{class:"mr-1"},f);if(typeof f==="string"){let _=f.trim().split(/\s+/),M=_[_.length-1]==="right",E=M?_.slice(0,-1).join(" "):f,T=M?"ml-1":"mr-1";if(E&&!E.startsWith("icon-[")&&!E.includes("--"))return Tag("span",{class:T},E);return Tag("span",{class:`${E} ${T}`.trim()})}return null};var Sf=(f,_)=>{let{class:M,title:E,name:T,open:A,...L}=f;return Tag("div",{...L,class:B("collapse collapse-arrow bg-base-200 mb-2",M)},[Tag("input",{type:T?"radio":"checkbox",name:T,checked:P(A)}),Tag("div",{class:"collapse-title text-xl font-medium"},E),Tag("div",{class:"collapse-content"},_)])};var Kf={};R(Kf,{Alert:()=>qf});var qf=(f,_)=>{let{class:M,actions:E,type:T="info",soft:A=!0,...L}=f,W={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"},Q=[`alert-${T}`,A?"alert-soft":"",M].filter(Boolean).join(" "),G=_||f.message;return Tag("div",{...L,role:"alert",class:B("alert",Q)},()=>[D(W[T]),Tag("div",{class:"flex-1"},[Tag("span",{},[typeof G==="function"?G():G])]),E?Tag("div",{class:"flex-none"},[typeof E==="function"?E():E]):null].filter(Boolean))};var Df={};R(Df,{Autocomplete:()=>zf});var u_={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"}},g_=$("es");var O=(f)=>()=>u_[g_()][f]||f;var Rf={};R(Rf,{Input:()=>g});var g=(f)=>{let{class:_,value:M,type:E="text",icon:T,oninput:A,placeholder:L,disabled:W,validate:C,label:J,...Q}=f,G=E==="password",Y=$(!1),Z=$(null),X={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=T?D(T):X[E]?D(X[E]):null,z=()=>D(Y()?"icon-[lucide--eye-off]":"icon-[lucide--eye]"),d=q?"pl-10":"",Mf=G?"pr-10":"",o=()=>{if(_?.includes("input-xs"))return"btn-xs";if(_?.includes("input-sm"))return"btn-sm";if(_?.includes("input-lg"))return"btn-lg";return"btn-md"},i=(V)=>{let v=V.target.value;if(C){let Ef=C(v);Z(Ef||null)}A?.(V)},I=()=>Z()&&Z()!=="",S=()=>{let V=`input w-full ${d} ${Mf}`;if(_)V+=` ${_}`;if(I())V+=" input-error";return V.trim()},K=Tag("input",{...Q,type:()=>G?Y()?"text":"password":E,placeholder:L||(J?" ":L),class:S,value:M,oninput:i,disabled:()=>P(W),"aria-invalid":()=>I()?"true":"false"}),N=()=>[K,q?Tag("div",{class:"absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60"},q):null,G?Tag("button",{type:"button",class:B("absolute right-3 inset-y-0 flex items-center","btn btn-ghost btn-circle opacity-50 hover:opacity-100",o()),onclick:(V)=>{V.preventDefault(),Y(!Y())}},()=>z()):null,Tag("div",{class:"text-error text-xs mt-1 px-3 absolute -bottom-5 left-0"},()=>I()?Z():null)];if(J)return Tag("label",{class:B("floating-label w-full",_)},()=>[Tag("div",{class:"relative w-full"},N),Tag("span",{},P(J))]);return Tag("div",{class:"relative w-full"},N)};var zf=(f)=>{let{class:_,items:M=[],value:E,onselect:T,label:A,placeholder:L,...W}=f,C=$(P(E)||""),J=$(!1),Q=$(-1),G=$(()=>{let X=C().toLowerCase(),q=P(M)||[];return X?q.filter((z)=>(typeof z==="string"?z:z.label).toLowerCase().includes(X)):q}),Y=(X)=>{let q=typeof X==="string"?X:X.value,z=typeof X==="string"?X:X.label;if(C(z),typeof E==="function")E(q);T?.(X),J(!1),Q(-1)},Z=(X)=>{let q=G();if(X.key==="ArrowDown")X.preventDefault(),J(!0),Q(Math.min(Q()+1,q.length-1));else if(X.key==="ArrowUp")X.preventDefault(),Q(Math.max(Q()-1,0));else if(X.key==="Enter"&&Q()>=0)X.preventDefault(),Y(q[Q()]);else if(X.key==="Escape")J(!1)};return Tag("div",{class:"relative w-full"},[g({label:A,class:_,placeholder:L||O("search")(),value:C,onfocus:()=>J(!0),onblur:()=>setTimeout(()=>J(!1),150),onkeydown:Z,oninput:(X)=>{let q=X.target.value;if(C(q),typeof E==="function")E(q);J(!0),Q(-1)},...W}),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:()=>J()&&G().length?"display:block":"display:none"},[For(G,(X,q)=>Tag("li",{},[Tag("a",{class:()=>`block w-full ${Q()===q?"active bg-primary text-primary-content":""}`,onclick:()=>Y(X),onmouseenter:()=>Q(q)},typeof X==="string"?X:X.label)]),(X,q)=>(typeof X==="string"?X:X.value)+q),()=>G().length?null:Tag("li",{class:"p-2 text-center opacity-50"},O("nodata")())])])};var Vf={};R(Vf,{Badge:()=>Nf});var Nf=(f,_)=>{let{class:M,...E}=f;return Tag("span",{...E,class:B("badge",M)},_)};var kf={};R(kf,{Button:()=>b});var b=(f,_)=>{let{class:M,loading:E,icon:T,...A}=f,L=D(T);return Tag("button",{...A,class:B("btn",M),disabled:()=>P(E)||P(f.disabled)},()=>[P(E)&&Tag("span",{class:"loading loading-spinner"}),L,_].filter(Boolean))};var Uf={};R(Uf,{Checkbox:()=>Ff});var Ff=(f)=>{let{class:_,value:M,toggle:E,label:T,...A}=f,L=Tag("input",{...A,type:"checkbox",class:()=>B(P(E)?"toggle":"checkbox",_),checked:M});return Tag("label",{class:"label cursor-pointer justify-start gap-3"},[L,T?Tag("span",{class:"label-text"},T):null])};var wf={};R(wf,{Colorpicker:()=>Of});var Of=(f)=>{let{class:_,value:M,label:E,...T}=f,A=$(!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"],W=()=>P(M)||"#000000";return Tag("div",{class:B("relative w-fit",_)},[Tag("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:(C)=>{C.stopPropagation(),A(!A())},...T},[Tag("div",{class:"size-5 rounded-sm shadow-inner border border-black/10 shrink-0",style:()=>`background-color: ${W()}`}),E?Tag("span",{class:"opacity-80"},E):null]),If(A,()=>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:(C)=>C.stopPropagation()},[Tag("div",{class:"grid grid-cols-8 gap-1"},L.map((C)=>Tag("button",{type:"button",style:`background-color: ${C}`,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 + ${W().toLowerCase()===C.toLowerCase()?"ring-2 ring-offset-1 ring-primary z-10 scale-110":""}`},onclick:()=>{if(typeof M==="function")M(C);A(!1)}})))])),If(A,()=>Tag("div",{class:"fixed inset-0 z-[100]",onclick:()=>A(!1)}))])};var hf={};R(hf,{Datepicker:()=>Hf});var Hf=(f)=>{let{class:_,value:M,range:E,label:T,placeholder:A,hour:L=!1,...W}=f,C=$(!1),J=$(new Date),Q=$(null),G=$(0),Y=$(0),Z=()=>P(E)===!0,X=new Date,q=`${X.getFullYear()}-${String(X.getMonth()+1).padStart(2,"0")}-${String(X.getDate()).padStart(2,"0")}`,z=(S)=>{let K=S.getFullYear(),N=String(S.getMonth()+1).padStart(2,"0"),V=String(S.getDate()).padStart(2,"0");return`${K}-${N}-${V}`},d=(S)=>{let K=z(S),N=P(M);if(Z())if(!N?.start||N.start&&N.end){if(typeof M==="function")M({start:K,end:null,...L&&{startHour:G()}})}else{let V=N.start;if(typeof M==="function"){let v=K{let S=P(M);if(!S)return"";if(typeof S==="string"){if(L&&S.includes("T"))return S.replace("T"," ");return S}if(S.start&&S.end){let K=L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start,N=L&&S.endHour?`${S.end} ${String(S.endHour).padStart(2,"0")}:00`:S.end;return`${K} - ${N}`}if(S.start)return`${L&&S.startHour?`${S.start} ${String(S.startHour).padStart(2,"0")}:00`:S.start}...`;return""}),o=(S)=>{let K=J();J(new Date(K.getFullYear(),K.getMonth()+S,1))},i=(S)=>{let K=J();J(new Date(K.getFullYear()+S,K.getMonth(),1))},I=({value:S,onChange:K})=>{return Tag("div",{class:"flex-1"},[Tag("div",{class:"flex gap-2 items-center"},[Tag("input",{type:"range",min:0,max:23,value:S,class:"range range-xs flex-1",oninput:(N)=>{let V=parseInt(N.target.value);K(V)}}),Tag("span",{class:"text-sm font-mono min-w-[48px] text-center"},()=>String(P(S)).padStart(2,"0")+":00")])])};return Tag("div",{class:B("relative w-full",_)},[g({label:T,placeholder:A||(Z()?"Seleccionar rango...":"Seleccionar fecha..."),value:Mf,readonly:!0,icon:D("icon-[lucide--calendar]"),onclick:(S)=>{S.stopPropagation(),C(!C())},...W}),If(C,()=>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:(S)=>S.stopPropagation()},[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:()=>i(-1)},D("icon-[lucide--chevrons-left]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(-1)},D("icon-[lucide--chevron-left]"))]),Tag("span",{class:"font-bold uppercase flex-1 text-center"},[()=>J().toLocaleString("es-ES",{month:"short",year:"numeric"})]),Tag("div",{class:"flex gap-0.5"},[Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>o(1)},D("icon-[lucide--chevron-right]")),Tag("button",{type:"button",class:"btn btn-ghost btn-xs px-1",onclick:()=>i(1)},D("icon-[lucide--chevrons-right]"))])]),Tag("div",{class:"grid grid-cols-7 gap-1",onmouseleave:()=>Q(null)},[...["L","M","X","J","V","S","D"].map((S)=>Tag("div",{class:"text-[10px] opacity-40 font-bold text-center"},S)),()=>{let S=J(),K=S.getFullYear(),N=S.getMonth(),V=new Date(K,N,1).getDay(),v=V===0?6:V-1,Ef=new Date(K,N+1,0).getDate(),Tf=[];for(let m=0;m{let H=P(M),Af=Q(),h_=typeof H==="string"?H.split("T")[0]===F:H?.start===F,j_=H?.end===F,Lf=!1;if(Z()&&H?.start){let $f=H.start;if(!H.end&&Af)Lf=F>$f&&F<=Af||F<$f&&F>=Af;else if(H.end)Lf=F>$f&&F{if(Z())Q(F)},onclick:()=>d(F_)},[m.toString()]))}return Tf}]),L?Tag("div",{class:"mt-3 pt-2 border-t border-base-300"},[Z()?Tag("div",{class:"flex gap-4"},[I({value:G,onChange:(S)=>{G(S);let K=P(M);if(K?.start)M({...K,startHour:S})}}),I({value:Y,onChange:(S)=>{Y(S);let K=P(M);if(K?.end)M({...K,endHour:S})}})]):I({value:G,onChange:(S)=>{G(S);let K=P(M);if(K&&typeof K==="string"&&K.includes("-"))M(K.split("T")[0]+"T"+String(S).padStart(2,"0")+":00:00")}})]):null])),If(C,()=>Tag("div",{class:"fixed inset-0 z-[90]",onclick:()=>C(!1)}))])};var xf={};R(xf,{Drawer:()=>jf});var jf=(f,_)=>{let{class:M,id:E,open:T,side:A,content:L,...W}=f,C=E||`drawer-${Math.random().toString(36).slice(2,9)}`;return Tag("div",{...W,class:B("drawer",M)},[Tag("input",{id:C,type:"checkbox",class:"drawer-toggle",checked:()=>typeof T==="function"?T():T,onchange:(J)=>{if(typeof T==="function")T(J.target.checked)}}),Tag("div",{class:"drawer-content"},[typeof L==="function"?L():L]),Tag("div",{class:"drawer-side"},[Tag("label",{for:C,class:"drawer-overlay",onclick:()=>{if(typeof T==="function")T(!1)}}),Tag("div",{class:"min-h-full bg-base-200 w-80"},[typeof A==="function"?A():A])])])};var vf={};R(vf,{Dropdown:()=>yf});var w=null;if(typeof window<"u"&&!window.__dropdownHandlerRegistered)window.addEventListener("click",(f)=>{if(w&&!w.contains(f.target))w.open=!1,w=null}),window.__dropdownHandlerRegistered=!0;var yf=(f)=>{let{class:_,label:M,icon:E,items:T,...A}=f;return Tag("details",{...A,class:B("dropdown",_)},[Tag("summary",{class:"btn m-1 flex items-center gap-2 list-none cursor-pointer",style:"display: inline-flex;",onclick:(L)=>{let W=L.currentTarget.closest("details");if(w&&w!==W)w.open=!1;setTimeout(()=>{w=W.open?W:null},0)}},[()=>E?typeof E==="function"?E():E: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 T==="function"?T():T||[]).map((W)=>Tag("li",{},[Tag("a",{class:W.class||"",onclick:(C)=>{if(W.onclick)W.onclick(C);let J=C.currentTarget.closest("details");if(J){if(J.open=!1,w===J)w=null}}},[W.icon?Tag("span",{},W.icon):null,Tag("span",{},W.label)])]))}])])};var uf={};R(uf,{Fab:()=>mf});var mf=(f)=>{let{class:_,icon:M,label:E,actions:T=[],position:A="bottom-6 right-6",...L}=f;return Tag("div",{...L,class:B(`fab absolute ${A} flex flex-col-reverse items-end gap-3 z-[100]`,_)},[Tag("div",{tabindex:0,role:"button",class:"btn btn-lg btn-circle btn-primary shadow-2xl"},[M?D(M):null,!M&&E?E:null]),...P(T).map((W)=>Tag("div",{class:"flex items-center gap-3 transition-all duration-300"},[W.label?Tag("span",{class:"badge badge-ghost shadow-sm whitespace-nowrap"},W.label):null,Tag("button",{type:"button",class:`btn btn-circle shadow-lg ${W.class||""}`,onclick:(C)=>{C.stopPropagation(),W.onclick?.(C)}},[W.icon?D(W.icon):W.text||""])]))])};var bf={};R(bf,{Fieldset:()=>gf});var gf=(f,_)=>{let{class:M,legend:E,...T}=f;return Tag("fieldset",{...T,class:B("fieldset bg-base-200 border border-base-300 p-4 rounded-lg",M)},[()=>{let A=P(E);return A?Tag("legend",{class:"fieldset-legend font-bold"},[A]):null},_])};var df={};R(df,{Fileinput:()=>cf});var cf=(f)=>{let{class:_,tooltip:M,max:E=2,accept:T="*",onselect:A,...L}=f,W=$([]),C=$(!1),J=$(null),Q=E*1024*1024,G=(Z)=>{let X=Array.from(Z);if(J(null),X.find((z)=>z.size>Q)){J(`Máx ${E}MB`);return}W([...W(),...X]),A?.(W())},Y=(Z)=>{let X=W().filter((q,z)=>z!==Z);W(X),A?.(X)};return Tag("fieldset",{...L,class:B("fieldset w-full p-0",_)},[Tag("div",{class:()=>`w-full ${M?"tooltip tooltip-top before:z-50 after:z-50":""}`,"data-tip":M},[Tag("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 - ${W()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} - `,ondragover:(Z)=>{Z.preventDefault(),W(!0)},ondragleave:()=>W(!1),ondrop:(Z)=>{Z.preventDefault(),W(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${E}MB`)]),Tag("input",{type:"file",multiple:!0,accept:A,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>L().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(L,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var pf={};R(pf,{Indicator:()=>cf});var cf=(f,M)=>{let{value:_,class:E,...A}=f;return Tag("div",{...A,class:"indicator"},()=>[_?Tag("span",{class:B("indicator-item badge",E)},()=>typeof _==="function"?_():_):null,M].filter(Boolean))};var nf={};R(nf,{Label:()=>rf});var rf=(f)=>{let{children:M,value:_,floating:E=!1,error:A,required:C,class:T,...L}=f;if(E)return Tag("label",{class:B("floating-label w-full",T),...L},()=>[_?Tag("span",{},_):null,M,A?Tag("span",{class:"text-error text-xs"},P(A)):null]);return Tag("label",{class:B("input w-full",T),...L},()=>[_?Tag("span",{class:"label"},_):null,M,A?Tag("span",{class:"text-error text-xs"},P(A)):null])};var lf={};R(lf,{List:()=>of});var of=(f)=>{let{class:M,items:_,header:E,render:A=(W)=>W,keyFn:C=(W,J)=>W.id??J,...T}=f,L=For(_,(W,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[A(W,J)])]),C);return Tag("ul",{...T,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",M)},E?[If(E,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(E)])),L]:L)};var af={};R(af,{Menu:()=>sf});var sf=(f)=>{let{class:M,items:_,...E}=f,A=(C)=>For(()=>C||[],(T)=>Tag("li",{},[T.children?Tag("details",{open:T.open},[Tag("summary",{},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label]),Tag("ul",{},A(T.children))]):Tag("a",{class:()=>P(T.active)?"active":"",onclick:T.onclick},[T.icon&&Tag("span",{class:"mr-2"},T.icon),T.label])]),(T,L)=>T.label||L);return Tag("ul",{...E,class:B("menu bg-base-200 rounded-box",M)},A(_))};var ef={};R(ef,{Modal:()=>tf});var tf=(f,M)=>{let{class:_,title:E,buttons:A,open:C,...T}=f,L=null,W=()=>{let Q=typeof C==="function"?C():C;if(!L)return;if(Q){if(!L.open)L.showModal()}else if(L.open)L.close()};Watch(()=>W());let J=()=>{if(typeof C==="function")C(!1)};return Tag("dialog",{...T,ref:(Q)=>{if(L=Q,Q)W()},class:B("modal",_),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[E?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,Tag("div",{class:"py-2"},[typeof M==="function"?M():M]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(A)?A:[A]).filter(Boolean),b({type:"submit"},U("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var __={};R(__,{Navbar:()=>f_});var f_=(f,M)=>{let{class:_,...E}=f;return Tag("div",{...E,class:B("navbar bg-base-100 shadow-sm px-4",_)},M)};var E_={};R(E_,{Radio:()=>M_});var M_=(f)=>{let{class:M,label:_,tooltip:E,value:A,inputValue:C,name:T,...L}=f,W=Tag("input",{...L,type:"radio",name:T,class:B("radio",M),checked:()=>P(A)===C,onclick:()=>{if(typeof A==="function")A(C)}});if(!_&&!E)return W;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[W,_?Tag("span",{class:"label-text"},_):null]);return E?Tag("div",{class:"tooltip","data-tip":E},J):J};var $_={};R($_,{Range:()=>A_});var A_=(f)=>{let{class:M,label:_,tooltip:E,value:A,...C}=f,T=Tag("input",{...C,type:"range",class:B("range",M),value:A,disabled:()=>P(f.disabled)});if(!_&&!E)return T;let L=Tag("div",{class:"flex flex-col gap-2"},[_?Tag("span",{class:"label-text"},_):null,T]);return E?Tag("div",{class:"tooltip","data-tip":E},L):L};var C_={};R(C_,{Rating:()=>T_});var T_=(f)=>{let{class:M,value:_,count:E=5,mask:A="mask-star",readonly:C=!1,onchange:T,...L}=f,W=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...L,class:()=>B(`rating ${P(C)?"pointer-events-none":""}`,M)},Array.from({length:P(E)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:W,class:`mask ${A}`,checked:()=>Math.round(P(_))===G,onchange:()=>{if(!P(C)){if(typeof T==="function")T(G);else if(typeof _==="function")_(G)}}})}))};var W_={};R(W_,{Select:()=>L_});var L_=(f)=>{let{class:M,label:_,items:E,value:A,...C}=f,T=Tag("select",{...C,class:B("select select-bordered w-full",M),value:A},For(()=>P(E)||[],(L)=>Tag("option",{value:L.value,$selected:()=>String(P(A))===String(L.value)},L.label),(L)=>L.value));if(!_)return T;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},_),T])};var P_={};R(P_,{Stack:()=>J_});var J_=(f,M)=>{let{class:_,...E}=f;return Tag("div",{...E,class:B("stack",_)},M)};var G_={};R(G_,{Stat:()=>B_});var B_=(f)=>{let{class:M,icon:_,label:E,value:A,desc:C,...T}=f;return Tag("div",{...T,class:B("stat",M)},[_&&Tag("div",{class:"stat-figure text-secondary"},_),E&&Tag("div",{class:"stat-title"},E),Tag("div",{class:"stat-value"},()=>P(A)??A),C&&Tag("div",{class:"stat-desc"},C)])};var X_={};R(X_,{Swap:()=>Q_});var Q_=(f)=>{let{class:M,value:_,on:E,off:A,...C}=f;return Tag("label",{...C,class:B("swap",M)},[Tag("input",{type:"checkbox",checked:()=>P(_),onclick:(T)=>{if(typeof _==="function")_(T.target.checked)}}),Tag("div",{class:"swap-on"},E),Tag("div",{class:"swap-off"},A)])};var S_={};R(S_,{Table:()=>Z_});var Z_=(f)=>{let{class:M,items:_=[],columns:E=[],keyFn:A,zebra:C=!1,pinRows:T=!1,empty:L=U("nodata")(),...W}=f,J=()=>{let G=P(C)?"table-zebra":"",Y=P(T)?"table-pin-rows":"";return B("table",M,G,Y)},Q=A||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...W,class:J},[Tag("thead",{},[Tag("tr",{},E.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(_,(G,Y)=>{let Z=()=>{let X=P(_),q=Q(G,Y);return X.find((z,c)=>Q(z,c)===q)||G};return Tag("tr",{class:"hover"},E.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(_).length===0,()=>Tag("tr",{},[Tag("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[P(L)])]))])])])};var q_={};R(q_,{Tabs:()=>Y_});var Y_=(f)=>{let{items:M,class:_,...E}=f,A=typeof M==="function"?M:()=>M||[],C=$(0);return Watch(()=>{let T=A().findIndex((L)=>P(L.active)===!0);if(T!==-1&&T!==C())C(T)}),Tag("div",{...E,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",_||"tabs-box")},()=>{return A().map((L,W)=>{let J=()=>C()===W,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(L.disabled)){if(L.onclick)L.onclick();C(W)}}});return Watch(()=>{let G=P(L.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return A().map((T,L)=>{let W=()=>C()===L;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>W()?"display: block":"display: none"},[()=>typeof T.content==="function"?T.content():T.content])})})])};var R_={};R(R_,{Timeline:()=>K_});var K_=(f)=>{let{class:M,items:_=[],vertical:E=!0,compact:A=!1,...C}=f,T={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...C,class:()=>B(`timeline ${P(E)?"timeline-vertical":"timeline-horizontal"} ${P(A)?"timeline-compact":""}`,M)},()=>{let L=(typeof _==="function"?_():_)||[];return L.map((W,J)=>{let Q=J===0,G=J===L.length-1,Y=W.type||"success",Z=()=>P(W.completed),X=()=>J>0&&P(L[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(W.title)]),Tag("div",{class:"timeline-middle"},[()=>W.icon?D(W.icon):D(T[Y]||T.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(W.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var D_={};R(D_,{Toast:()=>z_});var z_=(f,M="alert-success",_=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=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(E);let A=Tag("div",{style:"display: contents"});E.appendChild(A);let C,T=()=>{clearTimeout(C);let J=A.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(W.destroy(),A.remove(),!E.hasChildNodes())E.remove()},300);else W.destroy(),A.remove()},L=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${M} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),b({class:"btn-xs btn-circle btn-ghost",onclick:T},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},W=Mount(L,A);if(_>0)C=setTimeout(T,_);return T};var V_={};R(V_,{Tooltip:()=>N_});var N_=(f,M)=>Tag("div",{...f,class:()=>B("tooltip",f.class),"data-tip":f.tip},M);var w_={...Sf,...qf,...zf,...Nf,...Vf,...Ff,...Uf,...Hf,...jf,...yf,...mf,...uf,...df,...pf,...Kf,...nf,...lf,...af,...ef,...__,...E_,...$_,...C_,...W_,...P_,...G_,...X_,...S_,...q_,...R_,...D_,...V_},b_={...w_,install:(f=window)=>{Object.entries(w_).forEach(([M,_])=>{f[M]=_}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(_f).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(ff).forEach(([f,M])=>{Object.defineProperty(window,f,{value:M,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:U,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{..._f,Utils:ff,tt:U},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");})(); + ${C()?"border-primary bg-primary/10":"border-base-content/20 bg-base-100 hover:bg-base-200"} + `,ondragover:(Z)=>{Z.preventDefault(),C(!0)},ondragleave:()=>C(!1),ondrop:(Z)=>{Z.preventDefault(),C(!1),G(Z.dataTransfer.files)}},[Tag("div",{class:"flex items-center gap-3 w-full"},[D("icon-[lucide--upload]"),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 ${E}MB`)]),Tag("input",{type:"file",multiple:!0,accept:T,class:"hidden",onchange:(Z)=>G(Z.target.files)})])]),()=>J()?Tag("span",{class:"text-[10px] text-error mt-1 px-1 font-medium"},J()):null,If(()=>W().length>0,()=>Tag("ul",{class:"mt-2 space-y-1"},[For(W,(Z,X)=>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"},"\uD83D\uDCC4"),Tag("span",{class:"truncate font-medium max-w-[200px]"},Z.name),Tag("span",{class:"text-[9px] opacity-40"},`(${(Z.size/1024).toFixed(0)} KB)`)]),Tag("button",{type:"button",class:"btn btn-ghost btn-xs btn-circle",onclick:(q)=>{q.preventDefault(),q.stopPropagation(),Y(X)}},[D("icon-[lucide--x]")])]),(Z)=>Z.name+Z.lastModified)]))])};var rf={};R(rf,{Indicator:()=>pf});var pf=(f,_)=>{let{value:M,class:E,...T}=f;return Tag("div",{...T,class:"indicator"},()=>[M?Tag("span",{class:B("indicator-item badge",E)},()=>typeof M==="function"?M():M):null,_].filter(Boolean))};var of={};R(of,{Label:()=>nf});var nf=(f)=>{let{children:_,value:M,floating:E=!1,class:T,...A}=f;if(E)return Tag("label",{class:B("floating-label",T),...A},()=>[typeof _==="function"?_():_,M?Tag("span",{},P(M)):null]);return Tag("label",{class:B("label",T),...A},()=>[M?Tag("span",{class:"label-text"},P(M)):null,typeof _==="function"?_():_])};var sf={};R(sf,{List:()=>lf});var lf=(f)=>{let{class:_,items:M,header:E,render:T=(C)=>C,keyFn:A=(C,J)=>C.id??J,...L}=f,W=For(M,(C,J)=>Tag("li",{class:"list-row",style:"width: 100%; display: block;"},[Tag("div",{style:"width: 100%;"},[T(C,J)])]),A);return Tag("ul",{...L,style:"display: block; width: 100%;",class:B("list bg-base-100 rounded-box shadow-md",_)},E?[If(E,()=>Tag("li",{class:"p-4 pb-2 text-xs opacity-60",style:"width: 100%;"},[P(E)])),W]:W)};var af={};R(af,{Menu:()=>tf});var tf=(f)=>{let{class:_,items:M,...E}=f,T=(A)=>For(()=>A||[],(L)=>Tag("li",{},[L.children?Tag("details",{open:L.open},[Tag("summary",{},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label]),Tag("ul",{},T(L.children))]):Tag("a",{class:()=>P(L.active)?"active":"",onclick:L.onclick},[L.icon&&Tag("span",{class:"mr-2"},L.icon),L.label])]),(L,W)=>L.label||W);return Tag("ul",{...E,class:B("menu bg-base-200 rounded-box",_)},T(M))};var f_={};R(f_,{Modal:()=>ef});var ef=(f,_)=>{let{class:M,title:E,buttons:T,open:A,...L}=f,W=null,C=()=>{let Q=typeof A==="function"?A():A;if(!W)return;if(Q){if(!W.open)W.showModal()}else if(W.open)W.close()};Watch(()=>C());let J=()=>{if(typeof A==="function")A(!1)};return Tag("dialog",{...L,ref:(Q)=>{if(W=Q,Q)C()},class:B("modal",M),onclose:J,oncancel:J},[Tag("div",{class:"modal-box"},[E?Tag("h3",{class:"text-lg font-bold mb-4"},()=>typeof E==="function"?E():E):null,Tag("div",{class:"py-2"},[typeof _==="function"?_():_]),Tag("div",{class:"modal-action"},[Tag("form",{method:"dialog",class:"flex gap-2"},[...(Array.isArray(T)?T:[T]).filter(Boolean),b({type:"submit"},O("close")())])])]),Tag("form",{method:"dialog",class:"modal-backdrop"},[Tag("button",{},"close")])])};var M_={};R(M_,{Navbar:()=>__});var __=(f,_)=>{let{class:M,...E}=f;return Tag("div",{...E,class:B("navbar bg-base-100 shadow-sm px-4",M)},_)};var T_={};R(T_,{Radio:()=>E_});var E_=(f)=>{let{class:_,label:M,tooltip:E,value:T,inputValue:A,name:L,...W}=f,C=Tag("input",{...W,type:"radio",name:L,class:B("radio",_),checked:()=>P(T)===A,onclick:()=>{if(typeof T==="function")T(A)}});if(!M&&!E)return C;let J=Tag("label",{class:"label cursor-pointer justify-start gap-3"},[C,M?Tag("span",{class:"label-text"},M):null]);return E?Tag("div",{class:"tooltip","data-tip":E},J):J};var L_={};R(L_,{Range:()=>A_});var A_=(f)=>{let{class:_,label:M,tooltip:E,value:T,...A}=f,L=Tag("input",{...A,type:"range",class:B("range",_),value:T,disabled:()=>P(f.disabled)});if(!M&&!E)return L;let W=Tag("div",{class:"flex flex-col gap-2"},[M?Tag("span",{class:"label-text"},M):null,L]);return E?Tag("div",{class:"tooltip","data-tip":E},W):W};var W_={};R(W_,{Rating:()=>$_});var $_=(f)=>{let{class:_,value:M,count:E=5,mask:T="mask-star",readonly:A=!1,onchange:L,...W}=f,C=`rating-${Math.random().toString(36).slice(2,7)}`;return Tag("div",{...W,class:()=>B(`rating ${P(A)?"pointer-events-none":""}`,_)},Array.from({length:P(E)},(J,Q)=>{let G=Q+1;return Tag("input",{type:"radio",name:C,class:`mask ${T}`,checked:()=>Math.round(P(M))===G,onchange:()=>{if(!P(A)){if(typeof L==="function")L(G);else if(typeof M==="function")M(G)}}})}))};var J_={};R(J_,{Select:()=>C_});var C_=(f)=>{let{class:_,label:M,items:E,value:T,...A}=f,L=Tag("select",{...A,class:B("select select-bordered w-full",_),value:T},For(()=>P(E)||[],(W)=>Tag("option",{value:W.value,$selected:()=>String(P(T))===String(W.value)},W.label),(W)=>W.value));if(!M)return L;return Tag("label",{class:"fieldset-label flex flex-col gap-1"},[Tag("span",{},M),L])};var B_={};R(B_,{Stack:()=>P_});var P_=(f,_)=>{let{class:M,...E}=f;return Tag("div",{...E,class:B("stack",M)},_)};var Q_={};R(Q_,{Stat:()=>G_});var G_=(f)=>{let{class:_,icon:M,label:E,value:T,desc:A,...L}=f;return Tag("div",{...L,class:B("stat",_)},[M&&Tag("div",{class:"stat-figure text-secondary"},M),E&&Tag("div",{class:"stat-title"},E),Tag("div",{class:"stat-value"},()=>P(T)??T),A&&Tag("div",{class:"stat-desc"},A)])};var Z_={};R(Z_,{Swap:()=>X_});var X_=(f)=>{let{class:_,value:M,on:E,off:T,...A}=f;return Tag("label",{...A,class:B("swap",_)},[Tag("input",{type:"checkbox",checked:()=>P(M),onclick:(L)=>{if(typeof M==="function")M(L.target.checked)}}),Tag("div",{class:"swap-on"},E),Tag("div",{class:"swap-off"},T)])};var Y_={};R(Y_,{Table:()=>S_});var S_=(f)=>{let{class:_,items:M=[],columns:E=[],keyFn:T,zebra:A=!1,pinRows:L=!1,empty:W=O("nodata")(),...C}=f,J=()=>{let G=P(A)?"table-zebra":"",Y=P(L)?"table-pin-rows":"";return B("table",_,G,Y)},Q=T||((G,Y)=>G.id||Y);return Tag("div",{class:"overflow-x-auto w-full bg-base-100 rounded-box border border-base-300"},[Tag("table",{...C,class:J},[Tag("thead",{},[Tag("tr",{},E.map((G)=>Tag("th",{class:G.class||""},G.label)))]),Tag("tbody",{},[For(M,(G,Y)=>{let Z=()=>{let X=P(M),q=Q(G,Y);return X.find((z,d)=>Q(z,d)===q)||G};return Tag("tr",{class:"hover"},E.map((X)=>{let q=()=>{let z=Z();if(X.render)return X.render(z,Y);return P(z[X.key])};return Tag("td",{class:X.class||""},[q])}))},Q),If(()=>P(M).length===0,()=>Tag("tr",{},[Tag("td",{colspan:E.length,class:"text-center p-10 opacity-50"},[P(W)])]))])])])};var K_={};R(K_,{Tabs:()=>q_});var q_=(f)=>{let{items:_,class:M,...E}=f,T=typeof _==="function"?_:()=>_||[],A=$(0);return Watch(()=>{let L=T().findIndex((W)=>P(W.active)===!0);if(L!==-1&&L!==A())A(L)}),Tag("div",{...E,class:"w-full"},[Tag("div",{role:"tablist",class:B("tabs",M||"tabs-box")},()=>{return T().map((W,C)=>{let J=()=>A()===C,Q=Tag("button",{role:"tab",class:()=>B("tab",J()?"tab-active":""),onclick:(G)=>{if(G.preventDefault(),!P(W.disabled)){if(W.onclick)W.onclick();A(C)}}});return Watch(()=>{let G=P(W.label);if(G instanceof Node)Q.replaceChildren(G);else Q.textContent=String(G)}),Q})}),Tag("div",{class:"tab-panels"},()=>{return T().map((L,W)=>{let C=()=>A()===W;return Tag("div",{role:"tabpanel",class:"tab-content bg-base-100 border-base-300 p-6",style:()=>C()?"display: block":"display: none"},[()=>typeof L.content==="function"?L.content():L.content])})})])};var z_={};R(z_,{Timeline:()=>R_});var R_=(f)=>{let{class:_,items:M=[],vertical:E=!0,compact:T=!1,...A}=f,L={info:"icon-[lucide--info]",success:"icon-[lucide--check-circle]",warning:"icon-[lucide--alert-triangle]",error:"icon-[lucide--alert-circle]"};return Tag("ul",{...A,class:()=>B(`timeline ${P(E)?"timeline-vertical":"timeline-horizontal"} ${P(T)?"timeline-compact":""}`,_)},()=>{let W=(typeof M==="function"?M():M)||[];return W.map((C,J)=>{let Q=J===0,G=J===W.length-1,Y=C.type||"success",Z=()=>P(C.completed),X=()=>J>0&&P(W[J-1].completed),q=(z)=>typeof z==="function"?z():z;return Tag("li",{class:"flex-1"},[!Q?Tag("hr",{class:()=>X()?"bg-primary":""}):null,Tag("div",{class:"timeline-start"},[()=>q(C.title)]),Tag("div",{class:"timeline-middle"},[()=>C.icon?D(C.icon):D(L[Y]||L.success)]),Tag("div",{class:"timeline-end timeline-box shadow-sm"},[()=>q(C.detail)]),!G?Tag("hr",{class:()=>Z()?"bg-primary":""}):null])})})};var N_={};R(N_,{Toast:()=>D_});var D_=(f,_="alert-success",M=3500)=>{let E=document.getElementById("sigpro-toast-container");if(!E)E=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(E);let T=Tag("div",{style:"display: contents"});E.appendChild(T);let A,L=()=>{clearTimeout(A);let J=T.firstElementChild;if(J&&!J.classList.contains("opacity-0"))J.classList.add("translate-x-full","opacity-0"),setTimeout(()=>{if(C.destroy(),T.remove(),!E.hasChildNodes())E.remove()},300);else C.destroy(),T.remove()},W=()=>{let J=D("icon-[lucide--x]"),Q=Tag("div",{class:`alert alert-soft ${_} shadow-lg transition-all duration-300 translate-x-10 opacity-0 pointer-events-auto`},[Tag("span",{},[typeof f==="function"?f():f]),b({class:"btn-xs btn-circle btn-ghost",onclick:L},J)]);return requestAnimationFrame(()=>Q.classList.remove("translate-x-10","opacity-0")),Q},C=Mount(W,T);if(M>0)A=setTimeout(L,M);return L};var k_={};R(k_,{Tooltip:()=>V_});var V_=(f,_)=>Tag("div",{...f,class:()=>B("tooltip w-full",f.class),"data-tip":f.tip},_);var H_={...Yf,...Kf,...Df,...Vf,...kf,...Uf,...wf,...hf,...xf,...vf,...uf,...bf,...df,...rf,...Rf,...of,...sf,...af,...f_,...M_,...T_,...L_,...W_,...J_,...B_,...Q_,...Z_,...Y_,...K_,...z_,...N_,...k_},b_={...H_,install:(f=window)=>{Object.entries(H_).forEach(([_,M])=>{f[_]=M}),console.log("\uD83D\uDE80 SigproUI")}};if(typeof window<"u")Object.entries(_f).forEach(([f,_])=>{Object.defineProperty(window,f,{value:_,writable:!1,configurable:!0,enumerable:!0})}),Object.entries(ff).forEach(([f,_])=>{Object.defineProperty(window,f,{value:_,writable:!1,configurable:!0,enumerable:!0})}),Object.defineProperty(window,"tt",{value:O,writable:!1,configurable:!0,enumerable:!0}),Object.defineProperty(window,"SigProUI",{value:{..._f,Utils:ff,tt:O},writable:!1,configurable:!0,enumerable:!0}),console.log("\uD83C\uDFA8 SigProUI ready");})(); diff --git a/docs/sigpro.css b/docs/sigpro.css index 9cf471f..81c0e44 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-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-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}.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-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-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-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}.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{background-color:var(--color-base-100)}.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}.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,)}.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}}.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-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-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-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}.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}.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%}.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-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}.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}.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-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-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-96{max-height:calc(var(--spacing) * 96)}.min-h-0{min-height:calc(var(--spacing) * 0)}.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-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-\[4rem\]{min-width:4rem}.min-w-\[48px\]{min-width:48px}.min-w-\[500px\]{min-width:500px}.min-w-\[600px\]{min-width:600px}.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{background-color:var(--color-base-100)}.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}.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)}.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-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,)}.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}}.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}.floating-label span{color:oklch(30% .01 260);font-size:1.2rem;transition:all .2s}.floating-label:focus-within span{color:oklch(25% .02 260);font-size:1.2rem}.floating-label:has(input:not(:placeholder-shown)) span{color:oklch(28% .01 260);font-size:1.2rem}@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-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/Checkbox.js b/src/components/Checkbox.js index 41f05c9..1368870 100644 --- a/src/components/Checkbox.js +++ b/src/components/Checkbox.js @@ -1,5 +1,4 @@ // components/Checkbox.js -// import { Tag } from "../sigpro.js"; import { val, ui } from "../core/utils.js"; /** @@ -14,7 +13,7 @@ import { val, ui } from "../core/utils.js"; * - label, label-text, cursor-pointer */ export const Checkbox = (props) => { - const { class: className, value, tooltip, toggle, label, ...rest } = props; + const { class: className, value, toggle, label, ...rest } = props; const checkEl = Tag("input", { ...rest, @@ -23,10 +22,8 @@ export const Checkbox = (props) => { checked: value }); - const layout = Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ + return Tag("label", { class: "label cursor-pointer justify-start gap-3" }, [ checkEl, label ? Tag("span", { class: "label-text" }, label) : null, ]); - - return tooltip ? Tag("div", { class: "tooltip", "data-tip": tooltip }, layout) : layout; }; \ No newline at end of file diff --git a/src/components/Input.js b/src/components/Input.js index b8ab954..8107256 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -1,15 +1,15 @@ // components/Input.js -// import { $, Tag, Watch } from "../sigpro.js"; import { val, ui, getIcon } from "../core/utils.js"; /** - * Input component - Solo el input con ícono integrado a la izquierda + * Input component - Input con ícono integrado, toggle password, validación y floating label opcional * * daisyUI classes used: * - input, input-bordered, input-ghost, input-primary, input-secondary * - input-accent, input-info, input-success, input-warning, input-error * - input-xs, input-sm, input-md, input-lg - * - btn, btn-ghost, btn-xs, btn-sm, btn-md, btn-circle, opacity-50, hover:opacity-100 + * - floating-label + * - btn, btn-ghost, btn-xs, btn-sm, btn-md, btn-circle */ export const Input = (props) => { const { @@ -20,8 +20,8 @@ export const Input = (props) => { oninput, placeholder, disabled, - size, validate, + label, ...rest } = props; @@ -74,7 +74,7 @@ export const Input = (props) => { const inputElement = Tag("input", { ...rest, type: () => (isPassword ? (visible() ? "text" : "password") : type), - placeholder: placeholder || " ", + placeholder: placeholder || (label ? " " : placeholder), class: inputClasses, value: value, oninput: handleInput, @@ -82,29 +82,32 @@ export const Input = (props) => { "aria-invalid": () => hasError() ? "true" : "false", }); - return Tag( - "div", - { class: "relative w-full" }, - () => [ - inputElement, - leftIcon ? Tag("div", { - class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60", - }, leftIcon) : null, - isPassword ? Tag("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) => { - e.preventDefault(); - visible(!visible()); - } - }, () => getPasswordIcon()) : null, - Tag("div", { - class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0", - }, () => hasError() ? errorMsg() : null), - ] - ); + const inputContent = () => [ + inputElement, + leftIcon ? Tag("div", { + class: "absolute left-3 inset-y-0 flex items-center pointer-events-none text-base-content/60", + }, leftIcon) : null, + isPassword ? Tag("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) => { + e.preventDefault(); + visible(!visible()); + } + }, () => getPasswordIcon()) : null, + Tag("div", { + class: "text-error text-xs mt-1 px-3 absolute -bottom-5 left-0", + }, () => hasError() ? errorMsg() : null), + ]; + + // Con floating label - añadir w-full para que ocupe todo el ancho + if (label) { + return Tag("label", { class: ui("floating-label w-full", className) }, () => [ + Tag("div", { class: "relative w-full" }, inputContent), + Tag("span", {}, val(label)) + ]); + } + + // Sin label + return Tag("div", { class: "relative w-full" }, inputContent); }; \ No newline at end of file diff --git a/src/components/Label.js b/src/components/Label.js index 2efb407..eb0530c 100644 --- a/src/components/Label.js +++ b/src/components/Label.js @@ -1,28 +1,18 @@ // components/Label.js -// import { $, Tag } from "../sigpro.js"; import { ui, val } from "../core/utils.js"; -/** - * Label component - * - * daisyUI classes used: - * - label - * - floating-label - */ export const Label = (props) => { - const { children, value, floating = false, error, required, class: className, ...rest } = props; + const { children, value, floating = false, class: className, ...rest } = props; if (floating) { - return Tag("label", { class: ui("floating-label w-full", className), ...rest }, () => [ - value ? Tag("span", {}, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null, + return Tag("label", { class: ui("floating-label", className), ...rest }, () => [ + typeof children === 'function' ? children() : children, + value ? Tag("span", {}, val(value)) : null ]); } - return Tag("label", { class: ui("input w-full", className), ...rest }, () => [ - value ? Tag("span", { class: "label" }, value) : null, - children, - error ? Tag("span", { class: "text-error text-xs" }, val(error)) : null, + return Tag("label", { class: ui("label", className), ...rest }, () => [ + value ? Tag("span", { class: "label-text" }, val(value)) : null, + typeof children === 'function' ? children() : children ]); }; \ No newline at end of file diff --git a/src/components/Tooltip.js b/src/components/Tooltip.js index 4047f1c..b1a53b0 100644 --- a/src/components/Tooltip.js +++ b/src/components/Tooltip.js @@ -14,6 +14,6 @@ import { ui } from "../core/utils.js"; export const Tooltip = (props, children) => Tag("div", { ...props, - class: () => ui('tooltip', props.class), + class: () => ui('tooltip w-full', props.class), "data-tip": props.tip, }, children); \ No newline at end of file diff --git a/src/css/sigpro.css b/src/css/sigpro.css index cc49e2f..359099f 100644 --- a/src/css/sigpro.css +++ b/src/css/sigpro.css @@ -94,3 +94,19 @@ } } } + +.floating-label span { + color: oklch(30% 0.01 260); /* Gris más oscuro (30% es más oscuro que 45%) */ + font-size: 1.2rem; /* text-base: más grande que 0.875rem */ + transition: all 0.2s ease; +} + +.floating-label:focus-within span { + color: oklch(25% 0.02 260); /* Aún más oscuro al enfocar */ + font-size: 1.2rem; /* Mantiene el mismo tamaño */ +} + +.floating-label:has(input:not(:placeholder-shown)) span { + color: oklch(28% 0.01 260); /* Gris oscuro cuando tiene valor */ + font-size: 1.2rem; /* Mantiene el mismo tamaño */ +} \ No newline at end of file