@lumiapassport/ui-kit 1.3.4 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -3556,7 +3556,7 @@ __export(index_exports, {
3556
3556
  module.exports = __toCommonJS(index_exports);
3557
3557
 
3558
3558
  // src/styles/built.css
3559
- var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope{background-color:hsl(var(--background));color:hsl(var(--foreground))}.lumia-scope,.lumia-scope *,.lumia-scope :after,.lumia-scope :before{box-sizing:border-box;border-width:0;border-style:solid}.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font:inherit;color:inherit;margin:0;background-color:transparent}.lumia-scope button{font:inherit;margin:0}.lumia-scope input[type=search]::-webkit-search-cancel-button,.lumia-scope input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.lumia-scope,.lumia-scope *,.lumia-scope .lumia-heading,.lumia-scope [data-radix-dialog-content],.lumia-scope [data-radix-dialog-content] *,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-heading{font-weight:700}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .left-\\[50\\%\\]{left:50%}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[50\\%\\]{top:50%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[2147483646\\]{z-index:2147483646}.lumia-scope .z-\\[2147483647\\]{z-index:2147483647}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .-m-px{margin:-1px}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[500px\\]{max-width:500px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1,.lumia-scope .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.lumia-scope .translate-x-\\[-50\\%\\],.lumia-scope .translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis}.lumia-scope .truncate,.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:var(--radius)}.lumia-scope .rounded-md{border-radius:calc(var(--radius) - 2px)}.lumia-scope .rounded-sm{border-radius:calc(var(--radius) - 4px)}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-border{border-color:hsl(var(--border))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-input{border-color:hsl(var(--input))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-900\\/40{border-color:rgba(124,45,18,.4)}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .\\!bg-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#2456f0\\]{--tw-bg-opacity:1;background-color:rgb(36 86 240/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#db2777\\]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#fde2f3\\]{--tw-bg-opacity:1;background-color:rgb(253 226 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900\\/30{background-color:rgba(120,53,15,.3)}.lumia-scope .bg-background{background-color:hsl(var(--background))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/50{background-color:rgba(0,0,0,.5)}.lumia-scope .bg-black\\/80{background-color:rgba(0,0,0,.8)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50\\/50{background-color:rgba(239,246,255,.5)}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-card{background-color:hsl(var(--card))}.lumia-scope .bg-destructive{background-color:hsl(var(--destructive))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800\\/50{background-color:rgba(31,41,55,.5)}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900\\/40{background-color:rgba(17,24,39,.4)}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900\\/20{background-color:rgba(124,45,18,.2)}.lumia-scope .bg-orange-900\\/30{background-color:rgba(124,45,18,.3)}.lumia-scope .bg-orange-900\\/40{background-color:rgba(124,45,18,.4)}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-primary{background-color:hsl(var(--primary))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50\\/50{background-color:rgba(250,245,255,.5)}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-secondary{background-color:hsl(var(--secondary))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50\\/50{background-color:rgba(240,249,255,.5)}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-card-foreground{color:hsl(var(--card-foreground))}.lumia-scope .text-destructive{color:hsl(var(--destructive))}.lumia-scope .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.lumia-scope .text-foreground{color:hsl(var(--foreground))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-muted-foreground{color:hsl(var(--muted-foreground))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-400\\/80{color:rgba(251,146,60,.8)}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-primary{color:hsl(var(--primary))}.lumia-scope .text-primary-foreground{color:hsl(var(--primary-foreground))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline{outline-style:solid}.lumia-scope .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .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)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .file\\:mr-4::file-selector-button{margin-right:1rem}.lumia-scope .file\\:rounded::file-selector-button{border-radius:.25rem}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-gray-700::file-selector-button{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-purple-50::file-selector-button{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.lumia-scope .file\\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:font-semibold::file-selector-button{font-weight:600}.lumia-scope .file\\:text-gray-200::file-selector-button{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .file\\:text-purple-700::file-selector-button{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#1e49d8\\]:hover{--tw-bg-opacity:1;background-color:rgb(30 73 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#be185d\\]:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#f7c1df\\]:hover{--tw-bg-opacity:1;background-color:rgb(247 193 223/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-900\\/30:hover{background-color:rgba(20,83,45,.3)}.lumia-scope .hover\\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-orange-900\\/60:hover{background-color:rgba(124,45,18,.6)}.lumia-scope .hover\\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-primary\\/80:hover{background-color:hsl(var(--primary)/.8)}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:from-purple-600:hover{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.lumia-scope .hover\\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:no-underline:hover{text-decoration-line:none}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:bg-gray-600::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:file\\:bg-purple-100::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus-visible\\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .disabled\\:pointer-events-none:disabled{pointer-events:none}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}@media (min-width:640px){.lumia-scope .sm\\:mt-0{margin-top:0}.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:rounded-lg{border-radius:var(--radius)}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .dark\\:focus\\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:size-4 svg){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
3559
+ var built_default = '.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.lumia-scope{background-color:hsl(var(--background));color:hsl(var(--foreground))}.lumia-scope,.lumia-scope *,.lumia-scope :after,.lumia-scope :before{box-sizing:border-box;border-width:0;border-style:solid}.lumia-scope input,.lumia-scope select,.lumia-scope textarea{font:inherit;color:inherit;margin:0;background-color:transparent}.lumia-scope button{font:inherit;margin:0}.lumia-scope input[type=search]::-webkit-search-cancel-button,.lumia-scope input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.lumia-scope,.lumia-scope *,.lumia-scope .lumia-heading,.lumia-scope [data-radix-dialog-content],.lumia-scope [data-radix-dialog-content] *,.lumia-scope h1,.lumia-scope h2,.lumia-scope h3,.lumia-scope h4,.lumia-scope h5,.lumia-scope h6{font-family:system-ui,-apple-system,sans-serif!important}.lumia-scope .lumia-heading{font-weight:700}.lumia-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lumia-scope .pointer-events-none{pointer-events:none}.lumia-scope .pointer-events-auto{pointer-events:auto}.lumia-scope .visible{visibility:visible}.lumia-scope .collapse{visibility:collapse}.lumia-scope .static{position:static}.lumia-scope .fixed{position:fixed}.lumia-scope .absolute{position:absolute}.lumia-scope .relative{position:relative}.lumia-scope .inset-0{inset:0}.lumia-scope .inset-y-0{top:0;bottom:0}.lumia-scope .-bottom-1{bottom:-.25rem}.lumia-scope .-right-1{right:-.25rem}.lumia-scope .bottom-full{bottom:100%}.lumia-scope .left-1{left:.25rem}.lumia-scope .left-1\\/2{left:50%}.lumia-scope .left-3{left:.75rem}.lumia-scope .left-4{left:1rem}.lumia-scope .left-\\[50\\%\\]{left:50%}.lumia-scope .right-2{right:.5rem}.lumia-scope .right-3{right:.75rem}.lumia-scope .right-4{right:1rem}.lumia-scope .top-1{top:.25rem}.lumia-scope .top-1\\/2{top:50%}.lumia-scope .top-3{top:.75rem}.lumia-scope .top-4{top:1rem}.lumia-scope .top-\\[50\\%\\]{top:50%}.lumia-scope .z-10{z-index:10}.lumia-scope .z-50{z-index:50}.lumia-scope .z-\\[2147483646\\]{z-index:2147483646}.lumia-scope .z-\\[2147483647\\]{z-index:2147483647}.lumia-scope .z-\\[60\\]{z-index:60}.lumia-scope .-m-px{margin:-1px}.lumia-scope .-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lumia-scope .mx-auto{margin-left:auto;margin-right:auto}.lumia-scope .my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lumia-scope .-mt-5{margin-top:-1.25rem}.lumia-scope .mb-1{margin-bottom:.25rem}.lumia-scope .mb-2{margin-bottom:.5rem}.lumia-scope .mb-3{margin-bottom:.75rem}.lumia-scope .mb-4{margin-bottom:1rem}.lumia-scope .mb-6{margin-bottom:1.5rem}.lumia-scope .mb-8{margin-bottom:2rem}.lumia-scope .ml-1{margin-left:.25rem}.lumia-scope .ml-2{margin-left:.5rem}.lumia-scope .ml-4{margin-left:1rem}.lumia-scope .ml-auto{margin-left:auto}.lumia-scope .mr-1{margin-right:.25rem}.lumia-scope .mr-2{margin-right:.5rem}.lumia-scope .mt-0{margin-top:0}.lumia-scope .mt-0\\.5{margin-top:.125rem}.lumia-scope .mt-1{margin-top:.25rem}.lumia-scope .mt-2{margin-top:.5rem}.lumia-scope .mt-3{margin-top:.75rem}.lumia-scope .mt-4{margin-top:1rem}.lumia-scope .mt-6{margin-top:1.5rem}.lumia-scope .block{display:block}.lumia-scope .inline-block{display:inline-block}.lumia-scope .inline{display:inline}.lumia-scope .flex{display:flex}.lumia-scope .inline-flex{display:inline-flex}.lumia-scope .table{display:table}.lumia-scope .grid{display:grid}.lumia-scope .contents{display:contents}.lumia-scope .hidden{display:none}.lumia-scope .size-4{width:1rem;height:1rem}.lumia-scope .\\!h-5{height:1.25rem!important}.lumia-scope .\\!h-6{height:1.5rem!important}.lumia-scope .h-10{height:2.5rem}.lumia-scope .h-11{height:2.75rem}.lumia-scope .h-12{height:3rem}.lumia-scope .h-14{height:3.5rem}.lumia-scope .h-16{height:4rem}.lumia-scope .h-2{height:.5rem}.lumia-scope .h-2\\.5{height:.625rem}.lumia-scope .h-3{height:.75rem}.lumia-scope .h-3\\.5{height:.875rem}.lumia-scope .h-4{height:1rem}.lumia-scope .h-48{height:12rem}.lumia-scope .h-5{height:1.25rem}.lumia-scope .h-6{height:1.5rem}.lumia-scope .h-8{height:2rem}.lumia-scope .h-9{height:2.25rem}.lumia-scope .h-full{height:100%}.lumia-scope .h-px{height:1px}.lumia-scope .max-h-24{max-height:6rem}.lumia-scope .max-h-96{max-height:24rem}.lumia-scope .max-h-\\[60vh\\]{max-height:60vh}.lumia-scope .max-h-\\[80vh\\]{max-height:80vh}.lumia-scope .\\!w-5{width:1.25rem!important}.lumia-scope .\\!w-6{width:1.5rem!important}.lumia-scope .w-10{width:2.5rem}.lumia-scope .w-12{width:3rem}.lumia-scope .w-16{width:4rem}.lumia-scope .w-2{width:.5rem}.lumia-scope .w-2\\.5{width:.625rem}.lumia-scope .w-3{width:.75rem}.lumia-scope .w-3\\.5{width:.875rem}.lumia-scope .w-4{width:1rem}.lumia-scope .w-48{width:12rem}.lumia-scope .w-5{width:1.25rem}.lumia-scope .w-6{width:1.5rem}.lumia-scope .w-8{width:2rem}.lumia-scope .w-9{width:2.25rem}.lumia-scope .w-full{width:100%}.lumia-scope .w-px{width:1px}.lumia-scope .min-w-0{min-width:0}.lumia-scope .min-w-16{min-width:4rem}.lumia-scope .min-w-24{min-width:6rem}.lumia-scope .min-w-32{min-width:8rem}.lumia-scope .min-w-\\[280px\\]{min-width:280px}.lumia-scope .max-w-2xl{max-width:42rem}.lumia-scope .max-w-\\[380px\\]{max-width:380px}.lumia-scope .max-w-\\[400px\\]{max-width:400px}.lumia-scope .max-w-\\[680px\\]{max-width:680px}.lumia-scope .max-w-full{max-width:100%}.lumia-scope .max-w-lg{max-width:32rem}.lumia-scope .max-w-md{max-width:28rem}.lumia-scope .max-w-sm{max-width:24rem}.lumia-scope .flex-1{flex:1 1 0%}.lumia-scope .flex-shrink{flex-shrink:1}.lumia-scope .flex-shrink-0,.lumia-scope .shrink-0{flex-shrink:0}.lumia-scope .border-collapse{border-collapse:collapse}.lumia-scope .-translate-x-1{--tw-translate-x:-0.25rem}.lumia-scope .-translate-x-1,.lumia-scope .-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.lumia-scope .-translate-y-1{--tw-translate-y:-0.25rem}.lumia-scope .-translate-y-1,.lumia-scope .-translate-y-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.lumia-scope .translate-x-\\[-50\\%\\]{--tw-translate-x:-50%}.lumia-scope .translate-x-\\[-50\\%\\],.lumia-scope .translate-y-\\[-50\\%\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .translate-y-\\[-50\\%\\]{--tw-translate-y:-50%}.lumia-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.lumia-scope .animate-spin{animation:spin 1s linear infinite}.lumia-scope .cursor-not-allowed{cursor:not-allowed}.lumia-scope .cursor-pointer{cursor:pointer}.lumia-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.lumia-scope .resize{resize:both}.lumia-scope .list-inside{list-style-position:inside}.lumia-scope .list-disc{list-style-type:disc}.lumia-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lumia-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lumia-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lumia-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lumia-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lumia-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lumia-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lumia-scope .flex-row{flex-direction:row}.lumia-scope .flex-col{flex-direction:column}.lumia-scope .flex-col-reverse{flex-direction:column-reverse}.lumia-scope .flex-wrap{flex-wrap:wrap}.lumia-scope .items-start{align-items:flex-start}.lumia-scope .items-center{align-items:center}.lumia-scope .justify-start{justify-content:flex-start}.lumia-scope .justify-end{justify-content:flex-end}.lumia-scope .justify-center{justify-content:center}.lumia-scope .justify-between{justify-content:space-between}.lumia-scope .gap-0{gap:0}.lumia-scope .gap-1{gap:.25rem}.lumia-scope .gap-2{gap:.5rem}.lumia-scope .gap-3{gap:.75rem}.lumia-scope .gap-4{gap:1rem}.lumia-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope :is(.space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.lumia-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.lumia-scope .overflow-auto{overflow:auto}.lumia-scope .overflow-hidden{overflow:hidden}.lumia-scope .overflow-visible{overflow:visible}.lumia-scope .overflow-y-auto{overflow-y:auto}.lumia-scope .truncate{overflow:hidden;text-overflow:ellipsis}.lumia-scope .truncate,.lumia-scope .whitespace-nowrap{white-space:nowrap}.lumia-scope .whitespace-pre-line{white-space:pre-line}.lumia-scope .whitespace-pre-wrap{white-space:pre-wrap}.lumia-scope .break-words{overflow-wrap:break-word}.lumia-scope .break-all{word-break:break-all}.lumia-scope .rounded{border-radius:.25rem}.lumia-scope .rounded-2xl{border-radius:1rem}.lumia-scope .rounded-3xl{border-radius:1.5rem}.lumia-scope .rounded-full{border-radius:9999px}.lumia-scope .rounded-lg{border-radius:var(--radius)}.lumia-scope .rounded-md{border-radius:calc(var(--radius) - 2px)}.lumia-scope .rounded-sm{border-radius:calc(var(--radius) - 4px)}.lumia-scope .rounded-xl{border-radius:.75rem}.lumia-scope .border{border-width:1px}.lumia-scope .border-0{border-width:0}.lumia-scope .border-2{border-width:2px}.lumia-scope .border-b{border-bottom-width:1px}.lumia-scope .border-b-2{border-bottom-width:2px}.lumia-scope .border-t{border-top-width:1px}.lumia-scope .border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity,1))}.lumia-scope .border-amber-900\\/60{border-color:rgba(120,53,15,.6)}.lumia-scope .border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.lumia-scope .border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.lumia-scope .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.lumia-scope .border-blue-800\\/60{border-color:rgba(30,64,175,.6)}.lumia-scope .border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity,1))}.lumia-scope .border-blue-900\\/40{border-color:rgba(30,58,138,.4)}.lumia-scope .border-blue-900\\/60{border-color:rgba(30,58,138,.6)}.lumia-scope .border-border{border-color:hsl(var(--border))}.lumia-scope .border-current{border-color:currentColor}.lumia-scope .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.lumia-scope .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.lumia-scope .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.lumia-scope .border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.lumia-scope .border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.lumia-scope .border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.lumia-scope .border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.lumia-scope .border-green-900\\/50{border-color:rgba(20,83,45,.5)}.lumia-scope .border-green-900\\/60{border-color:rgba(20,83,45,.6)}.lumia-scope .border-input{border-color:hsl(var(--input))}.lumia-scope .border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity,1))}.lumia-scope .border-orange-800\\/60{border-color:rgba(154,52,18,.6)}.lumia-scope .border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.lumia-scope .border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity,1))}.lumia-scope .border-purple-800\\/60{border-color:rgba(107,33,168,.6)}.lumia-scope .border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity,1))}.lumia-scope .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.lumia-scope .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.lumia-scope .border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity,1))}.lumia-scope .border-red-900\\/60{border-color:rgba(127,29,29,.6)}.lumia-scope .border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity,1))}.lumia-scope .border-sky-800\\/60{border-color:rgba(7,89,133,.6)}.lumia-scope .border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity,1))}.lumia-scope .border-transparent{border-color:transparent}.lumia-scope .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.lumia-scope .border-t-transparent{border-top-color:transparent}.lumia-scope .\\!bg-transparent{background-color:transparent!important}.lumia-scope .bg-\\[\\#0088cc\\]{--tw-bg-opacity:1;background-color:rgb(0 136 204/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#2456f0\\]{--tw-bg-opacity:1;background-color:rgb(36 86 240/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#db2777\\]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-\\[\\#fde2f3\\]{--tw-bg-opacity:1;background-color:rgb(253 226 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity,1))}.lumia-scope .bg-amber-950\\/50{background-color:rgba(69,26,3,.5)}.lumia-scope .bg-background{background-color:hsl(var(--background))}.lumia-scope .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.lumia-scope .bg-black\\/50{background-color:rgba(0,0,0,.5)}.lumia-scope .bg-black\\/80{background-color:rgba(0,0,0,.8)}.lumia-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-50\\/50{background-color:rgba(239,246,255,.5)}.lumia-scope .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-900\\/20{background-color:rgba(30,58,138,.2)}.lumia-scope .bg-blue-900\\/30{background-color:rgba(30,58,138,.3)}.lumia-scope .bg-blue-900\\/40{background-color:rgba(30,58,138,.4)}.lumia-scope .bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity,1))}.lumia-scope .bg-blue-950\\/50{background-color:rgba(23,37,84,.5)}.lumia-scope .bg-blue-950\\/60{background-color:rgba(23,37,84,.6)}.lumia-scope .bg-card{background-color:hsl(var(--card))}.lumia-scope .bg-destructive{background-color:hsl(var(--destructive))}.lumia-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-800\\/50{background-color:rgba(31,41,55,.5)}.lumia-scope .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.lumia-scope .bg-gray-900\\/40{background-color:rgba(17,24,39,.4)}.lumia-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-900\\/30{background-color:rgba(20,83,45,.3)}.lumia-scope .bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.lumia-scope .bg-green-950\\/50{background-color:rgba(5,46,22,.5)}.lumia-scope .bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-800\\/50{background-color:rgba(154,52,18,.5)}.lumia-scope .bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-900\\/30{background-color:rgba(124,45,18,.3)}.lumia-scope .bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity,1))}.lumia-scope .bg-orange-950\\/80{background-color:rgba(67,20,7,.8)}.lumia-scope .bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity,1))}.lumia-scope .bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.lumia-scope .bg-primary{background-color:hsl(var(--primary))}.lumia-scope .bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-50\\/50{background-color:rgba(250,245,255,.5)}.lumia-scope .bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity,1))}.lumia-scope .bg-purple-950\\/60{background-color:rgba(59,7,100,.6)}.lumia-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-900\\/30{background-color:rgba(127,29,29,.3)}.lumia-scope .bg-red-900\\/40{background-color:rgba(127,29,29,.4)}.lumia-scope .bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.lumia-scope .bg-red-950\\/50{background-color:rgba(69,10,10,.5)}.lumia-scope .bg-secondary{background-color:hsl(var(--secondary))}.lumia-scope .bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-50\\/50{background-color:rgba(240,249,255,.5)}.lumia-scope .bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity,1))}.lumia-scope .bg-sky-950\\/60{background-color:rgba(8,47,73,.6)}.lumia-scope .bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.lumia-scope .bg-transparent{background-color:transparent}.lumia-scope .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.lumia-scope .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.lumia-scope .bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.lumia-scope .from-purple-100{--tw-gradient-from:#f3e8ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(243,232,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .from-purple-600{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.lumia-scope .to-blue-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.lumia-scope .to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.lumia-scope .object-contain{-o-object-fit:contain;object-fit:contain}.lumia-scope .object-cover{-o-object-fit:cover;object-fit:cover}.lumia-scope .p-0{padding:0}.lumia-scope .p-1{padding:.25rem}.lumia-scope .p-2{padding:.5rem}.lumia-scope .p-2\\.5{padding:.625rem}.lumia-scope .p-3{padding:.75rem}.lumia-scope .p-4{padding:1rem}.lumia-scope .p-5{padding:1.25rem}.lumia-scope .p-6{padding:1.5rem}.lumia-scope .p-8{padding:2rem}.lumia-scope .px-12{padding-left:3rem;padding-right:3rem}.lumia-scope .px-2{padding-left:.5rem;padding-right:.5rem}.lumia-scope .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.lumia-scope .px-3{padding-left:.75rem;padding-right:.75rem}.lumia-scope .px-4{padding-left:1rem;padding-right:1rem}.lumia-scope .px-6{padding-left:1.5rem;padding-right:1.5rem}.lumia-scope .px-8{padding-left:2rem;padding-right:2rem}.lumia-scope .py-0{padding-top:0;padding-bottom:0}.lumia-scope .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.lumia-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.lumia-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.lumia-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.lumia-scope .py-4{padding-top:1rem;padding-bottom:1rem}.lumia-scope .py-8{padding-top:2rem;padding-bottom:2rem}.lumia-scope .pb-4{padding-bottom:1rem}.lumia-scope .pl-11{padding-left:2.75rem}.lumia-scope .pr-10{padding-right:2.5rem}.lumia-scope .pr-16{padding-right:4rem}.lumia-scope .pt-0{padding-top:0}.lumia-scope .pt-2{padding-top:.5rem}.lumia-scope .pt-3{padding-top:.75rem}.lumia-scope .pt-4{padding-top:1rem}.lumia-scope .text-left{text-align:left}.lumia-scope .text-center{text-align:center}.lumia-scope .text-right{text-align:right}.lumia-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lumia-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lumia-scope .text-2xl{font-size:1.5rem;line-height:2rem}.lumia-scope .text-\\[10px\\]{font-size:10px}.lumia-scope .text-\\[11px\\]{font-size:11px}.lumia-scope .text-base{font-size:1rem;line-height:1.5rem}.lumia-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.lumia-scope .text-sm{font-size:.875rem;line-height:1.25rem}.lumia-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.lumia-scope .text-xs{font-size:.75rem;line-height:1rem}.lumia-scope .font-bold{font-weight:700}.lumia-scope .font-medium{font-weight:500}.lumia-scope .font-semibold{font-weight:600}.lumia-scope .italic{font-style:italic}.lumia-scope .leading-none{line-height:1}.lumia-scope .leading-tight{line-height:1.25}.lumia-scope .tracking-tight{letter-spacing:-.025em}.lumia-scope .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.lumia-scope .text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.lumia-scope .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.lumia-scope .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.lumia-scope .text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .text-blue-400\\/80{color:rgba(96,165,250,.8)}.lumia-scope .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.lumia-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .text-card-foreground{color:hsl(var(--card-foreground))}.lumia-scope .text-destructive{color:hsl(var(--destructive))}.lumia-scope .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.lumia-scope .text-foreground{color:hsl(var(--foreground))}.lumia-scope .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.lumia-scope .text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.lumia-scope .text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.lumia-scope .text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.lumia-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.lumia-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.lumia-scope .text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.lumia-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.lumia-scope .text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.lumia-scope .text-muted-foreground{color:hsl(var(--muted-foreground))}.lumia-scope .text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity,1))}.lumia-scope .text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.lumia-scope .text-orange-300\\/90{color:hsla(31,97%,72%,.9)}.lumia-scope .text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.lumia-scope .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.lumia-scope .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.lumia-scope .text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.lumia-scope .text-primary{color:hsl(var(--primary))}.lumia-scope .text-primary-foreground{color:hsl(var(--primary-foreground))}.lumia-scope .text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.lumia-scope .text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.lumia-scope .text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.lumia-scope .text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.lumia-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.lumia-scope .text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.lumia-scope .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.lumia-scope .text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity,1))}.lumia-scope .text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.lumia-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.lumia-scope .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.lumia-scope .underline{text-decoration-line:underline}.lumia-scope .underline-offset-4{text-underline-offset:4px}.lumia-scope .opacity-0{opacity:0}.lumia-scope .opacity-100{opacity:1}.lumia-scope .opacity-40{opacity:.4}.lumia-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.lumia-scope .shadow,.lumia-scope .shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.lumia-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.lumia-scope .shadow-lg,.lumia-scope .shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.lumia-scope .outline{outline-style:solid}.lumia-scope .ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.lumia-scope .blur{--tw-blur:blur(8px)}.lumia-scope .blur,.lumia-scope .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)}.lumia-scope .backdrop-blur{--tw-backdrop-blur:blur(8px)}.lumia-scope .backdrop-blur,.lumia-scope .backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.lumia-scope .backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lumia-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.lumia-scope .duration-200{transition-duration:.2s}.lumia-scope .\\[background\\:var\\(--lumia-bg\\)\\]{background:var(--lumia-bg)}.lumia-scope .\\[border-color\\:var\\(--lumia-border\\)\\]{border-color:var(--lumia-border)}.lumia-scope .\\[color\\:var\\(--lumia-text\\)\\]{color:var(--lumia-text)}.lumia-scope .\\[color\\:var\\(--lumia-text-muted\\)\\]{color:var(--lumia-text-muted)}.lumia-scope .\\[color\\:var\\(--lumia-text-secondary\\)\\]{color:var(--lumia-text-secondary)}.lumia-scope .file\\:mr-4::file-selector-button{margin-right:1rem}.lumia-scope .file\\:rounded::file-selector-button{border-radius:.25rem}.lumia-scope .file\\:border-0::file-selector-button{border-width:0}.lumia-scope .file\\:bg-gray-700::file-selector-button{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-purple-50::file-selector-button{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.lumia-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.lumia-scope .file\\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.lumia-scope .file\\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.lumia-scope .file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.lumia-scope .file\\:font-medium::file-selector-button{font-weight:500}.lumia-scope .file\\:font-semibold::file-selector-button{font-weight:600}.lumia-scope .file\\:text-gray-200::file-selector-button{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .file\\:text-purple-700::file-selector-button{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lumia-scope .hover\\:bg-\\[\\#0077bb\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 119 187/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#1e49d8\\]:hover{--tw-bg-opacity:1;background-color:rgb(30 73 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#be185d\\]:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-\\[\\#f7c1df\\]:hover{--tw-bg-opacity:1;background-color:rgb(247 193 223/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.lumia-scope .hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-blue-900\\/60:hover{background-color:rgba(30,58,138,.6)}.lumia-scope .hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/.9)}.lumia-scope .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-green-900\\/30:hover{background-color:rgba(20,83,45,.3)}.lumia-scope .hover\\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-orange-700\\/60:hover{background-color:rgba(194,65,12,.6)}.lumia-scope .hover\\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-primary\\/80:hover{background-color:hsl(var(--primary)/.8)}.lumia-scope .hover\\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-red-900\\/20:hover{background-color:rgba(127,29,29,.2)}.lumia-scope .hover\\:bg-red-900\\/60:hover{background-color:rgba(127,29,29,.6)}.lumia-scope .hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/.8)}.lumia-scope .hover\\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:from-purple-600:hover{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:from-purple-700:hover{--tw-gradient-from:#7e22ce var(--tw-gradient-from-position);--tw-gradient-to:rgba(126,34,206,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lumia-scope .hover\\:to-blue-700:hover{--tw-gradient-to:#1d4ed8 var(--tw-gradient-to-position)}.lumia-scope .hover\\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.lumia-scope .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.lumia-scope .hover\\:underline:hover{text-decoration-line:underline}.lumia-scope .hover\\:no-underline:hover{text-decoration-line:none}.lumia-scope .hover\\:opacity-80:hover{opacity:.8}.lumia-scope .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lumia-scope .hover\\:file\\:bg-gray-600::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .hover\\:file\\:bg-purple-100::file-selector-button:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.lumia-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus\\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity,1))}.lumia-scope .focus\\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.lumia-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.lumia-scope .focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.lumia-scope .focus-visible\\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.lumia-scope .focus-visible\\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.lumia-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.lumia-scope .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.lumia-scope .disabled\\:pointer-events-none:disabled{pointer-events:none}.lumia-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.lumia-scope .disabled\\:opacity-100:disabled{opacity:1}.lumia-scope .disabled\\:opacity-50:disabled{opacity:.5}.lumia-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}@media (min-width:640px){.lumia-scope .sm\\:mt-0{margin-top:0}.lumia-scope .sm\\:flex-row{flex-direction:row}.lumia-scope .sm\\:justify-end{justify-content:flex-end}.lumia-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.lumia-scope .sm\\:rounded-lg{border-radius:var(--radius)}.lumia-scope .sm\\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.lumia-scope .dark\\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.lumia-scope .dark\\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.lumia-scope .dark\\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.lumia-scope .dark\\:hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.lumia-scope .dark\\:focus\\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity,1))}}.lumia-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.lumia-scope :is(.\\[\\&_svg\\]\\:size-4 svg){width:1rem;height:1rem}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-5 svg){height:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!h-6 svg){height:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-5 svg){width:1.25rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:\\!w-6 svg){width:1.5rem!important}.lumia-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}';
3560
3560
 
3561
3561
  // src/context/LumiaPassportContext.tsx
3562
3562
  var import_react = require("react");
@@ -3929,7 +3929,7 @@ var rainbowTheme = {
3929
3929
 
3930
3930
  // src/internal/hooks/useTheme.ts
3931
3931
  var import_react3 = require("react");
3932
- function useTheme(configTheme) {
3932
+ function useTheme(configTheme, customColors) {
3933
3933
  const [systemTheme, setSystemTheme] = (0, import_react3.useState)("light");
3934
3934
  (0, import_react3.useEffect)(() => {
3935
3935
  if (typeof window === "undefined" || !window.matchMedia) return;
@@ -3941,43 +3941,83 @@ function useTheme(configTheme) {
3941
3941
  }, []);
3942
3942
  const resolvedTheme = (0, import_react3.useMemo)(() => configTheme === "auto" ? systemTheme : configTheme, [configTheme, systemTheme]);
3943
3943
  const isDark = resolvedTheme === "dark";
3944
+ const currentCustomColors = (0, import_react3.useMemo)(() => {
3945
+ return isDark ? customColors?.dark : customColors?.light;
3946
+ }, [isDark, customColors]);
3947
+ (0, import_react3.useEffect)(() => {
3948
+ if (typeof document === "undefined") return;
3949
+ const root = document.documentElement;
3950
+ if (currentCustomColors?.background) {
3951
+ root.style.setProperty("--lumia-bg", currentCustomColors.background);
3952
+ } else {
3953
+ root.style.removeProperty("--lumia-bg");
3954
+ }
3955
+ if (currentCustomColors?.text) {
3956
+ root.style.setProperty("--lumia-text", currentCustomColors.text);
3957
+ } else {
3958
+ root.style.removeProperty("--lumia-text");
3959
+ }
3960
+ if (currentCustomColors?.textSecondary) {
3961
+ root.style.setProperty("--lumia-text-secondary", currentCustomColors.textSecondary);
3962
+ } else {
3963
+ root.style.removeProperty("--lumia-text-secondary");
3964
+ }
3965
+ if (currentCustomColors?.textMuted) {
3966
+ root.style.setProperty("--lumia-text-muted", currentCustomColors.textMuted);
3967
+ } else {
3968
+ root.style.removeProperty("--lumia-text-muted");
3969
+ }
3970
+ if (currentCustomColors?.border) {
3971
+ root.style.setProperty("--lumia-border", currentCustomColors.border);
3972
+ } else {
3973
+ root.style.removeProperty("--lumia-border");
3974
+ }
3975
+ }, [currentCustomColors]);
3944
3976
  const themeClasses = (0, import_react3.useMemo)(
3945
- () => ({
3946
- bg: isDark ? "bg-gray-900" : "bg-white",
3947
- // Alias for modalBg for backwards compatibility
3948
- modalBg: isDark ? "bg-gray-900" : "bg-white",
3949
- titleText: isDark ? "text-white" : "text-gray-900",
3950
- text: isDark ? "text-white" : "text-gray-900",
3951
- // Alias for titleText
3952
- bodyText: isDark ? "text-gray-300" : "text-gray-600",
3953
- mutedText: isDark ? "text-gray-400" : "text-gray-500",
3954
- linkText: isDark ? "text-gray-200 hover:text-blue-400" : "text-gray-700 hover:text-blue-600",
3955
- inputBg: isDark ? "bg-gray-700 border-gray-600" : "bg-white border-gray-300",
3956
- inputText: isDark ? "text-white placeholder:text-gray-400" : "text-gray-900 placeholder:text-gray-400",
3957
- // Primary CTA (Passkey sign-in) — brighter blue + hover
3958
- primaryBtn: isDark ? "bg-[#2456f0] hover:bg-[#1e49d8] text-white" : "bg-[#2456f0] hover:bg-[#1e49d8] text-white",
3959
- // Neutral secondary to avoid unintended pink accents
3960
- secondaryBtn: isDark ? "bg-gray-700 hover:bg-gray-600 text-white" : "bg-gray-100 hover:bg-gray-200 text-gray-700",
3961
- // Pink CTA used for email Continue like in old design
3962
- ctaBtn: isDark ? "bg-[#db2777] hover:bg-[#be185d] text-white" : "bg-[#fde2f3] hover:bg-[#f7c1df] text-gray-600",
3963
- // Outline buttons (Create Passkey) subtle hover
3964
- outlineBtn: isDark ? "bg-gray-700 border-gray-600 hover:bg-gray-600 text-gray-200" : "bg-white border-gray-200 hover:bg-gray-100 text-gray-700",
3965
- actionBtn: isDark ? "bg-gray-700 hover:bg-gray-600 text-gray-200" : "bg-gray-100 hover:bg-gray-200 text-gray-900",
3966
- divider: isDark ? "border-gray-600" : "border-gray-200",
3967
- errorText: isDark ? "text-red-400" : "text-red-500",
3968
- successText: isDark ? "text-green-400" : "text-blue-600",
3969
- iconColor: isDark ? "text-gray-300" : "text-gray-600",
3970
- // CSS variable-based classes for better theming
3971
- cssVars: {
3972
- modalBg: "lumia-bg-primary",
3973
- text: "lumia-text-primary",
3974
- textSecondary: "lumia-text-secondary",
3975
- textMuted: "lumia-text-muted",
3976
- bgSecondary: "lumia-bg-secondary",
3977
- border: "lumia-border-primary"
3978
- }
3979
- }),
3980
- [isDark]
3977
+ () => {
3978
+ const hasCustom = !!currentCustomColors;
3979
+ const background = hasCustom && currentCustomColors?.background ? "[background:var(--lumia-bg)]" : isDark ? "bg-gray-900" : "bg-white";
3980
+ const text = hasCustom && currentCustomColors?.text ? "[color:var(--lumia-text)]" : isDark ? "text-white" : "text-gray-900";
3981
+ const textSecondary = hasCustom && currentCustomColors?.textSecondary ? "[color:var(--lumia-text-secondary)]" : isDark ? "text-gray-300" : "text-gray-600";
3982
+ const textMuted = hasCustom && currentCustomColors?.textMuted ? "[color:var(--lumia-text-muted)]" : isDark ? "text-gray-400" : "text-gray-500";
3983
+ const border = hasCustom && currentCustomColors?.border ? "[border-color:var(--lumia-border)]" : isDark ? "border-gray-600" : "border-gray-200";
3984
+ return {
3985
+ bg: background,
3986
+ // Alias for modalBg for backwards compatibility
3987
+ modalBg: background,
3988
+ titleText: text,
3989
+ text,
3990
+ // Alias for titleText
3991
+ bodyText: textSecondary,
3992
+ mutedText: textMuted,
3993
+ linkText: isDark ? "text-gray-200 hover:text-blue-400" : "text-gray-700 hover:text-blue-600",
3994
+ inputBg: isDark ? "bg-gray-700 border-gray-600" : "bg-white border-gray-300",
3995
+ inputText: isDark ? "text-white placeholder:text-gray-400" : "text-gray-900 placeholder:text-gray-400",
3996
+ // Primary CTA (Passkey sign-in) brighter blue + hover
3997
+ primaryBtn: isDark ? "bg-[#2456f0] hover:bg-[#1e49d8] text-white" : "bg-[#2456f0] hover:bg-[#1e49d8] text-white",
3998
+ // Neutral secondary to avoid unintended pink accents
3999
+ secondaryBtn: isDark ? "bg-gray-700 hover:bg-gray-600 text-white" : "bg-gray-100 hover:bg-gray-200 text-gray-700",
4000
+ // Pink CTA used for email Continue like in old design
4001
+ ctaBtn: isDark ? "bg-[#db2777] hover:bg-[#be185d] text-white" : "bg-[#fde2f3] hover:bg-[#f7c1df] text-gray-600",
4002
+ // Outline buttons (Create Passkey) subtle hover
4003
+ outlineBtn: isDark ? "bg-gray-700 border-gray-600 hover:bg-gray-600 text-gray-200" : "bg-white border-gray-200 hover:bg-gray-100 text-gray-700",
4004
+ actionBtn: isDark ? "bg-gray-700 hover:bg-gray-600 text-gray-200" : "bg-gray-100 hover:bg-gray-200 text-gray-900",
4005
+ divider: border,
4006
+ errorText: isDark ? "text-red-400" : "text-red-500",
4007
+ successText: isDark ? "text-green-400" : "text-blue-600",
4008
+ iconColor: textMuted,
4009
+ // CSS variable-based classes for better theming
4010
+ cssVars: {
4011
+ modalBg: "lumia-bg-primary",
4012
+ text: "lumia-text-primary",
4013
+ textSecondary: "lumia-text-secondary",
4014
+ textMuted: "lumia-text-muted",
4015
+ bgSecondary: "lumia-bg-secondary",
4016
+ border: "lumia-border-primary"
4017
+ }
4018
+ };
4019
+ },
4020
+ [isDark, currentCustomColors]
3981
4021
  );
3982
4022
  return { theme: resolvedTheme, isDark, classes: themeClasses };
3983
4023
  }
@@ -3986,7 +4026,7 @@ function useTheme(configTheme) {
3986
4026
  var import_jsx_runtime5 = require("react/jsx-runtime");
3987
4027
  var LumiaRainbowKitProvider = ({ children }) => {
3988
4028
  const { config } = useLumiaPassportConfig();
3989
- const { isDark } = useTheme(config.ui.theme);
4029
+ const { isDark } = useTheme(config.ui.theme, config.ui.colors);
3990
4030
  const rainbowConfig2 = import_react4.default.useMemo(() => {
3991
4031
  return createRainbowConfig(config.wallet?.walletConnectProjectId);
3992
4032
  }, [config.wallet?.walletConnectProjectId]);
@@ -4220,7 +4260,7 @@ var ErrorAlert = ({
4220
4260
  actionText = "OK"
4221
4261
  }) => {
4222
4262
  const { config } = useLumiaPassportConfig();
4223
- const { isDark, classes: theme } = useTheme(config.ui.theme);
4263
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
4224
4264
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AlertDialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(AlertDialogContent, { className: `lumia-scope max-w-md ${theme.modalBg} ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
4225
4265
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(AlertDialogHeader, { children: [
4226
4266
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center gap-3 mb-2", children: [
@@ -4280,7 +4320,7 @@ var LumiaLogo = ({ size = 25, className = "" }) => {
4280
4320
  var import_jsx_runtime12 = require("react/jsx-runtime");
4281
4321
  var SuccessScreen = () => {
4282
4322
  const { config } = useLumiaPassportConfig();
4283
- const { classes: theme } = useTheme(config.ui.theme);
4323
+ const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
4284
4324
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "text-center", children: [
4285
4325
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "w-16 h-16 rounded-full bg-green-100 text-green-600 flex items-center justify-center mx-auto mb-4", children: "\u2713" }),
4286
4326
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `text-lg font-medium ${theme.titleText}`, children: "Success" })
@@ -4291,7 +4331,7 @@ var SuccessScreen = () => {
4291
4331
  var import_jsx_runtime13 = require("react/jsx-runtime");
4292
4332
  var TermsOfService = ({ open, onOpenChange }) => {
4293
4333
  const { config } = useLumiaPassportConfig();
4294
- const { isDark, classes: theme } = useTheme(config.ui.theme);
4334
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
4295
4335
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
4296
4336
  DialogContent,
4297
4337
  {
@@ -4364,7 +4404,7 @@ init_iframe_manager();
4364
4404
  var import_jsx_runtime16 = require("react/jsx-runtime");
4365
4405
  function KeyshareRestore({ userId, onClose, onRestoreSuccess }) {
4366
4406
  const { config } = useLumiaPassportConfig();
4367
- const { isDark } = useTheme(config.ui.theme);
4407
+ const { isDark } = useTheme(config.ui.theme, config.ui.colors);
4368
4408
  const [loading, setLoading] = React10.useState({ server: false, file: false });
4369
4409
  const [error, setError] = React10.useState(null);
4370
4410
  const [success, setSuccess] = React10.useState(null);
@@ -4707,7 +4747,7 @@ var import_react6 = require("react");
4707
4747
  var import_jsx_runtime17 = require("react/jsx-runtime");
4708
4748
  var VerificationCodeInput = ({ onVerifyCode, onResendCode, isLoading, expiresIn, error }) => {
4709
4749
  const { config } = useLumiaPassportConfig();
4710
- const { classes: theme } = useTheme(config.ui.theme);
4750
+ const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
4711
4751
  const [timeLeft, setTimeLeft] = (0, import_react6.useState)(expiresIn);
4712
4752
  (0, import_react6.useEffect)(() => {
4713
4753
  setTimeLeft(expiresIn);
@@ -4856,7 +4896,7 @@ var DisplayNameInput = ({ onComplete, onSkip }) => {
4856
4896
  const [isLoading, setIsLoading] = (0, import_react7.useState)(false);
4857
4897
  const [error, setError] = (0, import_react7.useState)("");
4858
4898
  const { config } = useLumiaPassportConfig();
4859
- const { classes: theme } = useTheme(config.ui.theme);
4899
+ const { classes: theme } = useTheme(config.ui.theme, config.ui.colors);
4860
4900
  const handleSubmit = async (e) => {
4861
4901
  e.preventDefault();
4862
4902
  if (!displayName.trim()) {
@@ -4960,7 +5000,7 @@ var AuthModal = ({ open, onOpenChange, onAuthSuccess, autoCloseOnSuccess = true,
4960
5000
  return createPasskeyHelpers("");
4961
5001
  }, []);
4962
5002
  const { config } = useLumiaPassportConfig();
4963
- const { classes: theme, isDark } = useTheme(config.ui.theme);
5003
+ const { classes: theme, isDark } = useTheme(config.ui.theme, config.ui.colors);
4964
5004
  const checkDisplayNameRequired = import_react8.default.useCallback(async () => {
4965
5005
  if (!config.features.displayNameNeeded) {
4966
5006
  return false;
@@ -5828,7 +5868,7 @@ var ManageWallet = ({ open, onOpenChange, onBack }) => {
5828
5868
  const [expiresIn, setExpiresIn] = (0, import_react11.useState)(300);
5829
5869
  const [verificationError, setVerificationError] = (0, import_react11.useState)("");
5830
5870
  const { config, callbacks } = useLumiaPassportConfig();
5831
- const { isDark, classes: theme } = useTheme(config.ui.theme);
5871
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
5832
5872
  const telegramContainerRef = import_react11.default.useRef(null);
5833
5873
  const [isWalletLinking, setIsWalletLinking] = (0, import_react11.useState)(false);
5834
5874
  const [providersJustUpdated, setProvidersJustUpdated] = (0, import_react11.useState)(false);
@@ -6289,286 +6329,14 @@ var import_react12 = __toESM(require("react"), 1);
6289
6329
  init_auth();
6290
6330
  init_keyshare();
6291
6331
  init_vaultClient();
6292
- var import_lucide_react8 = require("lucide-react");
6293
-
6294
- // src/internal/components/BackupForm.tsx
6295
- var React17 = __toESM(require("react"), 1);
6296
6332
  var import_lucide_react7 = require("lucide-react");
6297
- init_vaultClient();
6298
6333
  var import_jsx_runtime21 = require("react/jsx-runtime");
6299
- function BackupForm({ userId, onBackupSuccess }) {
6300
- const { config } = useLumiaPassportConfig();
6301
- const { isDark, classes: theme } = useTheme(config.ui.theme);
6302
- const [backupStatus, setBackupStatus] = React17.useState(() => getBackupStatus(userId));
6303
- const [loading, setLoading] = React17.useState({
6304
- server: false,
6305
- cloud: false,
6306
- local: false
6307
- });
6308
- const [error, setError] = React17.useState(null);
6309
- const [success, setSuccess] = React17.useState(null);
6310
- const [showPassword, setShowPassword] = React17.useState(false);
6311
- const [useCustomPassword, setUseCustomPassword] = React17.useState(false);
6312
- const [customPassword, setCustomPassword] = React17.useState("");
6313
- const [cloudProviders, setCloudProviders] = React17.useState([]);
6314
- const [selectedCloudProvider, setSelectedCloudProvider] = React17.useState(null);
6315
- const [usePrivateStorage, setUsePrivateStorage] = React17.useState(true);
6316
- const hasKeyshareData = React17.useMemo(() => {
6317
- return !!getCurrentKeyshareBackupData(userId);
6318
- }, [userId]);
6319
- React17.useEffect(() => {
6320
- getAvailableCloudProviders2().then((providers) => {
6321
- setCloudProviders(providers);
6322
- if (providers.length > 0 && !selectedCloudProvider) {
6323
- setSelectedCloudProvider(providers[0].id);
6324
- }
6325
- });
6326
- }, [selectedCloudProvider]);
6327
- const refreshStatus = React17.useCallback(() => {
6328
- setBackupStatus(getBackupStatus(userId));
6329
- }, [userId]);
6330
- React17.useEffect(() => {
6331
- refreshStatus();
6332
- }, [refreshStatus]);
6333
- const handleBackup = async (method) => {
6334
- setLoading((prev) => ({ ...prev, [method]: true }));
6335
- setError(null);
6336
- setSuccess(null);
6337
- try {
6338
- const password = useCustomPassword ? customPassword : void 0;
6339
- switch (method) {
6340
- case "server":
6341
- await backupToServer(userId, password);
6342
- setSuccess("Successfully created server backup");
6343
- break;
6344
- case "cloud": {
6345
- await backupToCloud(userId, password, selectedCloudProvider || void 0, usePrivateStorage);
6346
- setSuccess(`Successfully created cloud backup`);
6347
- const updatedProviders = await getAvailableCloudProviders2();
6348
- setCloudProviders(updatedProviders);
6349
- break;
6350
- }
6351
- case "local":
6352
- await backupToLocalFile(userId, password);
6353
- setSuccess("Backup file downloaded successfully");
6354
- break;
6355
- }
6356
- refreshStatus();
6357
- setTimeout(() => {
6358
- if (typeof window !== "undefined") {
6359
- window.dispatchEvent(
6360
- new CustomEvent("lumia-passport-backup-status-changed", {
6361
- detail: { method, success: true }
6362
- })
6363
- );
6364
- }
6365
- onBackupSuccess?.();
6366
- }, 100);
6367
- } catch (err) {
6368
- const errorMsg = err instanceof Error ? err.message : "Backup creation failed";
6369
- setError(errorMsg);
6370
- updateBackupStatus(userId, method, { error: errorMsg });
6371
- refreshStatus();
6372
- } finally {
6373
- setLoading((prev) => ({ ...prev, [method]: false }));
6374
- }
6375
- };
6376
- const formatLastBackup = (timestamp) => {
6377
- if (!timestamp) return "Never";
6378
- const date = new Date(timestamp);
6379
- return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
6380
- };
6381
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-5 space-y-6 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6382
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3", children: [
6383
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Shield, { className: `h-6 w-6 ${isDark ? "text-green-400" : "text-green-600"}` }),
6384
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6385
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h2", { className: `text-lg font-semibold ${theme.titleText}`, children: "Create Backup" }),
6386
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: `text-sm ${theme.bodyText}`, children: "Secure your keyshare with encrypted backups" })
6387
- ] })
6388
- ] }),
6389
- error && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center gap-2 p-3 rounded-xl text-sm ${isDark ? "bg-red-900/30 border border-red-900 text-red-400" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6390
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
6391
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: error })
6392
- ] }),
6393
- success && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center gap-2 p-3 rounded-xl text-sm ${isDark ? "bg-green-900/30 border border-green-900 text-green-400" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6394
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
6395
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: success })
6396
- ] }),
6397
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-3", children: [
6398
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-sm font-medium ${theme.bodyText}`, children: "Encryption Method:" }),
6399
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6400
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6401
- "input",
6402
- {
6403
- type: "checkbox",
6404
- id: "use-backup-password",
6405
- checked: useCustomPassword,
6406
- onChange: (e) => setUseCustomPassword(e.target.checked),
6407
- className: "rounded"
6408
- }
6409
- ),
6410
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: "use-backup-password", className: `text-sm font-medium ${theme.bodyText}`, children: "Use custom password instead of passkey" })
6411
- ] }),
6412
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `p-3 rounded-xl text-sm ${isDark ? "bg-blue-900/30 border border-blue-900 text-blue-400" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6413
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Key, { className: "h-4 w-4" }),
6414
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: "Your passkey will be used to encrypt the backup securely" })
6415
- ] }) }),
6416
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "relative", children: [
6417
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6418
- Input,
6419
- {
6420
- type: showPassword ? "text" : "password",
6421
- placeholder: "Enter backup encryption password",
6422
- value: customPassword,
6423
- onChange: (e) => setCustomPassword(e.target.value),
6424
- className: "pr-10"
6425
- }
6426
- ),
6427
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6428
- "button",
6429
- {
6430
- type: "button",
6431
- onClick: () => setShowPassword(!showPassword),
6432
- className: `absolute right-3 top-1/2 transform -translate-y-1/2 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6433
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Eye, { className: "h-4 w-4" })
6434
- }
6435
- )
6436
- ] })
6437
- ] }),
6438
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-4", children: [
6439
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-sm font-medium ${theme.bodyText}`, children: "Choose Backup Method:" }),
6440
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-4 rounded-xl border ${isDark ? "border-gray-700 bg-gray-800" : "border-blue-200 bg-blue-50/50"}`, children: [
6441
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-between mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3", children: [
6442
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Server, { className: `h-5 w-5 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
6443
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6444
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium text-sm ${theme.titleText}`, children: "Server Backup" }),
6445
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: "Store encrypted backup on secure server" })
6446
- ] })
6447
- ] }) }),
6448
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6449
- Button,
6450
- {
6451
- onClick: () => handleBackup("server"),
6452
- disabled: loading.server || useCustomPassword && !customPassword || !hasKeyshareData,
6453
- className: "px-4 py-2",
6454
- children: loading.server ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
6455
- }
6456
- ),
6457
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-xs mt-2 ${theme.mutedText}`, children: [
6458
- "Encrypted backup stored on secure server \u2022 Last: ",
6459
- formatLastBackup(backupStatus.server.lastBackup)
6460
- ] })
6461
- ] }),
6462
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-4 rounded-xl border ${isDark ? "border-gray-700 bg-gray-800" : "border-sky-200 bg-sky-50/50"}`, children: [
6463
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
6464
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Cloud, { className: `h-5 w-5 ${isDark ? "text-sky-400" : "text-sky-600"}` }),
6465
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6466
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium text-sm ${theme.titleText}`, children: "Cloud Backup" }),
6467
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: "Store encrypted backup in cloud storage" })
6468
- ] })
6469
- ] }),
6470
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6471
- "select",
6472
- {
6473
- value: selectedCloudProvider || "",
6474
- onChange: (e) => setSelectedCloudProvider(e.target.value),
6475
- className: `text-sm border rounded-xl px-2 py-1 w-full ${isDark ? "bg-gray-700 border-gray-600 text-gray-200" : "bg-white border-gray-300"}`,
6476
- children: cloudProviders.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("option", { value: provider.id, children: [
6477
- provider.icon,
6478
- " ",
6479
- provider.name,
6480
- " ",
6481
- provider.isAuthenticated ? "\u2713" : ""
6482
- ] }, provider.id))
6483
- }
6484
- ) }),
6485
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mb-3", children: [
6486
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs font-medium mb-2 ${theme.bodyText}`, children: "Storage Location:" }),
6487
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
6488
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6489
- "input",
6490
- {
6491
- type: "radio",
6492
- id: "private-storage",
6493
- name: "storage-type",
6494
- checked: usePrivateStorage,
6495
- onChange: () => setUsePrivateStorage(true),
6496
- className: "rounded"
6497
- }
6498
- ),
6499
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: "private-storage", className: `text-xs ${theme.bodyText}`, children: "\u{1F512} Private (app-only, hidden from Drive UI)" })
6500
- ] }),
6501
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6502
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6503
- "input",
6504
- {
6505
- type: "radio",
6506
- id: "visible-storage",
6507
- name: "storage-type",
6508
- checked: !usePrivateStorage,
6509
- onChange: () => setUsePrivateStorage(false),
6510
- className: "rounded"
6511
- }
6512
- ),
6513
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { htmlFor: "visible-storage", className: `text-xs ${theme.bodyText}`, children: "\u{1F4C1} Visible (Lumia Backups folder in Drive)" })
6514
- ] })
6515
- ] }),
6516
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6517
- Button,
6518
- {
6519
- onClick: () => handleBackup("cloud"),
6520
- disabled: loading.cloud || useCustomPassword && !customPassword || !hasKeyshareData || cloudProviders.length === 0,
6521
- className: "px-4 py-2",
6522
- children: loading.cloud ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
6523
- }
6524
- ),
6525
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs mt-2 ${theme.mutedText}`, children: cloudProviders.length > 0 ? `Direct backup to ${cloudProviders.find((p) => p.id === selectedCloudProvider)?.name || "cloud storage"} \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` : `No cloud providers configured \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` })
6526
- ] }),
6527
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `p-4 rounded-xl border ${isDark ? "border-gray-700 bg-gray-800" : "border-purple-200 bg-purple-50/50"}`, children: [
6528
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
6529
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Download, { className: `h-5 w-5 ${isDark ? "text-purple-400" : "text-purple-600"}` }),
6530
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6531
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium text-sm ${theme.titleText}`, children: "File Backup" }),
6532
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: "Download encrypted backup file to your device" })
6533
- ] })
6534
- ] }),
6535
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6536
- Button,
6537
- {
6538
- onClick: () => handleBackup("local"),
6539
- disabled: loading.local || useCustomPassword && !customPassword || !hasKeyshareData,
6540
- className: "w-full",
6541
- children: loading.local ? "Creating..." : useCustomPassword ? "Create & Download" : "Create & Download with Passkey"
6542
- }
6543
- ),
6544
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-xs mt-2 ${theme.mutedText}`, children: [
6545
- "Download encrypted backup file to your device \u2022 Last: ",
6546
- formatLastBackup(backupStatus.local.lastBackup)
6547
- ] })
6548
- ] })
6549
- ] }),
6550
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-start gap-2 p-3 rounded-xl text-xs ${isDark ? "bg-amber-900/30 border border-amber-900 text-amber-400" : "bg-amber-50 border border-amber-200 text-amber-800"}`, children: [
6551
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Lock, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
6552
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6553
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "font-medium", children: "Security Notice" }),
6554
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mt-1", children: [
6555
- useCustomPassword ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children: "All backups are encrypted with AES-256 using your custom password. Store your password securely - without it, backups cannot be restored." }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children: "All backups are encrypted with AES-256 using your passkey. Your passkey authenticator (device/biometrics) is required to restore backups." }),
6556
- " ",
6557
- "Without backup access, you cannot recover your smart account if you lose this device."
6558
- ] })
6559
- ] })
6560
- ] })
6561
- ] });
6562
- }
6563
-
6564
- // src/internal/components/SecurityModal.tsx
6565
- var import_jsx_runtime22 = require("react/jsx-runtime");
6566
6334
  var SecurityModal = ({ open, onOpenChange, onBack }) => {
6567
6335
  const userId = import_auth3.jwtTokenManager.getUserId();
6568
6336
  const serverHasKeyshare = import_auth3.jwtTokenManager.getHasKeyshare() ?? false;
6569
6337
  const backup = userId ? getBackupStatus(userId) : { server: { enabled: false }, cloud: { enabled: false }, local: { enabled: false } };
6570
6338
  const { config } = useLumiaPassportConfig();
6571
- const { isDark, classes: theme } = useTheme(config.ui.theme);
6339
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
6572
6340
  const [isRefreshing, setIsRefreshing] = import_react12.default.useState(false);
6573
6341
  const [localInfo, setLocalInfo] = import_react12.default.useState(null);
6574
6342
  const [recoveryCreatedAt, setRecoveryCreatedAt] = import_react12.default.useState(null);
@@ -6578,7 +6346,6 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6578
6346
  const [recoveryDeviceName, setRecoveryDeviceName] = import_react12.default.useState(null);
6579
6347
  const [recoveryCountry, setRecoveryCountry] = import_react12.default.useState(null);
6580
6348
  const [hasServerBackup, setHasServerBackup] = import_react12.default.useState(false);
6581
- const [showBackupForm, setShowBackupForm] = import_react12.default.useState(false);
6582
6349
  const [trustedApps, setTrustedApps] = import_react12.default.useState([]);
6583
6350
  const [appToRemove, setAppToRemove] = import_react12.default.useState(null);
6584
6351
  const fetchRecovery = import_react12.default.useCallback(async () => {
@@ -6642,219 +6409,179 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6642
6409
  console.error("[SecurityModal] Error removing trusted app:", error);
6643
6410
  }
6644
6411
  };
6645
- if (showBackupForm && userId) {
6646
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogContent, { className: `lumia-scope max-w-[500px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6647
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Create Backup" }) }),
6648
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Create encrypted backup of your keyshare" }),
6649
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative", children: [
6650
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6651
- "button",
6652
- {
6653
- onClick: () => setShowBackupForm(false),
6654
- className: `absolute top-4 left-4 p-1 z-10 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6655
- title: "Back to Security",
6656
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.ArrowLeft, { className: "h-4 w-4" })
6657
- }
6658
- ),
6659
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6660
- BackupForm,
6661
- {
6662
- userId,
6663
- onBackupSuccess: () => {
6664
- setShowBackupForm(false);
6665
- fetchRecovery();
6666
- }
6667
- }
6668
- )
6669
- ] })
6670
- ] }) });
6671
- }
6672
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Dialog, { open, onOpenChange, children: [
6673
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6674
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Security" }) }),
6675
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Keyshare and vault status" }),
6676
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6677
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6678
- onBack && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6412
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Dialog, { open, onOpenChange, children: [
6413
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6414
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Security" }) }),
6415
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: "sr-only", children: "Keyshare and vault status" }),
6416
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5 space-y-4", children: [
6417
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-2", children: [
6418
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6679
6419
  "button",
6680
6420
  {
6681
6421
  onClick: onBack,
6682
6422
  className: `p-1 mr-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`,
6683
6423
  title: "Back",
6684
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.ArrowLeft, { className: "h-4 w-4" })
6424
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.ArrowLeft, { className: "h-4 w-4" })
6685
6425
  }
6686
6426
  ),
6687
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 ${theme.text} font-semibold`, children: [
6688
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Key, { className: "h-4 w-4" }),
6689
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Keyshare Status" }),
6690
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { onClick: fetchRecovery, className: `p-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`, title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.RefreshCw, { className: `h-4 w-4 ${isRefreshing ? "animate-spin" : ""}` }) })
6427
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `flex items-center gap-2 ${theme.text} font-semibold`, children: [
6428
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Key, { className: "h-4 w-4" }),
6429
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: "Keyshare Status" }),
6430
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("button", { onClick: fetchRecovery, className: `p-1 ${isDark ? "text-gray-400 hover:text-gray-300" : "text-gray-500 hover:text-gray-700"}`, title: "Refresh", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.RefreshCw, { className: `h-4 w-4 ${isRefreshing ? "animate-spin" : ""}` }) })
6691
6431
  ] })
6692
6432
  ] }) }),
6693
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
6694
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6695
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6696
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Cloud, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6697
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Server" })
6433
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "grid grid-cols-3 gap-4", children: [
6434
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6435
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6436
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Cloud, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6437
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Server" })
6698
6438
  ] }),
6699
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${serverHasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6700
- serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6439
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${serverHasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6440
+ serverHasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6701
6441
  serverHasKeyshare ? "Ready" : "Missing"
6702
6442
  ] })
6703
6443
  ] }),
6704
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6705
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6706
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Laptop, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6707
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Local" })
6444
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6445
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6446
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Laptop, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6447
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Local" })
6708
6448
  ] }),
6709
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${localInfo?.hasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6710
- localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6449
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${localInfo?.hasKeyshare ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6450
+ localInfo?.hasKeyshare ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6711
6451
  localInfo?.hasKeyshare ? "Ready" : "Missing"
6712
6452
  ] })
6713
6453
  ] }),
6714
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-2 text-center", children: [
6715
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6716
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Shield, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6717
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Vault" })
6454
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "space-y-2 text-center", children: [
6455
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center justify-center gap-2", children: [
6456
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Shield, { className: `h-4 w-4 ${isDark ? "text-gray-400" : "text-gray-500"}` }),
6457
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `text-sm font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: "Vault" })
6718
6458
  ] }),
6719
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${hasServerBackup ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6720
- hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6459
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `inline-flex items-center text-sm px-3 py-2 rounded-full ${hasServerBackup ? isDark ? "bg-green-900/30 text-green-400" : "bg-green-100 text-green-700" : isDark ? "bg-orange-900/30 text-orange-400" : "bg-orange-100 text-orange-700"}`, children: [
6460
+ hasServerBackup ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.CheckCircle2, { className: "h-4 w-4 mr-1" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.AlertTriangle, { className: "h-4 w-4 mr-1" }),
6721
6461
  hasServerBackup ? "Ready" : "None"
6722
6462
  ] })
6723
6463
  ] })
6724
6464
  ] }),
6725
- localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6726
- localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6465
+ localInfo?.hasKeyshare && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6466
+ localInfo.ownerAddress && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6727
6467
  "Owner: ",
6728
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.ownerAddress })
6468
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.ownerAddress })
6729
6469
  ] }),
6730
- typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6470
+ typeof localInfo.keyshareSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6731
6471
  "Size: ",
6732
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: `font-mono ${isDark ? "text-gray-200" : "text-gray-800"}`, children: [
6472
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: `font-mono ${isDark ? "text-gray-200" : "text-gray-800"}`, children: [
6733
6473
  Math.round((localInfo.keyshareSize || 0) / 1024),
6734
6474
  "KB"
6735
6475
  ] })
6736
6476
  ] }),
6737
- localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6477
+ localInfo.sessionId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6738
6478
  "Session: ",
6739
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.sessionId })
6479
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: `font-mono break-all ${isDark ? "text-gray-200" : "text-gray-800"}`, children: localInfo.sessionId })
6740
6480
  ] })
6741
6481
  ] }),
6742
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6743
- backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6744
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6745
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6482
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6483
+ backup.server.enabled && backup.server.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6484
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6485
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6746
6486
  "Server: ",
6747
6487
  new Date(backup.server.lastBackup).toLocaleString()
6748
6488
  ] })
6749
6489
  ] }),
6750
- !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6751
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6752
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6490
+ !backup.server.lastBackup && recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6491
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Server, { className: "h-2.5 w-2.5 text-gray-400" }),
6492
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6753
6493
  "Server: ",
6754
6494
  new Date(recoveryCreatedAt).toLocaleString()
6755
6495
  ] })
6756
6496
  ] }),
6757
- backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6758
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Cloud, { className: "h-2.5 w-2.5 text-gray-400" }),
6759
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6497
+ backup.cloud.enabled && backup.cloud.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6498
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Cloud, { className: "h-2.5 w-2.5 text-gray-400" }),
6499
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6760
6500
  "Cloud: ",
6761
6501
  new Date(backup.cloud.lastBackup).toLocaleString()
6762
6502
  ] })
6763
6503
  ] }),
6764
- backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-1", children: [
6765
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.HardDrive, { className: "h-2.5 w-2.5 text-gray-400" }),
6766
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { children: [
6504
+ backup.local.enabled && backup.local.lastBackup && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex items-center gap-1", children: [
6505
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.HardDrive, { className: "h-2.5 w-2.5 text-gray-400" }),
6506
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { children: [
6767
6507
  "Local: ",
6768
6508
  new Date(backup.local.lastBackup).toLocaleString()
6769
6509
  ] })
6770
6510
  ] })
6771
6511
  ] }),
6772
- (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6773
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-[11px] ${isDark ? "text-indigo-400" : "text-indigo-600"}`, children: "Device Information:" }),
6774
- recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6512
+ (recoveryCreatedAt || recoveryBrowser || recoveryUa || recoveryDeviceId || recoveryDeviceName) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-0.5 text-[10px] leading-tight ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6513
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium text-[11px] ${isDark ? "text-indigo-400" : "text-indigo-600"}`, children: "Device Information:" }),
6514
+ recoveryCreatedAt && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6775
6515
  "Created: ",
6776
6516
  new Date(recoveryCreatedAt).toLocaleString(),
6777
6517
  " "
6778
6518
  ] }),
6779
- recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6519
+ recoveryCountry && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6780
6520
  "Country: ",
6781
6521
  recoveryCountry
6782
6522
  ] }),
6783
- recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6523
+ recoveryBrowser && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6784
6524
  "Browser: ",
6785
6525
  recoveryBrowser
6786
6526
  ] }),
6787
- parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6527
+ parseOS(recoveryUa) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6788
6528
  "OS: ",
6789
6529
  parseOS(recoveryUa)
6790
6530
  ] }),
6791
- recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6531
+ recoveryDeviceName && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6792
6532
  "Device: ",
6793
6533
  recoveryDeviceName
6794
6534
  ] }),
6795
- recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6535
+ recoveryDeviceId && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { children: [
6796
6536
  "Device ID: ",
6797
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-mono break-all", children: recoveryDeviceId })
6537
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "font-mono break-all", children: recoveryDeviceId })
6798
6538
  ] })
6799
6539
  ] }),
6800
- trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `space-y-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6801
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `font-medium text-[11px] ${isDark ? "text-green-400" : "text-green-600"}`, children: [
6540
+ trustedApps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `space-y-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
6541
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `font-medium text-[11px] ${isDark ? "text-green-400" : "text-green-600"}`, children: [
6802
6542
  "Trusted Applications (",
6803
6543
  trustedApps.length,
6804
6544
  "):"
6805
6545
  ] }),
6806
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 ${isDark ? "bg-gray-800/50" : "bg-gray-50"}`, children: [
6807
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex-1 min-w-0", children: [
6808
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: new URL(app.origin).hostname }),
6809
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6546
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "space-y-1", children: trustedApps.map((app, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-[10px] leading-tight p-2 rounded flex items-start justify-between gap-2 ${isDark ? "bg-gray-800/50" : "bg-gray-50"}`, children: [
6547
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex-1 min-w-0", children: [
6548
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `font-medium ${isDark ? "text-gray-200" : "text-gray-800"}`, children: new URL(app.origin).hostname }),
6549
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `${isDark ? "text-gray-400" : "text-gray-500"}`, children: [
6810
6550
  "Trusted: ",
6811
6551
  new Date(app.trustedAt).toLocaleDateString()
6812
6552
  ] })
6813
6553
  ] }),
6814
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6554
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6815
6555
  "button",
6816
6556
  {
6817
6557
  onClick: () => setAppToRemove({ projectId: app.projectId, origin: app.origin, hostname: new URL(app.origin).hostname }),
6818
6558
  className: `p-1 rounded transition-colors ${isDark ? "text-gray-400 hover:text-red-400 hover:bg-red-900/20" : "text-gray-500 hover:text-red-600 hover:bg-red-50"}`,
6819
6559
  title: "Remove from trusted",
6820
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Trash2, { className: "h-3 w-3" })
6560
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react7.Trash2, { className: "h-3 w-3" })
6821
6561
  }
6822
6562
  )
6823
6563
  ] }, index)) })
6824
- ] }),
6825
- localInfo?.hasKeyshare && !showBackupForm && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "pt-2", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
6826
- Button,
6827
- {
6828
- onClick: () => setShowBackupForm(true),
6829
- variant: "success",
6830
- className: "w-full",
6831
- size: "lg",
6832
- children: [
6833
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Plus, { className: "h-4 w-4" }),
6834
- "Create Backup"
6835
- ]
6836
- }
6837
- ) })
6564
+ ] })
6838
6565
  ] })
6839
6566
  ] }),
6840
- appToRemove && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Dialog, { open: !!appToRemove, onOpenChange: (open2) => !open2 && setAppToRemove(null), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6841
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogTitle, { children: "Remove Trusted Application" }) }),
6842
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DialogDescription, { className: "sr-only", children: "Confirm removal of trusted application" }),
6843
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "p-5 space-y-4", children: [
6844
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-center ${theme.text}`, children: [
6845
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
6846
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm ${isDark ? "text-gray-300" : "text-gray-700"} mb-3`, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "font-medium", children: appToRemove.hostname }) }),
6847
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"} text-left space-y-2`, children: [
6848
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { children: "After removing this application from trusted list:" }),
6849
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("ul", { className: "list-disc list-inside space-y-1 ml-2", children: [
6850
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "All transactions will require confirmation in a separate window" }),
6851
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: "You can add it back to trusted list at any time" }),
6852
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("li", { children: 'Transaction confirmation window will show "Trust this app" checkbox' })
6567
+ appToRemove && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog, { open: !!appToRemove, onOpenChange: (open2) => !open2 && setAppToRemove(null), children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent, { className: `lumia-scope max-w-[380px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6568
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle, { children: "Remove Trusted Application" }) }),
6569
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogDescription, { className: "sr-only", children: "Confirm removal of trusted application" }),
6570
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "p-5 space-y-4", children: [
6571
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-center ${theme.text}`, children: [
6572
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "text-lg font-semibold mb-2", children: "Remove Trusted App?" }),
6573
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `text-sm ${isDark ? "text-gray-300" : "text-gray-700"} mb-3`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "font-medium", children: appToRemove.hostname }) }),
6574
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"} text-left space-y-2`, children: [
6575
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { children: "After removing this application from trusted list:" }),
6576
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("ul", { className: "list-disc list-inside space-y-1 ml-2", children: [
6577
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: "All transactions will require confirmation in a separate window" }),
6578
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: "You can add it back to trusted list at any time" }),
6579
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: 'Transaction confirmation window will show "Trust this app" checkbox' })
6853
6580
  ] })
6854
6581
  ] })
6855
6582
  ] }),
6856
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex gap-2", children: [
6857
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6583
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex gap-2", children: [
6584
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6858
6585
  Button,
6859
6586
  {
6860
6587
  onClick: () => setAppToRemove(null),
@@ -6864,7 +6591,7 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6864
6591
  children: "Cancel"
6865
6592
  }
6866
6593
  ),
6867
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
6594
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
6868
6595
  Button,
6869
6596
  {
6870
6597
  onClick: confirmRemoveTrustedApp,
@@ -6881,30 +6608,32 @@ var SecurityModal = ({ open, onOpenChange, onBack }) => {
6881
6608
  };
6882
6609
 
6883
6610
  // src/internal/components/KeyshareBackup.tsx
6884
- var React19 = __toESM(require("react"), 1);
6885
- var import_lucide_react9 = require("lucide-react");
6611
+ var React18 = __toESM(require("react"), 1);
6612
+ var import_lucide_react8 = require("lucide-react");
6886
6613
  init_iframe_manager();
6887
- var import_jsx_runtime23 = require("react/jsx-runtime");
6614
+ var import_jsx_runtime22 = require("react/jsx-runtime");
6888
6615
  function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
6889
- const [backupStatus, setBackupStatus] = React19.useState({
6616
+ const { config } = useLumiaPassportConfig();
6617
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
6618
+ const [backupStatus, setBackupStatus] = React18.useState({
6890
6619
  server: {},
6891
6620
  cloud: {},
6892
6621
  local: {}
6893
6622
  });
6894
- const [loading, setLoading] = React19.useState({
6623
+ const [loading, setLoading] = React18.useState({
6895
6624
  server: false,
6896
6625
  cloud: false,
6897
6626
  local: false
6898
6627
  });
6899
- const [error, setError] = React19.useState(null);
6900
- const [success, setSuccess] = React19.useState(null);
6901
- const [showPassword, setShowPassword] = React19.useState(false);
6902
- const [useCustomPassword, setUseCustomPassword] = React19.useState(false);
6903
- const [customPassword, setCustomPassword] = React19.useState("");
6904
- const [cloudProviders, setCloudProviders] = React19.useState([]);
6905
- const [selectedCloudProvider, setSelectedCloudProvider] = React19.useState(null);
6906
- const [hasKeyshareData, setHasKeyshareData] = React19.useState(true);
6907
- const iframeManager = React19.useMemo(() => {
6628
+ const [error, setError] = React18.useState(null);
6629
+ const [success, setSuccess] = React18.useState(null);
6630
+ const [showPassword, setShowPassword] = React18.useState(false);
6631
+ const [useCustomPassword, setUseCustomPassword] = React18.useState(false);
6632
+ const [customPassword, setCustomPassword] = React18.useState("");
6633
+ const [cloudProviders, setCloudProviders] = React18.useState([]);
6634
+ const [selectedCloudProvider, setSelectedCloudProvider] = React18.useState(null);
6635
+ const [hasKeyshareData, setHasKeyshareData] = React18.useState(true);
6636
+ const iframeManager = React18.useMemo(() => {
6908
6637
  try {
6909
6638
  return getIframeManager();
6910
6639
  } catch (e) {
@@ -6912,7 +6641,7 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
6912
6641
  return null;
6913
6642
  }
6914
6643
  }, []);
6915
- React19.useEffect(() => {
6644
+ React18.useEffect(() => {
6916
6645
  const loadCloudProviders = async () => {
6917
6646
  try {
6918
6647
  const { getAvailableCloudProviders: getAvailableCloudProviders3 } = await Promise.resolve().then(() => (init_cloudStorage(), cloudStorage_exports));
@@ -6932,7 +6661,7 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
6932
6661
  };
6933
6662
  loadCloudProviders();
6934
6663
  }, [selectedCloudProvider]);
6935
- const refreshStatus = React19.useCallback(async () => {
6664
+ const refreshStatus = React18.useCallback(async () => {
6936
6665
  if (!iframeManager) return;
6937
6666
  try {
6938
6667
  const status = await iframeManager.getBackupStatus(userId);
@@ -6941,7 +6670,7 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
6941
6670
  console.error("[KeyshareBackup] Failed to get backup status:", error2);
6942
6671
  }
6943
6672
  }, [iframeManager, userId]);
6944
- React19.useEffect(() => {
6673
+ React18.useEffect(() => {
6945
6674
  refreshStatus();
6946
6675
  }, [refreshStatus]);
6947
6676
  const handleBackup = async (method) => {
@@ -7026,30 +6755,30 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7026
6755
  const date = new Date(timestamp);
7027
6756
  return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
7028
6757
  };
7029
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Card, { className: "border-green-200 bg-green-50", children: [
7030
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardHeader, { className: "pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center justify-between", children: [
7031
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-3", children: [
7032
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Shield, { className: "h-6 w-6 text-green-600" }),
7033
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7034
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardTitle, { className: "text-lg", children: "Create Backup" }),
7035
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CardDescription, { className: "text-sm", children: "Secure your keyshare with encrypted backups" })
6758
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Card, { className: `${theme.modalBg} ${isDark ? "border-green-900/50" : "border-green-200"}`, children: [
6759
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CardHeader, { className: "pb-4", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center justify-between", children: [
6760
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3", children: [
6761
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Shield, { className: `h-6 w-6 ${isDark ? "text-green-400" : "text-green-600"}` }),
6762
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6763
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CardTitle, { className: `text-lg ${theme.titleText}`, children: "Create Backup" }),
6764
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CardDescription, { className: `text-sm ${theme.mutedText}`, children: "Secure your keyshare with encrypted backups" })
7036
6765
  ] })
7037
6766
  ] }),
7038
- onClose && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("button", { onClick: onClose, className: "p-1 rounded bg-red-100 text-red-600 hover:bg-red-200 transition-colors", title: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.X, { className: "h-4 w-4" }) })
6767
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("button", { onClick: onClose, className: `p-1 rounded transition-colors ${isDark ? "bg-red-900/40 text-red-400 hover:bg-red-900/60" : "bg-red-100 text-red-600 hover:bg-red-200"}`, title: "Close", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.X, { className: "h-4 w-4" }) })
7039
6768
  ] }) }),
7040
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(CardContent, { className: "space-y-6", children: [
7041
- error && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 p-3 rounded bg-red-50 border border-red-200 text-red-700 text-sm", children: [
7042
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
7043
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: error })
6769
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(CardContent, { className: "space-y-6", children: [
6770
+ error && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 p-3 rounded text-sm ${isDark ? "bg-red-950/50 border border-red-900/60 text-red-300" : "bg-red-50 border border-red-200 text-red-700"}`, children: [
6771
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.AlertCircle, { className: "h-4 w-4 flex-shrink-0" }),
6772
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: error })
7044
6773
  ] }),
7045
- success && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2 p-3 rounded bg-green-50 border border-green-200 text-green-700 text-sm", children: [
7046
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
7047
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: success })
6774
+ success && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-center gap-2 p-3 rounded text-sm ${isDark ? "bg-green-950/50 border border-green-900/60 text-green-300" : "bg-green-50 border border-green-200 text-green-700"}`, children: [
6775
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.CheckCircle2, { className: "h-4 w-4 flex-shrink-0" }),
6776
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: success })
7048
6777
  ] }),
7049
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-3", children: [
7050
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-sm font-medium text-gray-700", children: "Encryption Method:" }),
7051
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7052
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6778
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-3", children: [
6779
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Encryption Method:" }),
6780
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6781
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7053
6782
  "input",
7054
6783
  {
7055
6784
  type: "checkbox",
@@ -7059,14 +6788,14 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7059
6788
  className: "rounded"
7060
6789
  }
7061
6790
  ),
7062
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { htmlFor: "use-backup-password", className: "text-sm font-medium", children: "Use custom password instead of passkey" })
6791
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("label", { htmlFor: "use-backup-password", className: `text-sm font-medium ${isDark ? "text-gray-300" : ""}`, children: "Use custom password instead of passkey" })
7063
6792
  ] }),
7064
- !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "p-3 bg-blue-50 border border-blue-200 rounded text-sm text-blue-700", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7065
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Key, { className: "h-4 w-4" }),
7066
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: "Your passkey will be used to encrypt the backup securely" })
6793
+ !useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `p-3 rounded text-sm ${isDark ? "bg-blue-950/50 border border-blue-900/60 text-blue-300" : "bg-blue-50 border border-blue-200 text-blue-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-2", children: [
6794
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Key, { className: "h-4 w-4" }),
6795
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: "Your passkey will be used to encrypt the backup securely" })
7067
6796
  ] }) }),
7068
- useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "relative", children: [
7069
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6797
+ useCustomPassword && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "relative", children: [
6798
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7070
6799
  Input,
7071
6800
  {
7072
6801
  type: showPassword ? "text" : "password",
@@ -7076,28 +6805,28 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7076
6805
  className: "pr-10"
7077
6806
  }
7078
6807
  ),
7079
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6808
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7080
6809
  "button",
7081
6810
  {
7082
6811
  type: "button",
7083
6812
  onClick: () => setShowPassword(!showPassword),
7084
6813
  className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-500 hover:text-gray-700",
7085
- children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Eye, { className: "h-4 w-4" })
6814
+ children: showPassword ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.EyeOff, { className: "h-4 w-4" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Eye, { className: "h-4 w-4" })
7086
6815
  }
7087
6816
  )
7088
6817
  ] })
7089
6818
  ] }),
7090
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-4", children: [
7091
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-sm font-medium text-gray-700", children: "Choose Backup Method:" }),
7092
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "p-4 rounded-lg border border-blue-200 bg-blue-50/50", children: [
7093
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex items-center justify-between mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-3", children: [
7094
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Server, { className: "h-5 w-5 text-blue-600" }),
7095
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7096
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "font-medium text-sm", children: "Server Backup" }),
7097
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-xs text-gray-600", children: "Store encrypted backup on secure server" })
6819
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "space-y-4", children: [
6820
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-gray-300" : "text-gray-700"}`, children: "Choose Backup Method:" }),
6821
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-4 rounded-lg border ${isDark ? "border-blue-800/60 bg-blue-950/60" : "border-blue-200 bg-blue-50/50"}`, children: [
6822
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-between mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3", children: [
6823
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Server, { className: `h-5 w-5 ${isDark ? "text-blue-400" : "text-blue-600"}` }),
6824
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6825
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-sm ${isDark ? "text-gray-200" : ""}`, children: "Server Backup" }),
6826
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: "Store encrypted backup on secure server" })
7098
6827
  ] })
7099
6828
  ] }) }),
7100
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6829
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7101
6830
  Button,
7102
6831
  {
7103
6832
  onClick: () => handleBackup("server"),
@@ -7106,33 +6835,33 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7106
6835
  children: loading.server ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
7107
6836
  }
7108
6837
  ),
7109
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "text-xs text-gray-600 mt-2", children: [
6838
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-xs mt-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
7110
6839
  "Encrypted backup stored on secure server \u2022 Last: ",
7111
6840
  formatLastBackup(backupStatus.server.lastBackup)
7112
6841
  ] })
7113
6842
  ] }),
7114
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "p-4 rounded-lg border border-sky-200 bg-sky-50/50", children: [
7115
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
7116
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Cloud, { className: "h-5 w-5 text-sky-600" }),
7117
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7118
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "font-medium text-sm", children: "Cloud Backup" }),
7119
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-xs text-gray-600", children: "Store encrypted backup in cloud storage" })
6843
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-4 rounded-lg border ${isDark ? "border-sky-800/60 bg-sky-950/60" : "border-sky-200 bg-sky-50/50"}`, children: [
6844
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
6845
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Cloud, { className: `h-5 w-5 ${isDark ? "text-sky-400" : "text-sky-600"}` }),
6846
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6847
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-sm ${isDark ? "text-gray-200" : ""}`, children: "Cloud Backup" }),
6848
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: "Store encrypted backup in cloud storage" })
7120
6849
  ] })
7121
6850
  ] }),
7122
- cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6851
+ cloudProviders.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7123
6852
  "select",
7124
6853
  {
7125
6854
  value: selectedCloudProvider || "",
7126
6855
  onChange: (e) => setSelectedCloudProvider(e.target.value),
7127
- className: "text-sm border rounded px-2 py-1 w-full",
7128
- children: cloudProviders.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("option", { value: provider.id, disabled: !provider.available, children: [
6856
+ className: `text-sm border rounded px-2 py-1 w-full ${isDark ? "bg-gray-800 border-gray-700 text-gray-200" : ""}`,
6857
+ children: cloudProviders.map((provider) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("option", { value: provider.id, disabled: !provider.available, children: [
7129
6858
  provider.name,
7130
6859
  " ",
7131
6860
  provider.available ? "" : "(Not Available)"
7132
6861
  ] }, provider.id))
7133
6862
  }
7134
6863
  ) }),
7135
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6864
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7136
6865
  Button,
7137
6866
  {
7138
6867
  onClick: () => handleBackup("cloud"),
@@ -7141,17 +6870,17 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7141
6870
  children: loading.cloud ? "Creating..." : useCustomPassword ? "Create with Password" : "Create with Passkey"
7142
6871
  }
7143
6872
  ),
7144
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-xs text-gray-600 mt-2", children: cloudProviders.length > 0 ? `Direct backup to ${cloudProviders.find((p) => p.id === selectedCloudProvider)?.name || "cloud storage"} \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` : `No cloud providers configured \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` })
6873
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs mt-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: cloudProviders.length > 0 ? `Direct backup to ${cloudProviders.find((p) => p.id === selectedCloudProvider)?.name || "cloud storage"} \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` : `No cloud providers configured \u2022 Last: ${formatLastBackup(backupStatus.cloud.lastBackup)}` })
7145
6874
  ] }),
7146
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "p-4 rounded-lg border border-purple-200 bg-purple-50/50", children: [
7147
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
7148
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Download, { className: "h-5 w-5 text-purple-600" }),
7149
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7150
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "font-medium text-sm", children: "File Backup" }),
7151
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "text-xs text-gray-600", children: "Download encrypted backup file to your device" })
6875
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `p-4 rounded-lg border ${isDark ? "border-purple-800/60 bg-purple-950/60" : "border-purple-200 bg-purple-50/50"}`, children: [
6876
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex items-center gap-3 mb-3", children: [
6877
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Download, { className: `h-5 w-5 ${isDark ? "text-purple-400" : "text-purple-600"}` }),
6878
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6879
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `font-medium text-sm ${isDark ? "text-gray-200" : ""}`, children: "File Backup" }),
6880
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `text-xs ${isDark ? "text-gray-400" : "text-gray-600"}`, children: "Download encrypted backup file to your device" })
7152
6881
  ] })
7153
6882
  ] }),
7154
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
6883
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
7155
6884
  Button,
7156
6885
  {
7157
6886
  onClick: () => handleBackup("local"),
@@ -7160,18 +6889,18 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7160
6889
  children: loading.local ? "Creating..." : useCustomPassword ? "Create & Download" : "Create & Download with Passkey"
7161
6890
  }
7162
6891
  ),
7163
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "text-xs text-gray-600 mt-2", children: [
6892
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `text-xs mt-2 ${isDark ? "text-gray-400" : "text-gray-600"}`, children: [
7164
6893
  "Download encrypted backup file to your device \u2022 Last: ",
7165
6894
  formatLastBackup(backupStatus.local.lastBackup)
7166
6895
  ] })
7167
6896
  ] })
7168
6897
  ] }),
7169
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-start gap-2 p-3 bg-amber-50 border border-amber-200 rounded text-amber-800 text-xs", children: [
7170
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Lock, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
7171
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
7172
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "font-medium", children: "Security Notice" }),
7173
- /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "mt-1", children: [
7174
- useCustomPassword ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: "All backups are encrypted with AES-256 using your custom password. Store your password securely - without it, backups cannot be restored." }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: "All backups are encrypted with AES-256 using your passkey. Your passkey authenticator (device/biometrics) is required to restore backups." }),
6898
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `flex items-start gap-2 p-3 rounded text-xs ${isDark ? "bg-amber-950/50 border border-amber-900/60 text-amber-300" : "bg-amber-50 border border-amber-200 text-amber-800"}`, children: [
6899
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react8.Lock, { className: "h-4 w-4 mt-0.5 flex-shrink-0" }),
6900
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
6901
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "font-medium", children: "Security Notice" }),
6902
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "mt-1", children: [
6903
+ useCustomPassword ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children: "All backups are encrypted with AES-256 using your custom password. Store your password securely - without it, backups cannot be restored." }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children: "All backups are encrypted with AES-256 using your passkey. Your passkey authenticator (device/biometrics) is required to restore backups." }),
7175
6904
  " ",
7176
6905
  "Without backup access, you cannot recover your smart account if you lose this device."
7177
6906
  ] })
@@ -7183,16 +6912,16 @@ function KeyshareBackup({ userId, onClose, onBackupSuccess }) {
7183
6912
 
7184
6913
  // src/internal/components/TransactionsModal.tsx
7185
6914
  var import_react13 = __toESM(require("react"), 1);
7186
- var import_lucide_react10 = require("lucide-react");
6915
+ var import_lucide_react9 = require("lucide-react");
7187
6916
  init_base();
7188
- var import_jsx_runtime24 = require("react/jsx-runtime");
6917
+ var import_jsx_runtime23 = require("react/jsx-runtime");
7189
6918
  var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7190
6919
  const { address } = useLumiaSession();
7191
6920
  const [transactions, setTransactions] = import_react13.default.useState([]);
7192
6921
  const [loading, setLoading] = import_react13.default.useState(false);
7193
6922
  const [error, setError] = import_react13.default.useState(null);
7194
6923
  const { config } = useLumiaPassportConfig();
7195
- const { isDark, classes: theme } = useTheme(config.ui.theme);
6924
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
7196
6925
  const loadTransactions = import_react13.default.useCallback(async () => {
7197
6926
  if (!address) return;
7198
6927
  setLoading(true);
@@ -7235,98 +6964,98 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7235
6964
  }
7236
6965
  };
7237
6966
  const getStatusIcon = (status) => {
7238
- return status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.CheckCircle2, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.XCircle, { className: "w-4 h-4 text-red-500" });
6967
+ return status === "ok" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.CheckCircle2, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.XCircle, { className: "w-4 h-4 text-red-500" });
7239
6968
  };
7240
6969
  const getTransactionIcon = (from, to) => {
7241
6970
  const isIncoming = to.toLowerCase() === address?.toLowerCase();
7242
- return isIncoming ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ArrowDownRight, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ArrowUpRight, { className: "w-4 h-4 text-blue-500" });
6971
+ return isIncoming ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowDownRight, { className: "w-4 h-4 text-green-500" }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowUpRight, { className: "w-4 h-4 text-blue-500" });
7243
6972
  };
7244
6973
  const openInExplorer = (txHash) => {
7245
6974
  const explorerUrl = getExplorerUrl();
7246
6975
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
7247
6976
  };
7248
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7249
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { children: "Transaction History" }) }),
7250
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { className: "sr-only", children: "View your transaction history" }),
7251
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7252
- onBack && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
6977
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
6978
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogTitle, { children: "Transaction History" }) }),
6979
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DialogDescription, { className: "sr-only", children: "View your transaction history" }),
6980
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
6981
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7253
6982
  "button",
7254
6983
  {
7255
6984
  onClick: onBack,
7256
6985
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7257
6986
  title: "Back",
7258
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ArrowLeft, { className: "h-4 w-4" })
6987
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.ArrowLeft, { className: "h-4 w-4" })
7259
6988
  }
7260
6989
  ),
7261
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7262
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Activity, { className: "h-5 w-5" }),
7263
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { children: "Transaction History" }),
7264
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
6990
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
6991
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Activity, { className: "h-5 w-5" }),
6992
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { children: "Transaction History" }),
6993
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7265
6994
  "button",
7266
6995
  {
7267
6996
  onClick: loadTransactions,
7268
6997
  disabled: loading,
7269
6998
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7270
6999
  title: "Refresh transactions",
7271
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.RefreshCw, { className: `h-4 w-4 ${loading ? "animate-spin" : ""}` })
7000
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.RefreshCw, { className: `h-4 w-4 ${loading ? "animate-spin" : ""}` })
7272
7001
  }
7273
7002
  )
7274
7003
  ] })
7275
7004
  ] }) }),
7276
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${theme.mutedText}`, children: "Loading transactions..." }) }) : error ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${isDark ? "text-red-400" : "text-red-500"}`, children: [
7277
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.XCircle, { className: "w-12 h-12 mb-2" }),
7278
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-center text-sm", children: error })
7279
- ] }) : transactions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7280
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Activity, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7281
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("p", { className: "text-center", children: [
7005
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: loading ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `${theme.mutedText}`, children: "Loading transactions..." }) }) : error ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${isDark ? "text-red-400" : "text-red-500"}`, children: [
7006
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.XCircle, { className: "w-12 h-12 mb-2" }),
7007
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-center text-sm", children: error })
7008
+ ] }) : transactions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7009
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react9.Activity, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7010
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-center", children: [
7282
7011
  "No transactions found",
7283
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("br", {}),
7284
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
7012
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("br", {}),
7013
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-xs mt-2", children: "Smart account transactions will appear here" })
7285
7014
  ] })
7286
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "space-y-3", children: transactions.map((tx) => {
7015
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "space-y-3", children: transactions.map((tx) => {
7287
7016
  const isIncoming = tx.to.hash.toLowerCase() === address?.toLowerCase();
7288
7017
  const displayAddress = isIncoming ? tx.from.hash : tx.to.hash;
7289
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
7018
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
7290
7019
  "div",
7291
7020
  {
7292
7021
  className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors cursor-pointer`,
7293
7022
  onClick: () => openInExplorer(tx.hash),
7294
7023
  children: [
7295
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7296
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7024
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7025
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex items-center gap-2", children: [
7297
7026
  getTransactionIcon(tx.from.hash, tx.to.hash),
7298
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-medium ${theme.titleText}`, children: isIncoming ? "Received" : "Sent" }),
7027
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `font-medium ${theme.titleText}`, children: isIncoming ? "Received" : "Sent" }),
7299
7028
  getStatusIcon(tx.status)
7300
7029
  ] }),
7301
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: formatTime(tx.timestamp) })
7030
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `text-xs ${theme.mutedText}`, children: formatTime(tx.timestamp) })
7302
7031
  ] }),
7303
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "space-y-1 text-sm", children: [
7304
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7305
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: isIncoming ? "From:" : "To:" }),
7306
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7032
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "space-y-1 text-sm", children: [
7033
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7034
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: isIncoming ? "From:" : "To:" }),
7035
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7307
7036
  formatAddress(displayAddress),
7308
- (isIncoming ? tx.from.is_contract : tx.to.is_contract) && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} ml-1`, children: "(Contract)" })
7037
+ (isIncoming ? tx.from.is_contract : tx.to.is_contract) && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} ml-1`, children: "(Contract)" })
7309
7038
  ] })
7310
7039
  ] }),
7311
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7312
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Value:" }),
7313
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
7040
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7041
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Value:" }),
7042
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
7314
7043
  formatValue(tx.value),
7315
7044
  " LUMIA"
7316
7045
  ] })
7317
7046
  ] }),
7318
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7319
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Block:" }),
7320
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7047
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7048
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Block:" }),
7049
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: `font-mono ${theme.titleText}`, children: [
7321
7050
  "#",
7322
7051
  tx.block_number
7323
7052
  ] })
7324
7053
  ] }),
7325
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex justify-between", children: [
7326
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Method:" }),
7327
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-blue-400" : "text-blue-600"} text-xs`, children: tx.method })
7054
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex justify-between", children: [
7055
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${theme.bodyText}`, children: "Method:" }),
7056
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: `${isDark ? "text-blue-400" : "text-blue-600"} text-xs`, children: tx.method })
7328
7057
  ] }),
7329
- tx.transaction_types && tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7058
+ tx.transaction_types && tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
7330
7059
  "span",
7331
7060
  {
7332
7061
  className: `text-xs ${isDark ? "bg-blue-900/30 text-blue-300" : "bg-blue-100 text-blue-800"} px-2 py-0.5 rounded-full`,
@@ -7340,7 +7069,7 @@ var TransactionsModal = ({ open, onOpenChange, onBack }) => {
7340
7069
  tx.hash
7341
7070
  );
7342
7071
  }) }) }),
7343
- transactions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7072
+ transactions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7344
7073
  "Total: ",
7345
7074
  transactions.length,
7346
7075
  " transaction",
@@ -7514,15 +7243,15 @@ function useTokenBalance(tokenAddress, userAddress) {
7514
7243
  }
7515
7244
 
7516
7245
  // src/internal/components/ViewAssetsModal.tsx
7517
- var import_lucide_react11 = require("lucide-react");
7246
+ var import_lucide_react10 = require("lucide-react");
7518
7247
  init_base();
7519
- var import_jsx_runtime25 = require("react/jsx-runtime");
7248
+ var import_jsx_runtime24 = require("react/jsx-runtime");
7520
7249
  var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7521
7250
  const { address } = useLumiaSession();
7522
7251
  const { assets, refreshBalances, isLoading } = useAssets(address);
7523
7252
  const [copied, setCopied] = import_react15.default.useState(null);
7524
7253
  const { config } = useLumiaPassportConfig();
7525
- const { isDark, classes: theme } = useTheme(config.ui.theme);
7254
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
7526
7255
  const handleCopy = async (text, type) => {
7527
7256
  try {
7528
7257
  await navigator.clipboard.writeText(text);
@@ -7535,107 +7264,107 @@ var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7535
7264
  const openInExplorer = (address2) => {
7536
7265
  window.open(`${LUMIA_EXPLORER_URL}/address/${address2}`, "_blank");
7537
7266
  };
7538
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7539
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogTitle, { children: "View Assets" }) }),
7540
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DialogDescription, { className: "sr-only", children: "View your token balances and assets" }),
7541
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7542
- onBack && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7267
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
7268
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogTitle, { children: "View Assets" }) }),
7269
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DialogDescription, { className: "sr-only", children: "View your token balances and assets" }),
7270
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7271
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7543
7272
  "button",
7544
7273
  {
7545
7274
  onClick: onBack,
7546
7275
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
7547
7276
  title: "Back",
7548
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.ArrowLeft, { className: "h-4 w-4" })
7277
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ArrowLeft, { className: "h-4 w-4" })
7549
7278
  }
7550
7279
  ),
7551
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7552
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.Gem, { className: "h-5 w-5" }),
7553
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { children: "Your Assets" }),
7554
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7280
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7281
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Gem, { className: "h-5 w-5" }),
7282
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { children: "Your Assets" }),
7283
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7555
7284
  "button",
7556
7285
  {
7557
7286
  onClick: refreshBalances,
7558
7287
  disabled: isLoading,
7559
7288
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1`,
7560
7289
  title: "Refresh balances",
7561
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.RefreshCw, { className: `h-4 w-4 ${isLoading ? "animate-spin" : ""}` })
7290
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.RefreshCw, { className: `h-4 w-4 ${isLoading ? "animate-spin" : ""}` })
7562
7291
  }
7563
7292
  )
7564
7293
  ] })
7565
7294
  ] }) }),
7566
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${theme.mutedText}`, children: "Loading assets..." }) }) : assets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7567
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.Gem, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7568
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { children: "No assets found" })
7569
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "space-y-3", children: assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors`, children: [
7570
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7571
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-3", children: [
7572
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
7573
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { children: [
7574
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-medium ${theme.titleText}`, children: asset.name }),
7575
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7295
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "p-5 max-h-[60vh] overflow-y-auto", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex items-center justify-center py-8", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${theme.mutedText}`, children: "Loading assets..." }) }) : assets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `flex flex-col items-center justify-center py-8 ${theme.mutedText}`, children: [
7296
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Gem, { className: `w-12 h-12 mb-2 ${isDark ? "text-gray-600" : "text-gray-300"}` }),
7297
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { children: "No assets found" })
7298
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "space-y-3", children: assets.map((asset, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-4 transition-colors`, children: [
7299
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
7300
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-3", children: [
7301
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-10 h-10 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-white font-bold text-sm", children: asset.symbol.charAt(0) }) }),
7302
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { children: [
7303
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `font-medium ${theme.titleText}`, children: asset.name }),
7304
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7576
7305
  ] })
7577
7306
  ] }),
7578
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "text-right", children: [
7579
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `font-mono ${theme.titleText}`, children: asset.formattedBalance }),
7580
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7307
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "text-right", children: [
7308
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `font-mono ${theme.titleText}`, children: asset.formattedBalance }),
7309
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: asset.symbol })
7581
7310
  ] })
7582
7311
  ] }),
7583
- asset.address && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `space-y-2 mt-3 pt-3 border-t ${theme.divider}`, children: [
7584
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7585
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Contract Address:" }),
7586
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7587
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
7588
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7312
+ asset.address && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `space-y-2 mt-3 pt-3 border-t ${theme.divider}`, children: [
7313
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7314
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Contract Address:" }),
7315
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7316
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${asset.address.slice(0, 6)}...${asset.address.slice(-4)}` }),
7317
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7589
7318
  "button",
7590
7319
  {
7591
7320
  onClick: () => handleCopy(asset.address, "address"),
7592
7321
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7593
7322
  title: "Copy address",
7594
- children: copied === "address" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.Copy, { className: "w-3 h-3" })
7323
+ children: copied === "address" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7595
7324
  }
7596
7325
  ),
7597
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7326
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7598
7327
  "button",
7599
7328
  {
7600
7329
  onClick: () => openInExplorer(asset.address),
7601
7330
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7602
7331
  title: "View in explorer",
7603
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.ExternalLink, { className: "w-3 h-3" })
7332
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7604
7333
  }
7605
7334
  )
7606
7335
  ] })
7607
7336
  ] }),
7608
- asset.decimals && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7609
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Decimals:" }),
7610
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.titleText}`, children: asset.decimals })
7337
+ asset.decimals && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7338
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Decimals:" }),
7339
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.titleText}`, children: asset.decimals })
7611
7340
  ] })
7612
7341
  ] }),
7613
- asset.type === "native" && address && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7614
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${theme.bodyText}`, children: "Your Address:" }),
7615
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex items-center gap-2", children: [
7616
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
7617
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7342
+ asset.type === "native" && address && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mt-3 pt-3 border-t border-gray-200", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center justify-between text-sm", children: [
7343
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${theme.bodyText}`, children: "Your Address:" }),
7344
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex items-center gap-2", children: [
7345
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `font-mono ${theme.titleText} text-xs`, children: `${address.slice(0, 6)}...${address.slice(-4)}` }),
7346
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7618
7347
  "button",
7619
7348
  {
7620
7349
  onClick: () => handleCopy(address, "wallet"),
7621
7350
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7622
7351
  title: "Copy wallet address",
7623
- children: copied === "wallet" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.Copy, { className: "w-3 h-3" })
7352
+ children: copied === "wallet" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${isDark ? "text-green-400" : "text-green-500"} text-xs`, children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.Copy, { className: "w-3 h-3" })
7624
7353
  }
7625
7354
  ),
7626
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
7355
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
7627
7356
  "button",
7628
7357
  {
7629
7358
  onClick: () => openInExplorer(address),
7630
7359
  className: `${isDark ? "text-gray-500 hover:text-gray-300" : "text-gray-400 hover:text-gray-600"}`,
7631
7360
  title: "View in explorer",
7632
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react11.ExternalLink, { className: "w-3 h-3" })
7361
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_lucide_react10.ExternalLink, { className: "w-3 h-3" })
7633
7362
  }
7634
7363
  )
7635
7364
  ] })
7636
7365
  ] }) })
7637
7366
  ] }, `${asset.type}-${asset.address || "native"}-${index}`)) }) }),
7638
- assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7367
+ assets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `p-5 border-t ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
7639
7368
  "Total: ",
7640
7369
  assets.length,
7641
7370
  " asset",
@@ -7646,7 +7375,7 @@ var ViewAssetsModal = ({ open, onOpenChange, onBack }) => {
7646
7375
 
7647
7376
  // src/internal/components/SendModal.tsx
7648
7377
  var import_react17 = require("react");
7649
- var import_lucide_react14 = require("lucide-react");
7378
+ var import_lucide_react13 = require("lucide-react");
7650
7379
 
7651
7380
  // src/hooks/useSendTransaction.ts
7652
7381
  var import_react16 = require("react");
@@ -7713,8 +7442,8 @@ var import_viem6 = require("viem");
7713
7442
  var import_wagmi7 = require("wagmi");
7714
7443
 
7715
7444
  // src/internal/components/UserOpStatus.tsx
7716
- var React24 = __toESM(require("react"), 1);
7717
- var import_lucide_react13 = require("lucide-react");
7445
+ var React23 = __toESM(require("react"), 1);
7446
+ var import_lucide_react12 = require("lucide-react");
7718
7447
 
7719
7448
  // src/internal/components/ui/badge.tsx
7720
7449
  var import_class_variance_authority2 = require("class-variance-authority");
@@ -7727,7 +7456,7 @@ function cn2(...inputs) {
7727
7456
  }
7728
7457
 
7729
7458
  // src/internal/components/ui/badge.tsx
7730
- var import_jsx_runtime26 = require("react/jsx-runtime");
7459
+ var import_jsx_runtime25 = require("react/jsx-runtime");
7731
7460
  var badgeVariants = (0, import_class_variance_authority2.cva)(
7732
7461
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
7733
7462
  {
@@ -7747,13 +7476,13 @@ var badgeVariants = (0, import_class_variance_authority2.cva)(
7747
7476
  }
7748
7477
  );
7749
7478
  function Badge({ className, variant, ...props }) {
7750
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
7479
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn2(badgeVariants({ variant }), className), ...props });
7751
7480
  }
7752
7481
 
7753
7482
  // src/internal/components/Address.tsx
7754
- var React23 = __toESM(require("react"), 1);
7755
- var import_lucide_react12 = require("lucide-react");
7756
- var import_jsx_runtime27 = require("react/jsx-runtime");
7483
+ var React22 = __toESM(require("react"), 1);
7484
+ var import_lucide_react11 = require("lucide-react");
7485
+ var import_jsx_runtime26 = require("react/jsx-runtime");
7757
7486
  function toExplorerAddressUrl(address, chain) {
7758
7487
  const base2 = chain?.blockExplorers?.default?.url;
7759
7488
  if (!base2) return null;
@@ -7774,12 +7503,12 @@ var Address = ({
7774
7503
  }) => {
7775
7504
  const addr = address || "";
7776
7505
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
7777
- const [copied, setCopied] = React23.useState(false);
7778
- if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
7779
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
7780
- label && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium", children: label }),
7781
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
7782
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7506
+ const [copied, setCopied] = React22.useState(false);
7507
+ if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
7508
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
7509
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-sm font-medium", children: label }),
7510
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
7511
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
7783
7512
  Button,
7784
7513
  {
7785
7514
  variant: "ghost",
@@ -7793,10 +7522,10 @@ var Address = ({
7793
7522
  } catch {
7794
7523
  }
7795
7524
  },
7796
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Copy, { className: "h-4 w-4" })
7525
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.Copy, { className: "h-4 w-4" })
7797
7526
  }
7798
7527
  ),
7799
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7528
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
7800
7529
  "a",
7801
7530
  {
7802
7531
  href: explorer,
@@ -7804,7 +7533,7 @@ var Address = ({
7804
7533
  rel: "noreferrer noopener",
7805
7534
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
7806
7535
  title: "Open in explorer",
7807
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ExternalLink, { className: "h-4 w-4" })
7536
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react11.ExternalLink, { className: "h-4 w-4" })
7808
7537
  }
7809
7538
  )
7810
7539
  ] });
@@ -7812,7 +7541,7 @@ var Address = ({
7812
7541
 
7813
7542
  // src/internal/components/UserOpStatus.tsx
7814
7543
  init_base();
7815
- var import_jsx_runtime28 = require("react/jsx-runtime");
7544
+ var import_jsx_runtime27 = require("react/jsx-runtime");
7816
7545
  var UserOpStatus = ({
7817
7546
  userOpHash,
7818
7547
  chain,
@@ -7823,20 +7552,20 @@ var UserOpStatus = ({
7823
7552
  externalState
7824
7553
  }) => {
7825
7554
  const useExternalState = !!externalState;
7826
- const [internalReceipt, setInternalReceipt] = React24.useState(null);
7827
- const [internalMempool, setInternalMempool] = React24.useState(null);
7828
- const [internalError, setInternalError] = React24.useState(null);
7829
- const [attempt, setAttempt] = React24.useState(0);
7830
- const [internalRefreshing, setInternalRefreshing] = React24.useState(false);
7831
- const [timedOut, setTimedOut] = React24.useState(false);
7832
- const [rejected, setRejected] = React24.useState(false);
7833
- const intervalRef = React24.useRef(null);
7834
- const startTimeRef = React24.useRef(Date.now());
7555
+ const [internalReceipt, setInternalReceipt] = React23.useState(null);
7556
+ const [internalMempool, setInternalMempool] = React23.useState(null);
7557
+ const [internalError, setInternalError] = React23.useState(null);
7558
+ const [attempt, setAttempt] = React23.useState(0);
7559
+ const [internalRefreshing, setInternalRefreshing] = React23.useState(false);
7560
+ const [timedOut, setTimedOut] = React23.useState(false);
7561
+ const [rejected, setRejected] = React23.useState(false);
7562
+ const intervalRef = React23.useRef(null);
7563
+ const startTimeRef = React23.useRef(Date.now());
7835
7564
  const receipt = useExternalState ? externalState.receipt ?? null : internalReceipt;
7836
7565
  const mempool = useExternalState ? externalState.mempool ?? null : internalMempool;
7837
7566
  const error = useExternalState ? externalState.error ?? null : internalError;
7838
7567
  const refreshing = useExternalState ? externalState.isPolling ?? false : internalRefreshing;
7839
- const rpc = React24.useCallback(async (method, params) => {
7568
+ const rpc = React23.useCallback(async (method, params) => {
7840
7569
  const body = { jsonrpc: "2.0", id: 1, method, params };
7841
7570
  const res = await fetch(getBundlerUrl(), {
7842
7571
  method: "POST",
@@ -7847,14 +7576,14 @@ var UserOpStatus = ({
7847
7576
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
7848
7577
  return json.result;
7849
7578
  }, []);
7850
- const extractMempoolInfo = React24.useCallback((m) => {
7579
+ const extractMempoolInfo = React23.useCallback((m) => {
7851
7580
  if (!m) return null;
7852
7581
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
7853
7582
  const sender = m.sender || m?.userOperation?.sender || null;
7854
7583
  if (!entryPoint && !sender) return null;
7855
7584
  return { entryPoint, sender };
7856
7585
  }, []);
7857
- const tick = React24.useCallback(async () => {
7586
+ const tick = React23.useCallback(async () => {
7858
7587
  if (useExternalState) return;
7859
7588
  const elapsed = Date.now() - startTimeRef.current;
7860
7589
  if (elapsed > maxPollTimeMs) {
@@ -7898,7 +7627,7 @@ var UserOpStatus = ({
7898
7627
  setAttempt((x) => x + 1);
7899
7628
  }
7900
7629
  }, [rpc, userOpHash, maxPollTimeMs, extractMempoolInfo, useExternalState]);
7901
- React24.useEffect(() => {
7630
+ React23.useEffect(() => {
7902
7631
  if (useExternalState) return;
7903
7632
  console.log("[UserOpStatus] Initializing polling for UserOp hash:", userOpHash);
7904
7633
  startTimeRef.current = Date.now();
@@ -7910,7 +7639,7 @@ var UserOpStatus = ({
7910
7639
  setAttempt(0);
7911
7640
  setInternalRefreshing(false);
7912
7641
  }, [userOpHash, useExternalState]);
7913
- React24.useEffect(() => {
7642
+ React23.useEffect(() => {
7914
7643
  if (useExternalState) {
7915
7644
  console.log("[UserOpStatus] Using external state, skipping internal polling");
7916
7645
  return;
@@ -7945,54 +7674,54 @@ var UserOpStatus = ({
7945
7674
  const stateBadge = () => {
7946
7675
  if (receipt) {
7947
7676
  const ok = !!receipt.success;
7948
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
7949
- ok ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-3 w-3" }),
7677
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: ok ? "success" : "destructive", className: "gap-1", children: [
7678
+ ok ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7950
7679
  ok ? "Included" : "Failed"
7951
7680
  ] });
7952
7681
  }
7953
7682
  if (rejected) {
7954
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
7955
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-3 w-3" }),
7683
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "destructive", className: "gap-1", children: [
7684
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7956
7685
  " Rejected by bundler"
7957
7686
  ] });
7958
7687
  }
7959
7688
  if (timedOut) {
7960
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
7961
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-3 w-3" }),
7689
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "warning", className: "gap-1", children: [
7690
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-3 w-3" }),
7962
7691
  " Timeout - may be rejected"
7963
7692
  ] });
7964
7693
  }
7965
7694
  if (mempool) {
7966
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
7967
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Clock, { className: "h-3 w-3" }),
7695
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "outline", className: "gap-1", children: [
7696
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7968
7697
  " Pending in bundler"
7969
7698
  ] });
7970
7699
  }
7971
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
7972
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Clock, { className: "h-3 w-3" }),
7700
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Badge, { variant: "secondary", className: "gap-1", children: [
7701
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Clock, { className: "h-3 w-3" }),
7973
7702
  " Waiting"
7974
7703
  ] });
7975
7704
  };
7976
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
7705
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
7977
7706
  "div",
7978
7707
  {
7979
7708
  className: cn2("lumia-scope bg-card text-card-foreground p-0 rounded-xl border border-border w-full max-w-[680px]", className),
7980
7709
  style: { textAlign: "left", listStyle: "none" },
7981
7710
  children: [
7982
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
7983
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2", children: [
7711
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
7712
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2", children: [
7984
7713
  stateBadge(),
7985
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
7714
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
7986
7715
  ] }),
7987
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
7988
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
7989
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-xs", children: "Refresh" })
7716
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Button, { variant: "ghost", size: "sm", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
7717
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
7718
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-xs", children: "Refresh" })
7990
7719
  ] })
7991
7720
  ] }),
7992
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7993
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
7994
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
7995
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7721
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
7722
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
7723
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
7724
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
7996
7725
  Button,
7997
7726
  {
7998
7727
  variant: "ghost",
@@ -8004,14 +7733,14 @@ var UserOpStatus = ({
8004
7733
  } catch {
8005
7734
  }
8006
7735
  },
8007
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Copy, { className: "h-3.5 w-3.5" })
7736
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
8008
7737
  }
8009
7738
  )
8010
7739
  ] }),
8011
- receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
8012
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
8013
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
8014
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7740
+ receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
7741
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
7742
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
7743
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
8015
7744
  Button,
8016
7745
  {
8017
7746
  variant: "ghost",
@@ -8023,10 +7752,10 @@ var UserOpStatus = ({
8023
7752
  } catch {
8024
7753
  }
8025
7754
  },
8026
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Copy, { className: "h-3.5 w-3.5" })
7755
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.Copy, { className: "h-3.5 w-3.5" })
8027
7756
  }
8028
7757
  ),
8029
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
7758
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
8030
7759
  "a",
8031
7760
  {
8032
7761
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -8034,11 +7763,11 @@ var UserOpStatus = ({
8034
7763
  rel: "noreferrer noopener",
8035
7764
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
8036
7765
  title: "Open in explorer",
8037
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.ExternalLink, { className: "h-3.5 w-3.5" })
7766
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.ExternalLink, { className: "h-3.5 w-3.5" })
8038
7767
  }
8039
7768
  )
8040
7769
  ] }),
8041
- receipt && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
7770
+ receipt && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
8042
7771
  "Block ",
8043
7772
  parseInt(receipt.receipt?.blockNumber || "0x0", 16),
8044
7773
  " \u2022 Gas Used",
@@ -8047,32 +7776,32 @@ var UserOpStatus = ({
8047
7776
  " \u2022 Success ",
8048
7777
  String(!!receipt.success)
8049
7778
  ] }),
8050
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: "ml-2", children: [
7779
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("span", { className: "ml-2", children: [
8051
7780
  "\u2022 Polling for ",
8052
7781
  Math.round((Date.now() - startTimeRef.current) / 1e3),
8053
7782
  "s"
8054
7783
  ] }) }),
8055
- mempool && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
8056
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7784
+ mempool && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
7785
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
8057
7786
  "Seen by bundler at ",
8058
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
7787
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
8059
7788
  ] }),
8060
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7789
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { children: [
8061
7790
  "sender ",
8062
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Address, { address: mempool.sender, chain, truncate: false })
7791
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Address, { address: mempool.sender, chain, truncate: false })
8063
7792
  ] })
8064
7793
  ] }),
8065
- error && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8066
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
7794
+ error && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7795
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
8067
7796
  " ",
8068
7797
  error
8069
7798
  ] }),
8070
- rejected && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8071
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
7799
+ rejected && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7800
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
8072
7801
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
8073
7802
  ] }),
8074
- timedOut && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
8075
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
7803
+ timedOut && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
7804
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react12.AlertCircle, { className: "h-4 w-4" }),
8076
7805
  "Stopped polling after ",
8077
7806
  Math.round(maxPollTimeMs / 1e3),
8078
7807
  "s. UserOperation may have been rejected by the bundler."
@@ -8084,7 +7813,7 @@ var UserOpStatus = ({
8084
7813
 
8085
7814
  // src/internal/components/SendModal.tsx
8086
7815
  init_base();
8087
- var import_jsx_runtime29 = require("react/jsx-runtime");
7816
+ var import_jsx_runtime28 = require("react/jsx-runtime");
8088
7817
  var SendModal = ({
8089
7818
  open,
8090
7819
  onOpenChange,
@@ -8095,7 +7824,7 @@ var SendModal = ({
8095
7824
  const { address } = useLumiaSession();
8096
7825
  const { assets } = useAssets(address);
8097
7826
  const { config } = useLumiaPassportConfig();
8098
- const { isDark, classes: theme } = useTheme(config.ui.theme);
7827
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8099
7828
  const { sendTransaction, isLoading, error, userOpHash, reset } = useSendTransaction();
8100
7829
  const { refetch: refetchBalance } = (0, import_wagmi7.useBalance)({
8101
7830
  address,
@@ -8167,7 +7896,7 @@ var SendModal = ({
8167
7896
  const maxAmount = Math.max(0, balance - 1e-3);
8168
7897
  setAmount(maxAmount.toFixed(6));
8169
7898
  };
8170
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
7899
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8171
7900
  DialogContent,
8172
7901
  {
8173
7902
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8179,28 +7908,28 @@ var SendModal = ({
8179
7908
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8180
7909
  },
8181
7910
  children: [
8182
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogTitle, { children: "Send Transaction" }) }),
8183
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogDescription, { className: "sr-only", children: "Send LUMIA tokens to another address" }),
8184
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center gap-2", children: [
8185
- onBack && txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
7911
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DialogTitle, { children: "Send Transaction" }) }),
7912
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DialogDescription, { className: "sr-only", children: "Send LUMIA tokens to another address" }),
7913
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2", children: [
7914
+ onBack && txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8186
7915
  "button",
8187
7916
  {
8188
7917
  onClick: onBack,
8189
7918
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8190
7919
  title: "Back",
8191
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.ArrowLeft, { className: "h-4 w-4" })
7920
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.ArrowLeft, { className: "h-4 w-4" })
8192
7921
  }
8193
7922
  ),
8194
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8195
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.Send, { className: "h-5 w-5" }),
8196
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Send LUMIA" })
7923
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
7924
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Send, { className: "h-5 w-5" }),
7925
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { children: "Send LUMIA" })
8197
7926
  ] })
8198
7927
  ] }) }),
8199
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "p-5", children: [
8200
- txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8201
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8202
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Recipient Address" }),
8203
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
7928
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "p-5", children: [
7929
+ txStep === "input" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
7930
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7931
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Recipient Address" }),
7932
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8204
7933
  "input",
8205
7934
  {
8206
7935
  type: "text",
@@ -8211,17 +7940,17 @@ var SendModal = ({
8211
7940
  }
8212
7941
  )
8213
7942
  ] }),
8214
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8215
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
8216
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `text-sm font-medium ${theme.bodyText}`, children: "Amount" }),
8217
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
7943
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
7944
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
7945
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { className: `text-sm font-medium ${theme.bodyText}`, children: "Amount" }),
7946
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
8218
7947
  "Balance: ",
8219
7948
  balance.toFixed(4),
8220
7949
  " LUMIA"
8221
7950
  ] })
8222
7951
  ] }),
8223
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "relative", children: [
8224
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
7952
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "relative", children: [
7953
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8225
7954
  "input",
8226
7955
  {
8227
7956
  type: "number",
@@ -8232,7 +7961,7 @@ var SendModal = ({
8232
7961
  className: `w-full px-3 py-2 pr-16 border ${isDark ? "bg-gray-800 border-gray-600 text-white placeholder:text-gray-400" : "bg-white border-gray-300 text-gray-900 placeholder:text-gray-400"} rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500`
8233
7962
  }
8234
7963
  ),
8235
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
7964
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8236
7965
  "button",
8237
7966
  {
8238
7967
  onClick: handleMaxAmount,
@@ -8242,11 +7971,11 @@ var SendModal = ({
8242
7971
  )
8243
7972
  ] })
8244
7973
  ] }),
8245
- (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 p-3 ${isDark ? "bg-red-900/30 text-red-400" : "bg-red-50 text-red-700"} rounded-lg`, children: [
8246
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.AlertCircle, { className: "h-4 w-4" }),
8247
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-sm", children: validationError || error })
7974
+ (validationError || error) && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `flex items-center gap-2 p-3 ${isDark ? "bg-red-900/30 text-red-400" : "bg-red-50 text-red-700"} rounded-lg`, children: [
7975
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.AlertCircle, { className: "h-4 w-4" }),
7976
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-sm", children: validationError || error })
8248
7977
  ] }),
8249
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
7978
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8250
7979
  Button,
8251
7980
  {
8252
7981
  onClick: handleSend,
@@ -8257,29 +7986,29 @@ var SendModal = ({
8257
7986
  }
8258
7987
  )
8259
7988
  ] }),
8260
- txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8261
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8262
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("h3", { className: `font-medium ${theme.titleText} mb-3`, children: "Transaction Details" }),
8263
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-2 text-sm", children: [
8264
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8265
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "To:" }),
8266
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `font-mono ${theme.titleText}`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
7989
+ txStep === "confirm" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
7990
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
7991
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h3", { className: `font-medium ${theme.titleText} mb-3`, children: "Transaction Details" }),
7992
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-2 text-sm", children: [
7993
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
7994
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "To:" }),
7995
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `font-mono ${theme.titleText}`, children: `${recipient.slice(0, 6)}...${recipient.slice(-4)}` })
8267
7996
  ] }),
8268
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8269
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Amount:" }),
8270
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
7997
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
7998
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "Amount:" }),
7999
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: `font-semibold ${theme.titleText}`, children: [
8271
8000
  amount,
8272
8001
  " LUMIA"
8273
8002
  ] })
8274
8003
  ] }),
8275
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex justify-between", children: [
8276
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.bodyText}`, children: "Network:" }),
8277
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: `${theme.titleText}`, children: "Lumia Beam" })
8004
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex justify-between", children: [
8005
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.bodyText}`, children: "Network:" }),
8006
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: `${theme.titleText}`, children: "Lumia Beam" })
8278
8007
  ] })
8279
8008
  ] })
8280
8009
  ] }),
8281
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex gap-2", children: [
8282
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8010
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex gap-2", children: [
8011
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8283
8012
  Button,
8284
8013
  {
8285
8014
  onClick: () => setTxStep("input"),
@@ -8289,7 +8018,7 @@ var SendModal = ({
8289
8018
  children: "Back"
8290
8019
  }
8291
8020
  ),
8292
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8021
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
8293
8022
  Button,
8294
8023
  {
8295
8024
  onClick: handleConfirm,
@@ -8297,28 +8026,28 @@ var SendModal = ({
8297
8026
  className: "flex-1",
8298
8027
  size: "lg",
8299
8028
  children: [
8300
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.Loader2, { className: "h-4 w-4 animate-spin" }),
8029
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Loader2, { className: "h-4 w-4 animate-spin" }),
8301
8030
  "Confirm"
8302
8031
  ]
8303
8032
  }
8304
8033
  )
8305
8034
  ] })
8306
8035
  ] }),
8307
- txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
8308
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.Loader2, { className: `h-12 w-12 animate-spin ${isDark ? "text-blue-400" : "text-blue-600"} mx-auto` }),
8309
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
8310
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Pending" }),
8311
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Please wait while we process your transaction" })
8036
+ txStep === "pending" && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "py-8 text-center space-y-4", children: [
8037
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.Loader2, { className: `h-12 w-12 animate-spin ${isDark ? "text-blue-400" : "text-blue-600"} mx-auto` }),
8038
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { children: [
8039
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Pending" }),
8040
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Please wait while we process your transaction" })
8312
8041
  ] })
8313
8042
  ] }),
8314
- txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "space-y-4", children: [
8315
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "text-center py-4", children: [
8316
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.CheckCircle2, { className: `h-12 w-12 ${isDark ? "text-green-400" : "text-green-500"} mx-auto mb-3` }),
8317
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Sent!" }),
8318
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Your transaction is being processed" })
8043
+ txStep === "success" && userOpHash && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "space-y-4", children: [
8044
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-center py-4", children: [
8045
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react13.CheckCircle2, { className: `h-12 w-12 ${isDark ? "text-green-400" : "text-green-500"} mx-auto mb-3` }),
8046
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `font-medium ${theme.titleText}`, children: "Transaction Sent!" }),
8047
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: `text-sm ${theme.mutedText} mt-1`, children: "Your transaction is being processed" })
8319
8048
  ] }),
8320
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(UserOpStatus, { userOpHash, chain: lumiaBeam }) }),
8321
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8049
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(UserOpStatus, { userOpHash, chain: lumiaBeam }) }),
8050
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
8322
8051
  Button,
8323
8052
  {
8324
8053
  onClick: handleClose,
@@ -8336,9 +8065,9 @@ var SendModal = ({
8336
8065
 
8337
8066
  // src/internal/components/ReceiveModal.tsx
8338
8067
  var import_react18 = require("react");
8339
- var import_lucide_react15 = require("lucide-react");
8068
+ var import_lucide_react14 = require("lucide-react");
8340
8069
  var import_qrcode = __toESM(require("qrcode"), 1);
8341
- var import_jsx_runtime30 = require("react/jsx-runtime");
8070
+ var import_jsx_runtime29 = require("react/jsx-runtime");
8342
8071
  var ReceiveModal = ({
8343
8072
  open,
8344
8073
  onOpenChange,
@@ -8347,7 +8076,7 @@ var ReceiveModal = ({
8347
8076
  const { address } = useLumiaSession();
8348
8077
  const [qrCodeUrl, setQrCodeUrl] = (0, import_react18.useState)("");
8349
8078
  const { config } = useLumiaPassportConfig();
8350
- const { isDark, classes: theme } = useTheme(config.ui.theme);
8079
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8351
8080
  const [copied, setCopied] = (0, import_react18.useState)(false);
8352
8081
  (0, import_react18.useEffect)(() => {
8353
8082
  if (open && address) {
@@ -8379,7 +8108,7 @@ var ReceiveModal = ({
8379
8108
  if (!addr) return "";
8380
8109
  return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
8381
8110
  };
8382
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
8111
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
8383
8112
  DialogContent,
8384
8113
  {
8385
8114
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden max-h-[80vh] gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8391,51 +8120,51 @@ var ReceiveModal = ({
8391
8120
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8392
8121
  },
8393
8122
  children: [
8394
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogTitle, { children: "Receive LUMIA" }) }),
8395
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogDescription, { className: "sr-only", children: "Your wallet address and QR code for receiving LUMIA" }),
8396
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
8397
- onBack && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8123
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogTitle, { children: "Receive LUMIA" }) }),
8124
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DialogDescription, { className: "sr-only", children: "Your wallet address and QR code for receiving LUMIA" }),
8125
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center gap-2", children: [
8126
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8398
8127
  "button",
8399
8128
  {
8400
8129
  onClick: onBack,
8401
8130
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8402
8131
  title: "Back",
8403
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.ArrowLeft, { className: "h-4 w-4" })
8132
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.ArrowLeft, { className: "h-4 w-4" })
8404
8133
  }
8405
8134
  ),
8406
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8407
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.QrCode, { className: "h-5 w-5" }),
8408
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Receive LUMIA" })
8135
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8136
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.QrCode, { className: "h-5 w-5" }),
8137
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Receive LUMIA" })
8409
8138
  ] })
8410
8139
  ] }) }),
8411
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "p-5 space-y-4", children: [
8412
- qrCodeUrl && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isDark ? "bg-white" : "bg-white"} p-4 rounded-xl border ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }) }),
8413
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${isDark ? "bg-blue-900/30 border-blue-600" : "bg-blue-50 border-blue-200"} rounded-lg p-3`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `flex items-center gap-2 ${isDark ? "text-blue-300" : "text-blue-700"} text-sm`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex-1", children: [
8414
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "font-medium", children: "Network: Lumia Beam" }),
8415
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} mt-0.5`, children: "Ensure sender is on the same network" })
8140
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "p-5 space-y-4", children: [
8141
+ qrCodeUrl && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-white" : "bg-white"} p-4 rounded-xl border ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("img", { src: qrCodeUrl, alt: "Wallet QR Code", className: "w-48 h-48" }) }) }),
8142
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `${isDark ? "bg-blue-900/30 border-blue-600" : "bg-blue-50 border-blue-200"} rounded-lg p-3`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `flex items-center gap-2 ${isDark ? "text-blue-300" : "text-blue-700"} text-sm`, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex-1", children: [
8143
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "font-medium", children: "Network: Lumia Beam" }),
8144
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: `text-xs ${isDark ? "text-blue-400" : "text-blue-600"} mt-0.5`, children: "Ensure sender is on the same network" })
8416
8145
  ] }) }) }),
8417
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8418
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Your Wallet Address" }),
8419
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `flex-1 font-mono text-sm ${isDark ? "text-white bg-gray-700 border-gray-600" : "text-gray-900 bg-white border-gray-300"} rounded-lg px-3 py-2 break-all`, children: address }) }),
8420
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8146
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `${isDark ? "bg-gray-800" : "bg-gray-50"} rounded-lg p-4`, children: [
8147
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: `block text-sm font-medium ${theme.bodyText} mb-2`, children: "Your Wallet Address" }),
8148
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: `flex-1 font-mono text-sm ${isDark ? "text-white bg-gray-700 border-gray-600" : "text-gray-900 bg-white border-gray-300"} rounded-lg px-3 py-2 break-all`, children: address }) }),
8149
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
8421
8150
  Button,
8422
8151
  {
8423
8152
  onClick: handleCopy,
8424
8153
  className: "w-full mt-3",
8425
8154
  size: "lg",
8426
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8427
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.CheckCircle2, { className: "h-4 w-4" }),
8428
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Copied!" })
8429
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
8430
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.Copy, { className: "h-4 w-4" }),
8431
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Copy Address" })
8155
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
8156
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.CheckCircle2, { className: "h-4 w-4" }),
8157
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Copied!" })
8158
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
8159
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react14.Copy, { className: "h-4 w-4" }),
8160
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { children: "Copy Address" })
8432
8161
  ] })
8433
8162
  }
8434
8163
  )
8435
8164
  ] }),
8436
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
8437
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { children: "Share this address to receive LUMIA tokens." }),
8438
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "mt-1", children: "Only send LUMIA tokens to this address on Lumia Beam network." })
8165
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: `text-center text-sm ${theme.mutedText}`, children: [
8166
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { children: "Share this address to receive LUMIA tokens." }),
8167
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "mt-1", children: "Only send LUMIA tokens to this address on Lumia Beam network." })
8439
8168
  ] })
8440
8169
  ] })
8441
8170
  ]
@@ -8444,12 +8173,12 @@ var ReceiveModal = ({
8444
8173
  };
8445
8174
 
8446
8175
  // src/internal/components/BuyModal.tsx
8447
- var import_lucide_react16 = require("lucide-react");
8448
- var import_jsx_runtime31 = require("react/jsx-runtime");
8176
+ var import_lucide_react15 = require("lucide-react");
8177
+ var import_jsx_runtime30 = require("react/jsx-runtime");
8449
8178
  var BuyModal = ({ open, onOpenChange, onBack }) => {
8450
8179
  const { config } = useLumiaPassportConfig();
8451
- const { isDark, classes: theme } = useTheme(config.ui.theme);
8452
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
8180
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8181
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
8453
8182
  DialogContent,
8454
8183
  {
8455
8184
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8461,26 +8190,26 @@ var BuyModal = ({ open, onOpenChange, onBack }) => {
8461
8190
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8462
8191
  },
8463
8192
  children: [
8464
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogTitle, { children: "Buy Crypto" }) }),
8465
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogDescription, { className: "sr-only", children: "On-ramp placeholder" }),
8466
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2", children: [
8467
- onBack && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8193
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogTitle, { children: "Buy Crypto" }) }),
8194
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DialogDescription, { className: "sr-only", children: "On-ramp placeholder" }),
8195
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2", children: [
8196
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
8468
8197
  "button",
8469
8198
  {
8470
8199
  onClick: onBack,
8471
8200
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8472
8201
  title: "Back",
8473
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.ArrowLeft, { className: "h-4 w-4" })
8202
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.ArrowLeft, { className: "h-4 w-4" })
8474
8203
  }
8475
8204
  ),
8476
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8477
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.CreditCard, { className: "h-5 w-5" }),
8478
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "Buy" })
8205
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8206
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react15.CreditCard, { className: "h-5 w-5" }),
8207
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: "Buy" })
8479
8208
  ] })
8480
8209
  ] }) }),
8481
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "p-5", children: [
8482
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "On-ramp coming soon\u2026" }) }),
8483
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8210
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "p-5", children: [
8211
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "On-ramp coming soon\u2026" }) }),
8212
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8484
8213
  ] })
8485
8214
  ]
8486
8215
  }
@@ -8488,14 +8217,14 @@ var BuyModal = ({ open, onOpenChange, onBack }) => {
8488
8217
  };
8489
8218
 
8490
8219
  // src/internal/components/KycModal.tsx
8491
- var import_lucide_react17 = require("lucide-react");
8492
- var import_jsx_runtime32 = require("react/jsx-runtime");
8220
+ var import_lucide_react16 = require("lucide-react");
8221
+ var import_jsx_runtime31 = require("react/jsx-runtime");
8493
8222
  var KycModal = ({ open, onOpenChange, onBack }) => {
8494
8223
  const { config } = useLumiaPassportConfig();
8495
- const { isDark, classes: theme } = useTheme(config.ui.theme);
8224
+ const { isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8496
8225
  const provider = config.kyc?.provider;
8497
8226
  const options = config.kyc?.options || {};
8498
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
8227
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Dialog, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
8499
8228
  DialogContent,
8500
8229
  {
8501
8230
  className: `lumia-scope p-0 border-0 ${theme.modalBg} overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`,
@@ -8507,32 +8236,32 @@ var KycModal = ({ open, onOpenChange, onBack }) => {
8507
8236
  fontFamily: config.ui.fonts?.base || "system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
8508
8237
  },
8509
8238
  children: [
8510
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "KYC" }) }),
8511
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { className: "sr-only", children: "KYC placeholder" }),
8512
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center gap-2", children: [
8513
- onBack && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8239
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogTitle, { children: "KYC" }) }),
8240
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DialogDescription, { className: "sr-only", children: "KYC placeholder" }),
8241
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `p-5 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2", children: [
8242
+ onBack && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
8514
8243
  "button",
8515
8244
  {
8516
8245
  onClick: onBack,
8517
8246
  className: `${theme.iconColor} hover:${isDark ? "text-gray-200" : "text-gray-700"} p-1 mr-1`,
8518
8247
  title: "Back",
8519
- children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowLeft, { className: "h-4 w-4" })
8248
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.ArrowLeft, { className: "h-4 w-4" })
8520
8249
  }
8521
8250
  ),
8522
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8523
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: "h-5 w-5" }),
8524
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: "KYC" })
8251
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `flex items-center gap-2 ${theme.titleText} font-semibold`, children: [
8252
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react16.ShieldCheck, { className: "h-5 w-5" }),
8253
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: "KYC" })
8525
8254
  ] })
8526
8255
  ] }) }),
8527
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "p-5", children: [
8528
- provider ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `rounded-xl p-4 ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: [
8529
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-sm ${theme.titleText} mb-2`, children: [
8256
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "p-5", children: [
8257
+ provider ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `rounded-xl p-4 ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: [
8258
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `text-sm ${theme.titleText} mb-2`, children: [
8530
8259
  "KYC provider: ",
8531
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "font-medium", children: provider })
8260
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "font-medium", children: provider })
8532
8261
  ] }),
8533
- Object.keys(options).length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-xs ${theme.mutedText} break-words whitespace-pre-wrap`, children: JSON.stringify(options, null, 2) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "No provider options configured." })
8534
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "KYC verification coming soon\u2026" }) }),
8535
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8262
+ Object.keys(options).length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-xs ${theme.mutedText} break-words whitespace-pre-wrap`, children: JSON.stringify(options, null, 2) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "No provider options configured." })
8263
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `rounded-xl p-4 text-center ${isDark ? "bg-gray-800" : "bg-gray-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: "KYC verification coming soon\u2026" }) }),
8264
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Button, { className: "w-full", onClick: () => onOpenChange(false), size: "lg", children: "Close" }) })
8536
8265
  ] })
8537
8266
  ]
8538
8267
  }
@@ -8541,20 +8270,20 @@ var KycModal = ({ open, onOpenChange, onBack }) => {
8541
8270
 
8542
8271
  // src/components/ConnectWalletButton.tsx
8543
8272
  init_auth();
8544
- var import_lucide_react18 = require("lucide-react");
8273
+ var import_lucide_react17 = require("lucide-react");
8545
8274
  init_base();
8546
8275
 
8547
8276
  // src/modules/linkedProfiles.ts
8548
- var React27 = __toESM(require("react"), 1);
8277
+ var React26 = __toESM(require("react"), 1);
8549
8278
  init_common();
8550
8279
  init_types();
8551
8280
  init_auth();
8552
8281
  function useLumiaPassportLinkedProfiles() {
8553
- const [profiles, setProfiles] = React27.useState([]);
8554
- const [avatar, setAvatar] = React27.useState(null);
8555
- const [isLoading, setIsLoading] = React27.useState(false);
8556
- const [error, setError] = React27.useState(null);
8557
- const load = React27.useCallback(async () => {
8282
+ const [profiles, setProfiles] = React26.useState([]);
8283
+ const [avatar, setAvatar] = React26.useState(null);
8284
+ const [isLoading, setIsLoading] = React26.useState(false);
8285
+ const [error, setError] = React26.useState(null);
8286
+ const load = React26.useCallback(async () => {
8558
8287
  setIsLoading(true);
8559
8288
  setError(null);
8560
8289
  try {
@@ -8580,14 +8309,105 @@ function useLumiaPassportLinkedProfiles() {
8580
8309
  setIsLoading(false);
8581
8310
  }
8582
8311
  }, []);
8583
- React27.useEffect(() => {
8312
+ React26.useEffect(() => {
8584
8313
  load();
8585
8314
  }, [load]);
8586
8315
  return { profiles, avatar, isLoading, error, refresh: load };
8587
8316
  }
8588
8317
 
8318
+ // package.json
8319
+ var package_default = {
8320
+ name: "@lumiapassport/ui-kit",
8321
+ version: "1.4.2",
8322
+ description: "React UI components and hooks for Lumia Passport authentication and Account Abstraction",
8323
+ type: "module",
8324
+ main: "./dist/index.cjs",
8325
+ module: "./dist/index.js",
8326
+ types: "./dist/index.d.ts",
8327
+ sideEffects: false,
8328
+ files: [
8329
+ "dist",
8330
+ "README.md"
8331
+ ],
8332
+ scripts: {
8333
+ clean: "rm -rf dist",
8334
+ "build:css": "tailwindcss -c tailwind.config.cjs -i src/styles/index.css -o src/styles/built.css --minify",
8335
+ "build:iframe-html": "node scripts/copy-iframe-html.js",
8336
+ "build:copy-css": "cp src/styles/built.css dist/styles.css",
8337
+ build: "pnpm build:css && tsup && pnpm build:iframe-html && pnpm build:copy-css",
8338
+ dev: "pnpm build:css && tsup --watch",
8339
+ "dev:iframe": "vite --config iframe/vite.config.ts"
8340
+ },
8341
+ exports: {
8342
+ ".": {
8343
+ import: {
8344
+ types: "./dist/index.d.ts",
8345
+ default: "./dist/index.js"
8346
+ },
8347
+ require: {
8348
+ types: "./dist/index.d.cts",
8349
+ default: "./dist/index.cjs"
8350
+ }
8351
+ },
8352
+ "./styles.css": "./dist/styles.css",
8353
+ "./dist/styles.css": "./dist/styles.css"
8354
+ },
8355
+ peerDependencies: {
8356
+ "@radix-ui/react-alert-dialog": ">=1.0.0",
8357
+ "@radix-ui/react-dialog": ">=1.0.0",
8358
+ "@radix-ui/react-slot": ">=1.0.0",
8359
+ "@tanstack/react-query": ">=5.0.0",
8360
+ "class-variance-authority": ">=0.7.0",
8361
+ clsx: ">=2.1.1",
8362
+ "dkls23-wasm": ">=0.1.0",
8363
+ react: ">=18",
8364
+ "react-dom": ">=18",
8365
+ "tailwind-merge": ">=2.2.0",
8366
+ viem: ">=2.10.0",
8367
+ wagmi: ">=2.5.0"
8368
+ },
8369
+ dependencies: {
8370
+ "@lumiapassport/core": "workspace:*",
8371
+ "@rainbow-me/rainbowkit": "^2.2.8",
8372
+ "lucide-react": "^0.454.0",
8373
+ qrcode: "^1.5.0"
8374
+ },
8375
+ devDependencies: {
8376
+ "@radix-ui/react-alert-dialog": "^1.0.0",
8377
+ "@radix-ui/react-dialog": "^1.0.0",
8378
+ "@radix-ui/react-slot": "^1.0.0",
8379
+ "@tailwindcss/typography": "^0.5.16",
8380
+ "@tanstack/react-query": "^5.90.2",
8381
+ "@types/qrcode": "^1.5.0",
8382
+ "@types/react": "^18.3.3",
8383
+ "@types/react-dom": "^18.3.0",
8384
+ autoprefixer: "^10.4.20",
8385
+ "class-variance-authority": "^0.7.0",
8386
+ clsx: "^2.1.1",
8387
+ "dkls23-wasm": "^0.1.0",
8388
+ postcss: "^8.4.47",
8389
+ react: "^18.3.1",
8390
+ "react-dom": "^18.3.1",
8391
+ "tailwind-merge": "^2.2.0",
8392
+ tailwindcss: "^3.4.10",
8393
+ tsup: "^8.5.0",
8394
+ typescript: "^5.4.5",
8395
+ viem: "^2.37.9",
8396
+ vite: "^5.0.0",
8397
+ wagmi: "^2.17.5"
8398
+ },
8399
+ repository: {
8400
+ type: "git",
8401
+ url: "https://github.com/lumiachain/lumia-passport-sdk",
8402
+ directory: "packages/ui-kit"
8403
+ },
8404
+ publishConfig: {
8405
+ access: "public"
8406
+ }
8407
+ };
8408
+
8589
8409
  // src/components/ConnectWalletButton.tsx
8590
- var import_jsx_runtime33 = require("react/jsx-runtime");
8410
+ var import_jsx_runtime32 = require("react/jsx-runtime");
8591
8411
  var ConnectWalletButton = ({
8592
8412
  className,
8593
8413
  label = "Connect Wallet",
@@ -8608,7 +8428,7 @@ var ConnectWalletButton = ({
8608
8428
  onLumiaPassportError: buttonCallbacks?.onLumiaPassportError ?? contextCallbacks?.onLumiaPassportError,
8609
8429
  onWalletReady: buttonCallbacks?.onWalletReady ?? contextCallbacks?.onWalletReady
8610
8430
  }), [buttonCallbacks, contextCallbacks]);
8611
- const { theme: resolvedTheme, isDark, classes: theme } = useTheme(config.ui.theme);
8431
+ const { theme: resolvedTheme, isDark, classes: theme } = useTheme(config.ui.theme, config.ui.colors);
8612
8432
  const {
8613
8433
  session,
8614
8434
  address,
@@ -8902,8 +8722,8 @@ var ConnectWalletButton = ({
8902
8722
  refetchBalance();
8903
8723
  }
8904
8724
  }, [address]);
8905
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: [className, "lumia-scope"].filter(Boolean).join(" "), children: [
8906
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "inline-flex items-center gap-2", children: !address ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { style: { display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8725
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: [className, "lumia-scope"].filter(Boolean).join(" "), children: [
8726
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "inline-flex items-center gap-2", children: !address ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { style: { display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8907
8727
  "button",
8908
8728
  {
8909
8729
  onClick: () => {
@@ -8936,56 +8756,56 @@ var ConnectWalletButton = ({
8936
8756
  },
8937
8757
  children: label || "Connect"
8938
8758
  }
8939
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8759
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8940
8760
  "div",
8941
8761
  {
8942
8762
  className: `relative rounded-2xl p-4 shadow-lg cursor-pointer transition-all duration-200 hover:scale-105 hover:shadow-xl max-w-sm min-w-[280px] ${isDark ? "bg-gray-900/40 backdrop-blur border border-gray-700" : "bg-white backdrop-blur border border-gray-200"}`,
8943
8763
  onClick: () => setIsWalletMenuOpen(true),
8944
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
8945
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 overflow-hidden bg-gradient-to-br from-purple-500 to-blue-600", children: avatar ? (
8764
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-3", children: [
8765
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-10 h-10 rounded-full flex items-center justify-center flex-shrink-0 overflow-hidden bg-gradient-to-br from-purple-500 to-blue-600", children: avatar ? (
8946
8766
  // eslint-disable-next-line @next/next/no-img-element
8947
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
8948
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-sm", children: "LP" }) }),
8949
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "text-left flex-1 min-w-0", children: [
8950
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-semibold text-base truncate ${theme.titleText}`, children: mode === "compact" && displayName ? displayName : formatAddress(address) }),
8951
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
8767
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
8768
+ ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white font-bold text-sm", children: "LP" }) }),
8769
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "text-left flex-1 min-w-0", children: [
8770
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `font-semibold text-base truncate ${theme.titleText}`, children: mode === "compact" && displayName ? displayName : formatAddress(address) }),
8771
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-sm ${theme.mutedText}`, children: [
8952
8772
  formatBalance(),
8953
8773
  " LUMIA"
8954
8774
  ] })
8955
8775
  ] }),
8956
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-1", children: [
8957
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
8958
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8959
- import_lucide_react18.Cloud,
8776
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-1", children: [
8777
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
8778
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8779
+ import_lucide_react17.Cloud,
8960
8780
  {
8961
8781
  className: `w-3 h-3 ${indicators.server ? "text-green-500" : "text-orange-400"}`
8962
8782
  }
8963
8783
  ),
8964
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8784
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8965
8785
  "Server Keyshare: ",
8966
8786
  indicators.server ? "Available" : "Missing"
8967
8787
  ] })
8968
8788
  ] }),
8969
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
8970
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8971
- import_lucide_react18.Laptop,
8789
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
8790
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8791
+ import_lucide_react17.Laptop,
8972
8792
  {
8973
8793
  className: `w-3 h-3 ${indicators.local ? "text-green-500" : "text-orange-400"}`
8974
8794
  }
8975
8795
  ),
8976
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8796
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8977
8797
  "Local Keyshare: ",
8978
8798
  indicators.local ? "Available" : "Missing"
8979
8799
  ] })
8980
8800
  ] }),
8981
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "group relative", children: [
8982
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8983
- import_lucide_react18.Shield,
8801
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "group relative", children: [
8802
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
8803
+ import_lucide_react17.Shield,
8984
8804
  {
8985
8805
  className: `w-3 h-3 ${indicators.backup ? "text-green-500" : "text-orange-400"}`
8986
8806
  }
8987
8807
  ),
8988
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8808
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-gray-800 text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-50", children: [
8989
8809
  "Vault Backup: ",
8990
8810
  indicators.backup ? "Available" : "Not Found"
8991
8811
  ] })
@@ -8994,80 +8814,80 @@ var ConnectWalletButton = ({
8994
8814
  ] })
8995
8815
  }
8996
8816
  ) }),
8997
- isWalletMenuOpen && address && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "fixed inset-0 z-[60]", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog, { open: isWalletMenuOpen, onOpenChange: setIsWalletMenuOpen, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
8998
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Wallet Menu" }) }),
8999
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogDescription, { className: "sr-only", children: "Smart Account wallet actions and status" }),
9000
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `p-4 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-4", children: [
9001
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-12 h-12 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center relative overflow-hidden", children: avatar ? (
8817
+ isWalletMenuOpen && address && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "fixed inset-0 z-[60]", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open: isWalletMenuOpen, onOpenChange: setIsWalletMenuOpen, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(DialogContent, { className: `lumia-scope max-w-[400px] p-0 border-0 ${theme.modalBg} rounded-2xl overflow-hidden gap-0 ${isDark ? "lumia-dark" : "lumia-light"}`, children: [
8818
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(VisuallyHidden, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "Wallet Menu" }) }),
8819
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { className: "sr-only", children: "Smart Account wallet actions and status" }),
8820
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `p-4 border-b ${theme.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex items-center justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-4", children: [
8821
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-12 h-12 bg-gradient-to-br from-purple-500 to-blue-600 rounded-full flex items-center justify-center relative overflow-hidden", children: avatar ? (
9002
8822
  // eslint-disable-next-line @next/next/no-img-element
9003
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
9004
- ) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white font-bold text-lg", children: "L" }) }),
9005
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9006
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `font-medium text-lg ${theme.titleText}`, children: displayName || "Smart Account" }),
9007
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-2", children: [
9008
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: formatAddress(address) }),
9009
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { onClick: async () => {
8823
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: avatar, alt: "User avatar", className: "w-full h-full object-cover" })
8824
+ ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white font-bold text-lg", children: "L" }) }),
8825
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
8826
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `font-medium text-lg ${theme.titleText}`, children: displayName || "Smart Account" }),
8827
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-2", children: [
8828
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm ${theme.mutedText}`, children: formatAddress(address) }),
8829
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("button", { onClick: async () => {
9010
8830
  try {
9011
8831
  await navigator.clipboard.writeText(address);
9012
8832
  setCopied(true);
9013
8833
  setTimeout(() => setCopied(false), 1500);
9014
8834
  } catch {
9015
8835
  }
9016
- }, title: "Copy address", className: `${theme.iconColor} hover:${theme.titleText} p-1`, children: copied ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-green-500 text-sm", children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Copy, { className: "w-4 h-4" }) })
8836
+ }, title: "Copy address", className: `${theme.iconColor} hover:${theme.titleText} p-1`, children: copied ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-green-500 text-sm", children: "\u2713" }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Copy, { className: "w-4 h-4" }) })
9017
8837
  ] })
9018
8838
  ] })
9019
8839
  ] }) }) }),
9020
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "p-4", children: [
9021
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "grid grid-cols-3 gap-2 mb-4", children: [
9022
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8840
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "p-4", children: [
8841
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "grid grid-cols-3 gap-2 mb-4", children: [
8842
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9023
8843
  setIsWalletMenuOpen(false);
9024
8844
  setIsSendOpen(true);
9025
8845
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-blue-400" : "bg-blue-50 hover:bg-blue-100 text-blue-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9026
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ArrowUp, { className: "w-5 h-5" }),
9027
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Send" })
8846
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUp, { className: "w-5 h-5" }),
8847
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Send" })
9028
8848
  ] }),
9029
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8849
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9030
8850
  setIsWalletMenuOpen(false);
9031
8851
  setIsReceiveOpen(true);
9032
8852
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-green-400" : "bg-green-50 hover:bg-green-100 text-green-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9033
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ArrowDown, { className: "w-5 h-5" }),
9034
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Receive" })
8853
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowDown, { className: "w-5 h-5" }),
8854
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Receive" })
9035
8855
  ] }),
9036
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8856
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9037
8857
  setIsWalletMenuOpen(false);
9038
8858
  setIsBuyOpen(true);
9039
8859
  }, className: `${isDark ? "bg-slate-900 hover:bg-slate-800 text-purple-400" : "bg-purple-50 hover:bg-purple-100 text-purple-600"} rounded-xl p-3 transition-colors flex items-center justify-center gap-2`, children: [
9040
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Plus, { className: "w-5 h-5" }),
9041
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-sm font-medium", children: "Buy" })
8860
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Plus, { className: "w-5 h-5" }),
8861
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-sm font-medium", children: "Buy" })
9042
8862
  ] })
9043
8863
  ] }),
9044
- config.warnings?.backupWarning && !hasServerVault && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-orange-900/20 border border-orange-900/40" : "bg-orange-50 border border-orange-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start space-x-3", children: [
9045
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-orange-400" : "text-orange-500"} mt-0.5 flex-shrink-0` }),
9046
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9047
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-orange-300" : "text-orange-700"}`, children: "Backup Not Created" }),
9048
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-orange-400/80" : "text-orange-600"}`, children: "Secure your wallet with an encrypted vault backup to protect against device loss." }),
9049
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
8864
+ config.warnings?.backupWarning && !hasServerVault && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-orange-950/80 border border-orange-800/60" : "bg-orange-50 border border-orange-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-start space-x-3", children: [
8865
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-orange-400" : "text-orange-500"} mt-0.5 flex-shrink-0` }),
8866
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
8867
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-orange-200" : "text-orange-700"}`, children: "Backup Not Created" }),
8868
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-orange-300/90" : "text-orange-600"}`, children: "Secure your wallet with an encrypted vault backup to protect against device loss." }),
8869
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
9050
8870
  "button",
9051
8871
  {
9052
8872
  onClick: () => {
9053
8873
  setIsWalletMenuOpen(false);
9054
- setIsSecurityOpen(true);
8874
+ setIsBackupOpen(true);
9055
8875
  },
9056
- className: `mt-2 px-3 py-1.5 text-xs font-medium rounded-lg transition-colors ${isDark ? "bg-orange-900/40 hover:bg-orange-900/60 text-orange-300" : "bg-orange-100 hover:bg-orange-200 text-orange-700"}`,
8876
+ className: `mt-2 px-3 py-1.5 text-xs font-medium rounded-lg transition-colors ${isDark ? "bg-orange-800/50 hover:bg-orange-700/60 text-orange-100" : "bg-orange-100 hover:bg-orange-200 text-orange-700"}`,
9057
8877
  children: [
9058
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
8878
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
9059
8879
  "Create Backup"
9060
8880
  ]
9061
8881
  }
9062
8882
  )
9063
8883
  ] })
9064
8884
  ] }) }),
9065
- config.warnings?.emailNotConnectedWarning && !profilesLoading && !profiles.some((p) => p.provider?.toLowerCase() === "email") && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-blue-900/20 border border-blue-900/40" : "bg-blue-50 border border-blue-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start space-x-3", children: [
9066
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-blue-400" : "text-blue-500"} mt-0.5 flex-shrink-0` }),
9067
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 min-w-0", children: [
9068
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-blue-300" : "text-blue-700"}`, children: "Email Not Connected" }),
9069
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-blue-400/80" : "text-blue-600"}`, children: "Connect your email for easier account recovery and additional security." }),
9070
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
8885
+ config.warnings?.emailNotConnectedWarning && !profilesLoading && !profiles.some((p) => p.provider?.toLowerCase() === "email") && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mb-4 p-3 rounded-xl ${isDark ? "bg-blue-900/20 border border-blue-900/40" : "bg-blue-50 border border-blue-200"}`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-start space-x-3", children: [
8886
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.AlertTriangle, { className: `w-5 h-5 ${isDark ? "text-blue-400" : "text-blue-500"} mt-0.5 flex-shrink-0` }),
8887
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 min-w-0", children: [
8888
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-sm font-medium ${isDark ? "text-blue-300" : "text-blue-700"}`, children: "Email Not Connected" }),
8889
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `text-xs mt-1 ${isDark ? "text-blue-400/80" : "text-blue-600"}`, children: "Connect your email for easier account recovery and additional security." }),
8890
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
9071
8891
  "button",
9072
8892
  {
9073
8893
  onClick: () => {
@@ -9076,87 +8896,91 @@ var ConnectWalletButton = ({
9076
8896
  },
9077
8897
  className: `mt-2 px-3 py-1.5 text-xs font-medium rounded-lg transition-colors ${isDark ? "bg-blue-900/40 hover:bg-blue-900/60 text-blue-300" : "bg-blue-100 hover:bg-blue-200 text-blue-700"}`,
9078
8898
  children: [
9079
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
8899
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: "w-3 h-3 inline mr-1" }),
9080
8900
  "Connect Email"
9081
8901
  ]
9082
8902
  }
9083
8903
  )
9084
8904
  ] })
9085
8905
  ] }) }),
9086
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8906
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9087
8907
  "button",
9088
8908
  {
9089
8909
  onClick: () => address && window.open(`${LUMIA_EXPLORER_URL}/address/${address}`, "_blank"),
9090
8910
  className: `w-full ${isDark ? "bg-gray-800 hover:bg-gray-700" : "bg-gray-50 hover:bg-gray-100"} rounded-xl p-3 mb-3 transition-colors cursor-pointer text-left`,
9091
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center justify-between", children: [
9092
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-center space-x-3", children: [
9093
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "w-8 h-8 rounded-full flex items-center justify-center bg-transparent overflow-hidden", children: lumiaBeam.logoDataUri ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", { src: lumiaBeam.logoDataUri, alt: "Chain logo", className: "w-full h-full object-cover" }) : lumiaBeam.logo === "lumia" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(LumiaLogo, { size: 32 }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-white text-xs font-bold", children: (lumiaBeam.name || "L").charAt(0) }) }),
9094
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { children: [
9095
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${theme.titleText} font-medium`, children: lumiaBeam.name }),
9096
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: theme.mutedText + " text-sm", children: [
8911
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center justify-between", children: [
8912
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-3", children: [
8913
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "w-8 h-8 rounded-full flex items-center justify-center bg-transparent overflow-hidden", children: lumiaBeam.logoDataUri ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("img", { src: lumiaBeam.logoDataUri, alt: "Chain logo", className: "w-full h-full object-cover" }) : lumiaBeam.logo === "lumia" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(LumiaLogo, { size: 32 }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-white text-xs font-bold", children: (lumiaBeam.name || "L").charAt(0) }) }),
8914
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { children: [
8915
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `${theme.titleText} font-medium`, children: lumiaBeam.name }),
8916
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: theme.mutedText + " text-sm", children: [
9097
8917
  formatBalance(),
9098
8918
  " LUMIA"
9099
8919
  ] })
9100
8920
  ] })
9101
8921
  ] }),
9102
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: theme.iconColor, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ArrowUpRight, { className: "w-4 h-4" }) })
8922
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: theme.iconColor, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-4 h-4" }) })
9103
8923
  ] })
9104
8924
  }
9105
8925
  ),
9106
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "space-y-1", children: [
9107
- config.features?.kycNeeded && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8926
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "space-y-1", children: [
8927
+ config.features?.kycNeeded && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9108
8928
  setIsWalletMenuOpen(false);
9109
8929
  setIsKycOpen(true);
9110
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9111
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ShieldCheck, { className: `w-5 h-5 ${theme.iconColor}` }),
9112
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "KYC" })
8930
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8931
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ShieldCheck, { className: `w-5 h-5 ${theme.iconColor}` }),
8932
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "KYC" })
9113
8933
  ] }),
9114
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8934
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9115
8935
  setIsWalletMenuOpen(false);
9116
8936
  setIsTransactionsOpen(true);
9117
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9118
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Activity, { className: `w-5 h-5 ${theme.iconColor}` }),
9119
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Transactions" })
8937
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8938
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Activity, { className: `w-5 h-5 ${theme.iconColor}` }),
8939
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Transactions" })
9120
8940
  ] }),
9121
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8941
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9122
8942
  setIsWalletMenuOpen(false);
9123
8943
  setIsViewAssetsOpen(true);
9124
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9125
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Gem, { className: `w-5 h-5 ${theme.iconColor}` }),
9126
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "View Assets" })
8944
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8945
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Gem, { className: `w-5 h-5 ${theme.iconColor}` }),
8946
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "View Assets" })
9127
8947
  ] }),
9128
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8948
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9129
8949
  setIsWalletMenuOpen(false);
9130
8950
  setIsManageWalletOpen(true);
9131
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9132
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.CreditCard, { className: `w-5 h-5 ${theme.iconColor}` }),
9133
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Manage Wallet" })
8951
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8952
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.CreditCard, { className: `w-5 h-5 ${theme.iconColor}` }),
8953
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Manage Wallet" })
9134
8954
  ] }),
9135
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8955
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9136
8956
  setIsWalletMenuOpen(false);
9137
8957
  setIsSecurityOpen(true);
9138
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9139
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Lock, { className: `w-5 h-5 ${theme.iconColor}` }),
9140
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Security" })
8958
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8959
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Lock, { className: `w-5 h-5 ${theme.iconColor}` }),
8960
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Security" })
9141
8961
  ] }),
9142
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: () => {
8962
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: () => {
9143
8963
  setIsWalletMenuOpen(false);
9144
8964
  setIsBackupOpen(true);
9145
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-gray-800" : "hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
9146
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.Shield, { className: `w-5 h-5 ${theme.iconColor}` }),
9147
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: theme.titleText, children: "Keyshare Backup" })
8965
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-gray-800" : "bg-transparent hover:bg-gray-100"} transition-colors flex items-center space-x-3`, children: [
8966
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.Shield, { className: `w-5 h-5 ${theme.iconColor}` }),
8967
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: theme.titleText, children: "Keyshare Backup" })
9148
8968
  ] }),
9149
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("button", { onClick: async () => {
8969
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("button", { onClick: async () => {
9150
8970
  await handleDisconnect();
9151
8971
  setIsWalletMenuOpen(false);
9152
- }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "hover:bg-red-900/20" : "hover:bg-red-50"} transition-colors flex items-center space-x-3`, children: [
9153
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react18.ArrowUpRight, { className: "w-5 h-5 text-red-600" }),
9154
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-red-600", children: "Disconnect Wallet" })
8972
+ }, className: `w-full text-left p-2.5 rounded-xl ${isDark ? "bg-transparent hover:bg-red-900/20" : "bg-transparent hover:bg-red-50"} transition-colors flex items-center space-x-3`, children: [
8973
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react17.ArrowUpRight, { className: "w-5 h-5 text-red-600" }),
8974
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-red-600", children: "Disconnect Wallet" })
9155
8975
  ] })
9156
- ] })
8976
+ ] }),
8977
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: `mt-3 pt-3 border-t ${theme.divider} text-center`, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: `text-xs ${theme.mutedText}`, children: [
8978
+ "Lumia Passport v",
8979
+ package_default.version
8980
+ ] }) })
9157
8981
  ] })
9158
8982
  ] }) }) }),
9159
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8983
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9160
8984
  ManageWallet,
9161
8985
  {
9162
8986
  open: isManageWalletOpen,
@@ -9167,7 +8991,7 @@ var ConnectWalletButton = ({
9167
8991
  }
9168
8992
  }
9169
8993
  ),
9170
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
8994
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9171
8995
  SecurityModal,
9172
8996
  {
9173
8997
  open: isSecurityOpen,
@@ -9178,12 +9002,12 @@ var ConnectWalletButton = ({
9178
9002
  }
9179
9003
  }
9180
9004
  ),
9181
- isBackupOpen && session?.mpcUserId && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog, { open: isBackupOpen, onOpenChange: setIsBackupOpen, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(DialogContent, { className: "max-w-2xl", children: [
9182
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(VisuallyHidden, { children: [
9183
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogTitle, { children: "Keyshare Backup" }),
9184
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DialogDescription, { children: "Create and manage encrypted backups of your keyshare" })
9005
+ isBackupOpen && session?.mpcUserId && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Dialog, { open: isBackupOpen, onOpenChange: setIsBackupOpen, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(DialogContent, { className: "max-w-2xl", children: [
9006
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(VisuallyHidden, { children: [
9007
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogTitle, { children: "Keyshare Backup" }),
9008
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DialogDescription, { children: "Create and manage encrypted backups of your keyshare" })
9185
9009
  ] }),
9186
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9010
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9187
9011
  KeyshareBackup,
9188
9012
  {
9189
9013
  userId: session.mpcUserId,
@@ -9194,7 +9018,7 @@ var ConnectWalletButton = ({
9194
9018
  }
9195
9019
  )
9196
9020
  ] }) }),
9197
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9021
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9198
9022
  TransactionsModal,
9199
9023
  {
9200
9024
  open: isTransactionsOpen,
@@ -9205,7 +9029,7 @@ var ConnectWalletButton = ({
9205
9029
  }
9206
9030
  }
9207
9031
  ),
9208
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9032
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9209
9033
  ViewAssetsModal,
9210
9034
  {
9211
9035
  open: isViewAssetsOpen,
@@ -9216,7 +9040,7 @@ var ConnectWalletButton = ({
9216
9040
  }
9217
9041
  }
9218
9042
  ),
9219
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9043
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9220
9044
  SendModal,
9221
9045
  {
9222
9046
  open: isSendOpen,
@@ -9227,7 +9051,7 @@ var ConnectWalletButton = ({
9227
9051
  }
9228
9052
  }
9229
9053
  ),
9230
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9054
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9231
9055
  ReceiveModal,
9232
9056
  {
9233
9057
  open: isReceiveOpen,
@@ -9238,7 +9062,7 @@ var ConnectWalletButton = ({
9238
9062
  }
9239
9063
  }
9240
9064
  ),
9241
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9065
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9242
9066
  BuyModal,
9243
9067
  {
9244
9068
  open: isBuyOpen,
@@ -9249,7 +9073,7 @@ var ConnectWalletButton = ({
9249
9073
  }
9250
9074
  }
9251
9075
  ),
9252
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9076
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9253
9077
  KycModal,
9254
9078
  {
9255
9079
  open: isKycOpen,
@@ -9260,7 +9084,7 @@ var ConnectWalletButton = ({
9260
9084
  }
9261
9085
  }
9262
9086
  ),
9263
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9087
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9264
9088
  AuthModal,
9265
9089
  {
9266
9090
  open: recoveryUserId ? isRecoveryModalOpen : isAuthModalOpen,
@@ -9320,7 +9144,7 @@ var ConnectWalletButton = ({
9320
9144
  }
9321
9145
  }
9322
9146
  ),
9323
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
9147
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
9324
9148
  TssManagerWithRef,
9325
9149
  {
9326
9150
  ref: tssManagerRef,
@@ -9338,7 +9162,7 @@ var ConnectWalletButton = ({
9338
9162
  };
9339
9163
 
9340
9164
  // src/components/ThemeToggle.tsx
9341
- var import_jsx_runtime34 = require("react/jsx-runtime");
9165
+ var import_jsx_runtime33 = require("react/jsx-runtime");
9342
9166
  var ThemeToggle = () => {
9343
9167
  const { config, updateConfig } = useLumiaPassportConfig();
9344
9168
  const currentTheme = config.ui.theme;
@@ -9383,7 +9207,7 @@ var ThemeToggle = () => {
9383
9207
  return "auto";
9384
9208
  }
9385
9209
  };
9386
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "lumia-scope", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
9210
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "lumia-scope", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
9387
9211
  "button",
9388
9212
  {
9389
9213
  onClick: cycleTheme,
@@ -9399,19 +9223,19 @@ var ThemeToggle = () => {
9399
9223
  };
9400
9224
 
9401
9225
  // src/components/LumiaLogo.tsx
9402
- var import_jsx_runtime35 = require("react/jsx-runtime");
9226
+ var import_jsx_runtime34 = require("react/jsx-runtime");
9403
9227
  var LumiaLogo2 = ({ size = 80, className = "" }) => {
9404
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9228
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
9405
9229
  "div",
9406
9230
  {
9407
9231
  className: `flex items-center justify-center ${className}`,
9408
9232
  style: { width: size, height: size },
9409
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("svg", { viewBox: "0 0 512 512", width: size, height: size, children: [
9410
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("circle", { cx: "256", cy: "256", r: "256", fill: "#060117", strokeWidth: "0" }),
9411
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M264.13948,48.01032l63.62778,132.2788,133.95322,68.65102h-147.34854s-48.55804-10.04649-50.23246-56.93012,0-143.99971,0-143.99971Z", fill: "#fefdff", strokeWidth: "0" }),
9412
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M50.27932,245.59045l132.27894-63.62734L251.20943,48.01032l-.00012,147.34824s-10.04654,48.55792-56.93019,50.23222c-46.88366,1.6743-143.9998-.00033-143.9998-.00033Z", fill: "#fefdff", strokeWidth: "0" }),
9413
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M247.86056,463.98968l-63.62772-132.27875-133.95315-68.65092,147.34848-.00011s48.55802,10.04646,50.23242,56.93008c1.6744,46.88362-.00004,143.9997-.00004,143.9997Z", fill: "#fefdff", strokeWidth: "0" }),
9414
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("path", { d: "M461.72068,266.40941l-132.2789,63.62744-68.65118,133.95283.00016-147.34823s10.04655-48.55792,56.93018-50.23226c46.88364-1.67434,143.99974.00023,143.99974.00023Z", fill: "#fefdff", strokeWidth: "0" })
9233
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("svg", { viewBox: "0 0 512 512", width: size, height: size, children: [
9234
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("circle", { cx: "256", cy: "256", r: "256", fill: "#060117", strokeWidth: "0" }),
9235
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M264.13948,48.01032l63.62778,132.2788,133.95322,68.65102h-147.34854s-48.55804-10.04649-50.23246-56.93012,0-143.99971,0-143.99971Z", fill: "#fefdff", strokeWidth: "0" }),
9236
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M50.27932,245.59045l132.27894-63.62734L251.20943,48.01032l-.00012,147.34824s-10.04654,48.55792-56.93019,50.23222c-46.88366,1.6743-143.9998-.00033-143.9998-.00033Z", fill: "#fefdff", strokeWidth: "0" }),
9237
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M247.86056,463.98968l-63.62772-132.27875-133.95315-68.65092,147.34848-.00011s48.55802,10.04646,50.23242,56.93008c1.6744,46.88362-.00004,143.9997-.00004,143.9997Z", fill: "#fefdff", strokeWidth: "0" }),
9238
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("path", { d: "M461.72068,266.40941l-132.2789,63.62744-68.65118,133.95283.00016-147.34823s10.04655-48.55792,56.93018-50.23226c46.88364-1.67434,143.99974.00023,143.99974.00023Z", fill: "#fefdff", strokeWidth: "0" })
9415
9239
  ] })
9416
9240
  }
9417
9241
  );
@@ -9474,9 +9298,9 @@ function useTheme2(configTheme) {
9474
9298
  }
9475
9299
 
9476
9300
  // src/internal/components/Hash.tsx
9477
- var React29 = __toESM(require("react"), 1);
9478
- var import_lucide_react19 = require("lucide-react");
9479
- var import_jsx_runtime36 = require("react/jsx-runtime");
9301
+ var React28 = __toESM(require("react"), 1);
9302
+ var import_lucide_react18 = require("lucide-react");
9303
+ var import_jsx_runtime35 = require("react/jsx-runtime");
9480
9304
  function toExplorerUrl(kind, value, chain) {
9481
9305
  const base2 = chain?.blockExplorers?.default?.url;
9482
9306
  if (!base2) return null;
@@ -9499,12 +9323,12 @@ var Hash = ({
9499
9323
  }) => {
9500
9324
  const value = hash || "";
9501
9325
  const explorer = toExplorerUrl(kind, value, chain || void 0);
9502
- const [copied, setCopied] = React29.useState(false);
9503
- if (!value) return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
9504
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
9505
- label && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-sm font-medium", children: label }),
9506
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
9507
- showCopy && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9326
+ const [copied, setCopied] = React28.useState(false);
9327
+ if (!value) return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
9328
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
9329
+ label && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-sm font-medium", children: label }),
9330
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
9331
+ showCopy && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9508
9332
  Button,
9509
9333
  {
9510
9334
  variant: "ghost",
@@ -9518,10 +9342,10 @@ var Hash = ({
9518
9342
  } catch {
9519
9343
  }
9520
9344
  },
9521
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react19.Copy, { className: "h-4 w-4" })
9345
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react18.Copy, { className: "h-4 w-4" })
9522
9346
  }
9523
9347
  ),
9524
- showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9348
+ showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
9525
9349
  "a",
9526
9350
  {
9527
9351
  href: explorer,
@@ -9529,7 +9353,7 @@ var Hash = ({
9529
9353
  rel: "noreferrer noopener",
9530
9354
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
9531
9355
  title: "Open in explorer",
9532
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react19.ExternalLink, { className: "h-4 w-4" })
9356
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_lucide_react18.ExternalLink, { className: "h-4 w-4" })
9533
9357
  }
9534
9358
  )
9535
9359
  ] });
@@ -9538,7 +9362,7 @@ var Hash = ({
9538
9362
  // src/internal/components/TransactionsList.tsx
9539
9363
  var import_react21 = require("react");
9540
9364
  init_base();
9541
- var import_jsx_runtime37 = require("react/jsx-runtime");
9365
+ var import_jsx_runtime36 = require("react/jsx-runtime");
9542
9366
  var TransactionsList = ({
9543
9367
  address,
9544
9368
  itemsCount = 10
@@ -9592,15 +9416,15 @@ var TransactionsList = ({
9592
9416
  window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
9593
9417
  };
9594
9418
  if (loading) {
9595
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9596
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
9597
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
9419
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "p-4 text-center", children: [
9420
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
9421
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
9598
9422
  ] });
9599
9423
  }
9600
9424
  if (error) {
9601
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-4 text-center", children: [
9602
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-red-600 text-sm", children: error }),
9603
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
9425
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "p-4 text-center", children: [
9426
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-red-600 text-sm", children: error }),
9427
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9604
9428
  "button",
9605
9429
  {
9606
9430
  onClick: () => window.location.reload(),
@@ -9611,54 +9435,54 @@ var TransactionsList = ({
9611
9435
  ] });
9612
9436
  }
9613
9437
  if (transactions.length === 0) {
9614
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
9438
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
9615
9439
  }
9616
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
9440
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
9617
9441
  "div",
9618
9442
  {
9619
9443
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
9620
9444
  onClick: () => openTransaction(tx.hash),
9621
9445
  children: [
9622
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
9623
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1", children: [
9624
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
9625
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress(tx.hash) }),
9626
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`, children: tx.status === "ok" ? "Success" : "Failed" })
9446
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
9447
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex-1", children: [
9448
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
9449
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress(tx.hash) }),
9450
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`, children: tx.status === "ok" ? "Success" : "Failed" })
9627
9451
  ] }),
9628
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-sm space-y-1", children: [
9629
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9630
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "From:" }),
9631
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-mono ml-1", children: [
9452
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "text-sm space-y-1", children: [
9453
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9454
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "From:" }),
9455
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-mono ml-1", children: [
9632
9456
  formatAddress(tx.from.hash),
9633
- tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9457
+ tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9634
9458
  ] })
9635
9459
  ] }),
9636
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9637
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "To:" }),
9638
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-mono ml-1", children: [
9460
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9461
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "To:" }),
9462
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-mono ml-1", children: [
9639
9463
  formatAddress(tx.to.hash),
9640
- tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9464
+ tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
9641
9465
  ] })
9642
9466
  ] }),
9643
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
9644
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-gray-600", children: "Value:" }),
9645
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("span", { className: "font-semibold ml-1", children: [
9467
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { children: [
9468
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "text-gray-600", children: "Value:" }),
9469
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "font-semibold ml-1", children: [
9646
9470
  formatValue(tx.value),
9647
9471
  " LUMIA"
9648
9472
  ] })
9649
9473
  ] })
9650
9474
  ] })
9651
9475
  ] }),
9652
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
9653
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { children: formatDate2(tx.timestamp) }),
9654
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "mt-1", children: [
9476
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
9477
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { children: formatDate2(tx.timestamp) }),
9478
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "mt-1", children: [
9655
9479
  "Gas: ",
9656
9480
  parseInt(tx.gas_used).toLocaleString()
9657
9481
  ] }),
9658
- tx.method && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
9482
+ tx.method && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
9659
9483
  ] })
9660
9484
  ] }),
9661
- tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
9485
+ tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
9662
9486
  "span",
9663
9487
  {
9664
9488
  className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full",
@@ -9673,7 +9497,7 @@ var TransactionsList = ({
9673
9497
  };
9674
9498
 
9675
9499
  // src/hooks/useUserOpStatus.ts
9676
- var React31 = __toESM(require("react"), 1);
9500
+ var React30 = __toESM(require("react"), 1);
9677
9501
  init_base();
9678
9502
  function useUserOpStatus(options = {}) {
9679
9503
  const {
@@ -9685,16 +9509,16 @@ function useUserOpStatus(options = {}) {
9685
9509
  onReceipt,
9686
9510
  onTxHash
9687
9511
  } = options;
9688
- const [state, setState] = React31.useState("waiting");
9689
- const [receipt, setReceipt] = React31.useState(null);
9690
- const [mempool, setMempool] = React31.useState(null);
9691
- const [txHash, setTxHash] = React31.useState(null);
9692
- const [error, setError] = React31.useState(null);
9693
- const [isPolling, setIsPolling] = React31.useState(false);
9694
- const intervalRef = React31.useRef(null);
9695
- const startTimeRef = React31.useRef(Date.now());
9696
- const prevStateRef = React31.useRef("waiting");
9697
- const rpc = React31.useCallback(async (method, params) => {
9512
+ const [state, setState] = React30.useState("waiting");
9513
+ const [receipt, setReceipt] = React30.useState(null);
9514
+ const [mempool, setMempool] = React30.useState(null);
9515
+ const [txHash, setTxHash] = React30.useState(null);
9516
+ const [error, setError] = React30.useState(null);
9517
+ const [isPolling, setIsPolling] = React30.useState(false);
9518
+ const intervalRef = React30.useRef(null);
9519
+ const startTimeRef = React30.useRef(Date.now());
9520
+ const prevStateRef = React30.useRef("waiting");
9521
+ const rpc = React30.useCallback(async (method, params) => {
9698
9522
  const body = { jsonrpc: "2.0", id: 1, method, params };
9699
9523
  const res = await fetch(getBundlerUrl(), {
9700
9524
  method: "POST",
@@ -9705,21 +9529,21 @@ function useUserOpStatus(options = {}) {
9705
9529
  if (json.error) throw new Error(json.error.message || JSON.stringify(json.error));
9706
9530
  return json.result;
9707
9531
  }, []);
9708
- const extractMempoolInfo = React31.useCallback((m) => {
9532
+ const extractMempoolInfo = React30.useCallback((m) => {
9709
9533
  if (!m) return null;
9710
9534
  const entryPoint = m.entryPoint || m?.userOperation?.entryPoint || null;
9711
9535
  const sender = m.sender || m?.userOperation?.sender || null;
9712
9536
  if (!entryPoint && !sender) return null;
9713
9537
  return { entryPoint, sender };
9714
9538
  }, []);
9715
- const updateState = React31.useCallback((newState) => {
9539
+ const updateState = React30.useCallback((newState) => {
9716
9540
  setState(newState);
9717
9541
  if (prevStateRef.current !== newState) {
9718
9542
  prevStateRef.current = newState;
9719
9543
  onStateChange?.(newState);
9720
9544
  }
9721
9545
  }, [onStateChange]);
9722
- const tick = React31.useCallback(async () => {
9546
+ const tick = React30.useCallback(async () => {
9723
9547
  if (!userOpHash || !enabled) return;
9724
9548
  if (receipt) {
9725
9549
  console.log("[useUserOpStatus] Already have receipt, skipping tick");
@@ -9792,7 +9616,7 @@ function useUserOpStatus(options = {}) {
9792
9616
  onTxHash,
9793
9617
  onReceipt
9794
9618
  ]);
9795
- React31.useEffect(() => {
9619
+ React30.useEffect(() => {
9796
9620
  if (!userOpHash || !enabled) return;
9797
9621
  console.log("[useUserOpStatus] Initializing for UserOp hash:", userOpHash);
9798
9622
  startTimeRef.current = Date.now();
@@ -9804,7 +9628,7 @@ function useUserOpStatus(options = {}) {
9804
9628
  setError(null);
9805
9629
  setIsPolling(false);
9806
9630
  }, [userOpHash, enabled]);
9807
- React31.useEffect(() => {
9631
+ React30.useEffect(() => {
9808
9632
  if (!userOpHash || !enabled) {
9809
9633
  console.log("[useUserOpStatus] Not starting polling - no hash or disabled");
9810
9634
  return;
@@ -9840,7 +9664,7 @@ function useUserOpStatus(options = {}) {
9840
9664
  }
9841
9665
  };
9842
9666
  }, [userOpHash, enabled, pollMs]);
9843
- const refresh = React31.useCallback(async () => {
9667
+ const refresh = React30.useCallback(async () => {
9844
9668
  await tick();
9845
9669
  }, [tick]);
9846
9670
  return {