diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php new file mode 100644 index 0000000..712d8e7 --- /dev/null +++ b/app/Http/Controllers/SearchController.php @@ -0,0 +1,58 @@ +validate($request, [ + 'q' => 'required', + ]); + + $servers = Server::query() + ->where(function ($query) use ($request) { + $query->where('name', 'like', '%'.$request->input('q').'%') + ->orWhere('ip', 'like', '%'.$request->input('q').'%'); + }) + ->get(); + + $sites = Site::query() + ->where('domain', 'like', '%'.$request->input('q').'%') + ->get(); + + $result = []; + + /** @var Server $server */ + foreach ($servers as $server) { + $result[] = [ + 'type' => 'server', + 'url' => route('servers.show', ['server' => $server]), + 'text' => $server->name, + 'project' => $server->project->name, + ]; + } + + /** @var Site $site */ + foreach ($sites as $site) { + $result[] = [ + 'type' => 'site', + 'url' => route('servers.sites.show', ['server' => $site->server, 'site' => $site]), + 'text' => $site->domain, + 'project' => $site->server->project->name, + ]; + } + + return response()->json([ + 'results' => $result, + ]); + } +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 22361ae..f0394da 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -3,6 +3,7 @@ namespace App\Http; use App\Http\Middleware\HandleSSHErrors; +use App\Http\Middleware\SelectCurrentProject; use App\Http\Middleware\ServerIsReadyMiddleware; use Illuminate\Foundation\Http\Kernel as HttpKernel; @@ -66,5 +67,6 @@ class Kernel extends HttpKernel 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'server-is-ready' => ServerIsReadyMiddleware::class, 'handle-ssh-errors' => HandleSSHErrors::class, + 'select-current-project' => SelectCurrentProject::class, ]; } diff --git a/app/Http/Middleware/SelectCurrentProject.php b/app/Http/Middleware/SelectCurrentProject.php new file mode 100644 index 0000000..9ec41ea --- /dev/null +++ b/app/Http/Middleware/SelectCurrentProject.php @@ -0,0 +1,32 @@ +route('server'); + + /** @var User $user */ + $user = $request->user(); + + if ($server->project_id != $user->current_project_id) { + $user->current_project_id = $server->project_id; + $user->save(); + } + + return $next($request); + } +} diff --git a/package-lock.json b/package-lock.json index dafb129..a463381 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "@tailwindcss/typography": "^0.5.9", "alpinejs": "^3.4.2", "autoprefixer": "^10.4.2", - "axios": "^1.6.0", + "flowbite": "^2.3.0", "htmx.org": "^1.9.10", "laravel-echo": "^1.15.0", "laravel-vite-plugin": "^0.7.2", @@ -564,12 +564,6 @@ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "node_modules/autoprefixer": { "version": "10.4.14", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", @@ -603,17 +597,6 @@ "postcss": "^8.1.0" } }, - "node_modules/axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -753,18 +736,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -792,15 +763,6 @@ "node": ">=4" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -926,38 +888,14 @@ "node": ">=8" } }, - "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/flowbite": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/flowbite/-/flowbite-2.3.0.tgz", + "integrity": "sha512-pm3JRo8OIJHGfFYWgaGpPv8E+UdWy0Z3gEAGufw+G/1dusaU/P1zoBLiQpf2/+bYAi+GBQtPVG86KYlV0W+AFQ==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" + "@popperjs/core": "^2.9.3", + "mini-svg-data-uri": "^1.4.3" } }, "node_modules/fraction.js": { @@ -1220,27 +1158,6 @@ "node": ">=8.6" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mini-svg-data-uri": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", @@ -1620,12 +1537,6 @@ } } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "node_modules/pusher-js": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-4.4.0.tgz", @@ -2392,12 +2303,6 @@ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", "dev": true }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "autoprefixer": { "version": "10.4.14", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", @@ -2412,17 +2317,6 @@ "postcss-value-parser": "^4.2.0" } }, - "axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2511,15 +2405,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -2538,12 +2423,6 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, "didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -2649,21 +2528,14 @@ "to-regex-range": "^5.0.1" } }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "dev": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "flowbite": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/flowbite/-/flowbite-2.3.0.tgz", + "integrity": "sha512-pm3JRo8OIJHGfFYWgaGpPv8E+UdWy0Z3gEAGufw+G/1dusaU/P1zoBLiQpf2/+bYAi+GBQtPVG86KYlV0W+AFQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "@popperjs/core": "^2.9.3", + "mini-svg-data-uri": "^1.4.3" } }, "fraction.js": { @@ -2864,21 +2736,6 @@ "picomatch": "^2.3.1" } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, "mini-svg-data-uri": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", @@ -3072,12 +2929,6 @@ "dev": true, "requires": {} }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "pusher-js": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-4.4.0.tgz", diff --git a/package.json b/package.json index e510e65..b6505e0 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "@tailwindcss/typography": "^0.5.9", "alpinejs": "^3.4.2", "autoprefixer": "^10.4.2", - "axios": "^1.6.0", + "flowbite": "^2.3.0", "htmx.org": "^1.9.10", "laravel-echo": "^1.15.0", "laravel-vite-plugin": "^0.7.2", diff --git a/public/build/assets/app-986a0fb7.css b/public/build/assets/app-986a0fb7.css new file mode 100644 index 0000000..81ad31f --- /dev/null +++ b/public/build/assets/app-986a0fb7.css @@ -0,0 +1 @@ +.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #ffffff;text-shadow:0 1px 0 #ffffff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{box-sizing:border-box}#toast-container>div{border-radius:.5rem;position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;background-position:15px center;background-repeat:no-repeat;color:#fff}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{cursor:pointer;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.toast-error{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.toast-info{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.toast-warning{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}/*! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}:is([dir=rtl]) select:not([size]){background-position:left .75rem center;padding-right:.75rem;padding-left:0}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#64748b;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--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)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M0.5 6h14'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1e293b;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;-webkit-margin-start:-1rem;margin-inline-start:-1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#334155}:is([dir=rtl]) input[type=file]::file-selector-button{padding-right:2rem;padding-left:1rem}.dark input[type=file]::file-selector-button{color:#fff;background:#475569}.dark input[type=file]::file-selector-button:hover{background:#64748b}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#94a3b8}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#64748b}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--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(4px + 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);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#94a3b8}.dark input[type=range]:disabled::-moz-range-thumb{background:#64748b}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#cbd5e1;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.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}}.apexcharts-canvas .apexcharts-tooltip{background-color:#fff;color:#64748b;border:0!important;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.dark .apexcharts-canvas .apexcharts-tooltip{background-color:#334155;color:#94a3b8;border-color:transparent;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-title{padding:.5rem .75rem;margin-bottom:.75rem;background-color:#f1f5f9;border-bottom-color:#e2e8f0;font-size:.875rem!important;font-weight:400;color:#64748b}.dark .apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-title{background-color:#475569;border-color:#64748b;color:#94a3b8}.apexcharts-canvas .apexcharts-xaxistooltip{color:#64748b;padding:.5rem .75rem;border-color:transparent;background-color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.dark .apexcharts-canvas .apexcharts-xaxistooltip{color:#94a3b8;background-color:#334155}.apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-text-y-label{color:#64748b;font-size:.875rem}.dark .apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-text-y-label{color:#94a3b8}.apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-text-y-value{color:#0f172a;font-size:.875rem}:is([dir=rtl]) .apexcharts-tooltip .apexcharts-tooltip-marker{margin-right:0;margin-left:e}.dark .apexcharts-canvas .apexcharts-tooltip .apexcharts-tooltip-text-y-value{color:#fff}.apexcharts-canvas .apexcharts-xaxistooltip-text{font-weight:400;font-size:.875rem!important}.apexcharts-canvas .apexcharts-xaxistooltip:after,.apexcharts-canvas .apexcharts-xaxistooltip:before{border-bottom-color:#fff}.apexcharts-canvas .apexcharts-xaxistooltip:after{border-width:8px;margin-left:-8px}.apexcharts-canvas .apexcharts-xaxistooltip:before{border-width:10px;margin-left:-10px}.dark .apexcharts-canvas .apexcharts-xaxistooltip:after,.dark .apexcharts-canvas .apexcharts-xaxistooltip:before{border-bottom-color:#334155}.apexcharts-canvas .apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-y-group{padding:0}.apexcharts-canvas .apexcharts-tooltip-series-group.apexcharts-active{padding-left:.75rem;padding-right:.75rem;padding-bottom:.75rem;background-color:#fff!important;color:#64748b!important}.dark .apexcharts-canvas .apexcharts-tooltip-series-group.apexcharts-active{background-color:#334155!important;color:#94a3b8!important}.apexcharts-canvas .apexcharts-tooltip-series-group.apexcharts-active:first-of-type{padding-top:.75rem}.apexcharts-canvas .apexcharts-legend{padding:0!important}.apexcharts-canvas .apexcharts-legend-text{font-size:.75rem;font-weight:500!important;padding-left:1.25rem;color:#64748b!important}:is([dir=rtl]) .apexcharts-canvas .apexcharts-legend-text{padding-right:.5rem}.apexcharts-canvas .apexcharts-legend-text:not(.apexcharts-inactive-legend):hover{color:#0f172a!important}.dark .apexcharts-canvas .apexcharts-legend-text{color:#94a3b8!important}.dark .apexcharts-canvas .apexcharts-legend-text:not(.apexcharts-inactive-legend):hover{color:#fff!important}.apexcharts-canvas .apexcharts-legend-series{margin-left:.5rem;margin-right:.5rem;margin-bottom:.25rem!important;display:flex;align-items:center}.apexcharts-datalabels-group .apexcharts-text.apexcharts-datalabel-value{fill:#0f172a!important;font-size:1.875rem;font-weight:700}.dark .apexcharts-canvas .apexcharts-datalabels-group .apexcharts-text.apexcharts-datalabel-value{fill:#fff!important}.apexcharts-canvas .apexcharts-datalabels-group .apexcharts-text.apexcharts-datalabel-label{fill:#64748b!important;font-size:1rem;font-weight:400}.dark .apexcharts-canvas .apexcharts-datalabels-group .apexcharts-text.apexcharts-datalabel-label{fill:#94a3b8!important}.apexcharts-canvas .apexcharts-datalabels .apexcharts-text.apexcharts-pie-label{font-size:.75rem!important;font-weight:600!important;text-shadow:none!important;filter:none!important}.apexcharts-gridline,.apexcharts-xcrosshairs,.apexcharts-ycrosshairs{stroke:#e2e8f0!important}.dark .apexcharts-gridline,.dark .apexcharts-xcrosshairs,.dark .apexcharts-ycrosshairs{stroke:#334155!important}.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}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-1{top:.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.float-right{float:right}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-ml-px{margin-left:-1px}.-mt-px{margin-top:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[64px\]{margin-top:64px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[500px\]{height:500px}.h-\[64px\]{height:64px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[350px\]{max-height:350px}.max-h-screen{max-height:100vh}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.origin-top{transform-origin:top}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.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 * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-e-lg{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-s-lg{border-start-start-radius:.5rem;border-end-start-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.\!border-primary-700{--tw-border-opacity: 1 !important;border-color:rgb(67 56 202 / var(--tw-border-opacity))!important}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity))}.border-primary-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.border-opacity-50{--tw-border-opacity: .5}.\!bg-primary-600{--tw-bg-opacity: 1 !important;background-color:rgb(79 70 229 / var(--tw-bg-opacity))!important}.\!bg-primary-700{--tw-bg-opacity: 1 !important;background-color:rgb(67 56 202 / var(--tw-bg-opacity))!important}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-gray-900\/50{background-color:#0f172a80}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-primary-700{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(253 242 242 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(253 253 234 / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-sans{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-9{line-height:2.25rem}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(88 80 236 / var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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)}.outline{outline-style:solid}.outline-0{outline-width:0px}.ring-1{--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(1px + 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)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}[x-cloak]{display:none!important}body{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}:is(.dark body){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\:\!bg-primary-800:hover{--tw-bg-opacity: 1 !important;background-color:rgb(55 48 163 / var(--tw-bg-opacity))!important}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-50:hover{opacity:.5}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.focus\:border-primary-700:focus{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.focus\:border-red-700:focus{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.focus\:bg-gray-50:focus{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.focus\:bg-primary-100:focus{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.focus\:text-gray-700:focus{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.focus\:text-gray-800:focus{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.focus\:text-primary-800:focus{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring: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(3px + 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)}.focus\:ring-1: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(1px + 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)}.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)}.focus\:ring-4: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(4px + 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)}.focus\:\!ring-primary-300:focus{--tw-ring-opacity: 1 !important;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity)) !important}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\:ring-gray-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(104 117 245 / var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(251 213 213 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:bg-gray-100:active{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.active\:bg-primary-700:active{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.active\:bg-red-600:active{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.active\:text-gray-500:active{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.active\:text-gray-700:active{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.disabled\:opacity-25:disabled{opacity:.25}:is([dir=rtl] .rtl\:rotate-180){--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is([dir=rtl] .rtl\:flex-row-reverse){flex-direction:row-reverse}:is([dir=rtl] .rtl\:space-x-reverse)>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 1}:is(.dark .dark\:divide-gray-600)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(71 85 105 / var(--tw-divide-opacity))}:is(.dark .dark\:divide-gray-700\/50)>:not([hidden])~:not([hidden]){border-color:#33415580}:is(.dark .dark\:border-r-2){border-right-width:2px}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-t-transparent){border-top-color:transparent}:is(.dark .dark\:border-opacity-20){--tw-border-opacity: .2}:is(.dark .dark\:\!bg-primary-600){--tw-bg-opacity: 1 !important;background-color:rgb(79 70 229 / var(--tw-bg-opacity))!important}:is(.dark .dark\:\!bg-primary-700){--tw-bg-opacity: 1 !important;background-color:rgb(67 56 202 / var(--tw-bg-opacity))!important}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1e293b80}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-900\/80){background-color:#0f172acc}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-500){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900\/50){background-color:#312e8180}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-500){--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-10){--tw-bg-opacity: .1}:is(.dark .dark\:bg-opacity-20){--tw-bg-opacity: .2}:is(.dark .dark\:bg-opacity-30){--tw-bg-opacity: .3}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-100){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary-300){--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity))}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-gray-700:hover){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:\!bg-primary-700:hover){--tw-bg-opacity: 1 !important;background-color:rgb(67 56 202 / var(--tw-bg-opacity))!important}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700\/50:hover){background-color:#33415580}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800\/50:hover){background-color:#1e293b80}:is(.dark .dark\:hover\:bg-gray-800\/70:hover){background-color:#1e293bb3}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-200:hover){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-700:focus){--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-blue-800:focus){--tw-border-opacity: 1;border-color:rgb(30 66 159 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-gray-600:focus){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-gray-700:focus){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-300:focus){--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-500:focus){--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-600:focus){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-700:focus){--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:bg-gray-700:focus){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:text-gray-200:focus){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-gray-300:focus){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-primary-200:focus){--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-indigo-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(88 80 236 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(67 56 202 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-opacity-40:focus){--tw-ring-opacity: .4}:is(.dark .dark\:focus\:ring-offset-gray-800:focus){--tw-ring-offset-color: #1e293b}:is(.dark .dark\:active\:bg-gray-700:active){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:active\:text-gray-300:active){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:ml-64{margin-left:16rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-1{flex:1 1 0%}.sm\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:me-24{-webkit-margin-end:6rem;margin-inline-end:6rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:px-0{padding-left:0;padding-right:0}.md\:text-left{text-align:left}}@media (min-width: 1024px){.lg\:mb-0{margin-bottom:0}.lg\:mr-2{margin-right:.5rem}.lg\:block{display:block}.lg\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-3{padding-left:.75rem}}@media (min-width: 1280px){.xl\:block{display:block}} diff --git a/public/build/assets/app-e2e337dc.css b/public/build/assets/app-e2e337dc.css deleted file mode 100644 index 9aea730..0000000 --- a/public/build/assets/app-e2e337dc.css +++ /dev/null @@ -1 +0,0 @@ -.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #ffffff;text-shadow:0 1px 0 #ffffff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{box-sizing:border-box}#toast-container>div{border-radius:.5rem;position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;background-position:15px center;background-repeat:no-repeat;color:#fff}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{cursor:pointer;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.toast-error{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.toast-info{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.toast-warning{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width: 240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 241px) and (max-width: 480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width: 481px) and (max-width: 768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}/*! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#94a3b8}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#64748b;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #2563eb;--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)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.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}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-1{top:.25rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.float-right{float:right}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-px{margin-left:-1px}.-mt-px{margin-top:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-12{margin-left:3rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[500px\]{height:500px}.h-full{height:100%}.max-h-\[350px\]{max-height:350px}.max-h-screen{max-height:100vh}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[500px\]{max-width:500px}.max-w-full{max-width:100%}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-grow{flex-grow:1}.origin-top{transform-origin:top}.origin-top-left{transform-origin:top left}.origin-top-right{transform-origin:top right}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-primary-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.border-opacity-50{--tw-border-opacity: .5}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-sans{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-7{line-height:1.75rem}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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)}.outline-0{outline-width:0px}.ring-1{--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(1px + 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)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity: .05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}[x-cloak]{display:none!important}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:opacity-50:hover{opacity:.5}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity))}.focus\:border-gray-300:focus{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.focus\:border-primary-300:focus{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.focus\:border-primary-700:focus{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.focus\:border-red-700:focus{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.focus\:bg-gray-50:focus{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.focus\:bg-primary-100:focus{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.focus\:text-gray-700:focus{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.focus\:text-gray-800:focus{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.focus\:text-primary-800:focus{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring: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(3px + 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)}.focus\:ring-1: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(1px + 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)}.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)}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity))}.focus\:ring-gray-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(51 65 85 / var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity))}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity))}.focus\:ring-opacity-50:focus{--tw-ring-opacity: .5}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\:bg-gray-100:active{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity))}.active\:bg-primary-700:active{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.active\:bg-red-600:active{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.active\:text-gray-500:active{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.active\:text-gray-700:active{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.disabled\:opacity-25:disabled{opacity:.25}:is([dir=rtl] .rtl\:flex-row-reverse){flex-direction:row-reverse}:is(.dark .dark\:border-r-2){border-right-width:2px}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(15 23 42 / var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:border-t-transparent){border-top-color:transparent}:is(.dark .dark\:border-opacity-20){--tw-border-opacity: .2}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/50){background-color:#1e293b80}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-500){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900\/50){background-color:#312e8180}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-500){--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-10){--tw-bg-opacity: .1}:is(.dark .dark\:bg-opacity-20){--tw-bg-opacity: .2}:is(.dark .dark\:bg-opacity-30){--tw-bg-opacity: .3}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:text-gray-100){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary-300){--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-gray-700:hover){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-gray-100:hover){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-200:hover){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-blue-700:focus){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-blue-800:focus){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-gray-600:focus){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-gray-700:focus){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-300:focus){--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-600:focus){--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-primary-700:focus){--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:bg-gray-700:focus){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}:is(.dark .dark\:focus\:text-gray-200:focus){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-gray-300:focus){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:text-primary-200:focus){--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-indigo-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(79 70 229 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-primary-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(67 56 202 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-opacity-40:focus){--tw-ring-opacity: .4}:is(.dark .dark\:focus\:ring-offset-gray-800:focus){--tw-ring-offset-color: #1e293b}:is(.dark .dark\:active\:bg-gray-700:active){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}:is(.dark .dark\:active\:text-gray-300:active){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xl{max-width:36rem}.sm\:flex-1{flex:1 1 0%}.sm\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:block{display:block}.md\:justify-start{justify-content:flex-start}.md\:text-left{text-align:left}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}} diff --git a/public/build/assets/app-e823d2ab.js b/public/build/assets/app-e823d2ab.js new file mode 100644 index 0000000..d69ec73 --- /dev/null +++ b/public/build/assets/app-e823d2ab.js @@ -0,0 +1,21 @@ +var Events=function(){function ze(en,tn){tn===void 0&&(tn=[]),this._eventType=en,this._eventFunctions=tn}return ze.prototype.init=function(){var en=this;this._eventFunctions.forEach(function(tn){typeof window<"u"&&window.addEventListener(en._eventType,tn)})},ze}(),Instances=function(){function ze(){this._instances={Accordion:{},Carousel:{},Collapse:{},Dial:{},Dismiss:{},Drawer:{},Dropdown:{},Modal:{},Popover:{},Tabs:{},Tooltip:{},InputCounter:{},CopyClipboard:{}}}return ze.prototype.addInstance=function(en,tn,rn,an){if(an===void 0&&(an=!1),!this._instances[en])return console.warn("Flowbite: Component ".concat(en," does not exist.")),!1;if(this._instances[en][rn]&&!an){console.warn("Flowbite: Instance with ID ".concat(rn," already exists."));return}an&&this._instances[en][rn]&&this._instances[en][rn].destroyAndRemoveInstance(),this._instances[en][rn||this._generateRandomId()]=tn},ze.prototype.getAllInstances=function(){return this._instances},ze.prototype.getInstances=function(en){return this._instances[en]?this._instances[en]:(console.warn("Flowbite: Component ".concat(en," does not exist.")),!1)},ze.prototype.getInstance=function(en,tn){if(this._componentAndInstanceCheck(en,tn)){if(!this._instances[en][tn]){console.warn("Flowbite: Instance with ID ".concat(tn," does not exist."));return}return this._instances[en][tn]}},ze.prototype.destroyAndRemoveInstance=function(en,tn){this._componentAndInstanceCheck(en,tn)&&(this.destroyInstanceObject(en,tn),this.removeInstance(en,tn))},ze.prototype.removeInstance=function(en,tn){this._componentAndInstanceCheck(en,tn)&&delete this._instances[en][tn]},ze.prototype.destroyInstanceObject=function(en,tn){this._componentAndInstanceCheck(en,tn)&&this._instances[en][tn].destroy()},ze.prototype.instanceExists=function(en,tn){return!(!this._instances[en]||!this._instances[en][tn])},ze.prototype._generateRandomId=function(){return Math.random().toString(36).substr(2,9)},ze.prototype._componentAndInstanceCheck=function(en,tn){return this._instances[en]?this._instances[en][tn]?!0:(console.warn("Flowbite: Instance with ID ".concat(tn," does not exist.")),!1):(console.warn("Flowbite: Component ".concat(en," does not exist.")),!1)},ze}(),instances=new Instances;typeof window<"u"&&(window.FlowbiteInstances=instances);var __assign$c=globalThis&&globalThis.__assign||function(){return __assign$c=Object.assign||function(ze){for(var en,tn=1,rn=arguments.length;tn"u")return!1;var en=getWindow(ze).ShadowRoot;return ze instanceof en||ze instanceof ShadowRoot}function applyStyles(ze){var en=ze.state;Object.keys(en.elements).forEach(function(tn){var rn=en.styles[tn]||{},an=en.attributes[tn]||{},ln=en.elements[tn];!isHTMLElement(ln)||!getNodeName(ln)||(Object.assign(ln.style,rn),Object.keys(an).forEach(function(dn){var vn=an[dn];vn===!1?ln.removeAttribute(dn):ln.setAttribute(dn,vn===!0?"":vn)}))})}function effect$3(ze){var en=ze.state,tn={popper:{position:en.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(en.elements.popper.style,tn.popper),en.styles=tn,en.elements.arrow&&Object.assign(en.elements.arrow.style,tn.arrow),function(){Object.keys(en.elements).forEach(function(rn){var an=en.elements[rn],ln=en.attributes[rn]||{},dn=Object.keys(en.styles.hasOwnProperty(rn)?en.styles[rn]:tn[rn]),vn=dn.reduce(function(mn,xn){return mn[xn]="",mn},{});!isHTMLElement(an)||!getNodeName(an)||(Object.assign(an.style,vn),Object.keys(ln).forEach(function(mn){an.removeAttribute(mn)}))})}}const applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$3,requires:["computeStyles"]};function getBasePlacement$1(ze){return ze.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var ze=navigator.userAgentData;return ze!=null&&ze.brands&&Array.isArray(ze.brands)?ze.brands.map(function(en){return en.brand+"/"+en.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(ze,en,tn){en===void 0&&(en=!1),tn===void 0&&(tn=!1);var rn=ze.getBoundingClientRect(),an=1,ln=1;en&&isHTMLElement(ze)&&(an=ze.offsetWidth>0&&round(rn.width)/ze.offsetWidth||1,ln=ze.offsetHeight>0&&round(rn.height)/ze.offsetHeight||1);var dn=isElement$1(ze)?getWindow(ze):window,vn=dn.visualViewport,mn=!isLayoutViewport()&&tn,xn=(rn.left+(mn&&vn?vn.offsetLeft:0))/an,En=(rn.top+(mn&&vn?vn.offsetTop:0))/ln,Ln=rn.width/an,Mn=rn.height/ln;return{width:Ln,height:Mn,top:En,right:xn+Ln,bottom:En+Mn,left:xn,x:xn,y:En}}function getLayoutRect(ze){var en=getBoundingClientRect(ze),tn=ze.offsetWidth,rn=ze.offsetHeight;return Math.abs(en.width-tn)<=1&&(tn=en.width),Math.abs(en.height-rn)<=1&&(rn=en.height),{x:ze.offsetLeft,y:ze.offsetTop,width:tn,height:rn}}function contains(ze,en){var tn=en.getRootNode&&en.getRootNode();if(ze.contains(en))return!0;if(tn&&isShadowRoot(tn)){var rn=en;do{if(rn&&ze.isSameNode(rn))return!0;rn=rn.parentNode||rn.host}while(rn)}return!1}function getComputedStyle$1(ze){return getWindow(ze).getComputedStyle(ze)}function isTableElement(ze){return["table","td","th"].indexOf(getNodeName(ze))>=0}function getDocumentElement(ze){return((isElement$1(ze)?ze.ownerDocument:ze.document)||window.document).documentElement}function getParentNode(ze){return getNodeName(ze)==="html"?ze:ze.assignedSlot||ze.parentNode||(isShadowRoot(ze)?ze.host:null)||getDocumentElement(ze)}function getTrueOffsetParent(ze){return!isHTMLElement(ze)||getComputedStyle$1(ze).position==="fixed"?null:ze.offsetParent}function getContainingBlock(ze){var en=/firefox/i.test(getUAString()),tn=/Trident/i.test(getUAString());if(tn&&isHTMLElement(ze)){var rn=getComputedStyle$1(ze);if(rn.position==="fixed")return null}var an=getParentNode(ze);for(isShadowRoot(an)&&(an=an.host);isHTMLElement(an)&&["html","body"].indexOf(getNodeName(an))<0;){var ln=getComputedStyle$1(an);if(ln.transform!=="none"||ln.perspective!=="none"||ln.contain==="paint"||["transform","perspective"].indexOf(ln.willChange)!==-1||en&&ln.willChange==="filter"||en&&ln.filter&&ln.filter!=="none")return an;an=an.parentNode}return null}function getOffsetParent(ze){for(var en=getWindow(ze),tn=getTrueOffsetParent(ze);tn&&isTableElement(tn)&&getComputedStyle$1(tn).position==="static";)tn=getTrueOffsetParent(tn);return tn&&(getNodeName(tn)==="html"||getNodeName(tn)==="body"&&getComputedStyle$1(tn).position==="static")?en:tn||getContainingBlock(ze)||en}function getMainAxisFromPlacement(ze){return["top","bottom"].indexOf(ze)>=0?"x":"y"}function within(ze,en,tn){return max(ze,min(en,tn))}function withinMaxClamp(ze,en,tn){var rn=within(ze,en,tn);return rn>tn?tn:rn}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(ze){return Object.assign({},getFreshSideObject(),ze)}function expandToHashMap(ze,en){return en.reduce(function(tn,rn){return tn[rn]=ze,tn},{})}var toPaddingObject=function(en,tn){return en=typeof en=="function"?en(Object.assign({},tn.rects,{placement:tn.placement})):en,mergePaddingObject(typeof en!="number"?en:expandToHashMap(en,basePlacements))};function arrow(ze){var en,tn=ze.state,rn=ze.name,an=ze.options,ln=tn.elements.arrow,dn=tn.modifiersData.popperOffsets,vn=getBasePlacement$1(tn.placement),mn=getMainAxisFromPlacement(vn),xn=[left,right].indexOf(vn)>=0,En=xn?"height":"width";if(!(!ln||!dn)){var Ln=toPaddingObject(an.padding,tn),Mn=getLayoutRect(ln),Wn=mn==="y"?top:left,Fn=mn==="y"?bottom:right,Bn=tn.rects.reference[En]+tn.rects.reference[mn]-dn[mn]-tn.rects.popper[En],qn=dn[mn]-tn.rects.reference[mn],jn=getOffsetParent(ln),Jn=jn?mn==="y"?jn.clientHeight||0:jn.clientWidth||0:0,ii=Bn/2-qn/2,Cn=Ln[Wn],ti=Jn-Mn[En]-Ln[Fn],fn=Jn/2-Mn[En]/2+ii,ai=within(Cn,fn,ti),ci=mn;tn.modifiersData[rn]=(en={},en[ci]=ai,en.centerOffset=ai-fn,en)}}function effect$2(ze){var en=ze.state,tn=ze.options,rn=tn.element,an=rn===void 0?"[data-popper-arrow]":rn;an!=null&&(typeof an=="string"&&(an=en.elements.popper.querySelector(an),!an)||contains(en.elements.popper,an)&&(en.elements.arrow=an))}const arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$2,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(ze){return ze.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(ze,en){var tn=ze.x,rn=ze.y,an=en.devicePixelRatio||1;return{x:round(tn*an)/an||0,y:round(rn*an)/an||0}}function mapToStyles(ze){var en,tn=ze.popper,rn=ze.popperRect,an=ze.placement,ln=ze.variation,dn=ze.offsets,vn=ze.position,mn=ze.gpuAcceleration,xn=ze.adaptive,En=ze.roundOffsets,Ln=ze.isFixed,Mn=dn.x,Wn=Mn===void 0?0:Mn,Fn=dn.y,Bn=Fn===void 0?0:Fn,qn=typeof En=="function"?En({x:Wn,y:Bn}):{x:Wn,y:Bn};Wn=qn.x,Bn=qn.y;var jn=dn.hasOwnProperty("x"),Jn=dn.hasOwnProperty("y"),ii=left,Cn=top,ti=window;if(xn){var fn=getOffsetParent(tn),ai="clientHeight",ci="clientWidth";if(fn===getWindow(tn)&&(fn=getDocumentElement(tn),getComputedStyle$1(fn).position!=="static"&&vn==="absolute"&&(ai="scrollHeight",ci="scrollWidth")),fn=fn,an===top||(an===left||an===right)&&ln===end){Cn=bottom;var zn=Ln&&fn===ti&&ti.visualViewport?ti.visualViewport.height:fn[ai];Bn-=zn-rn.height,Bn*=mn?1:-1}if(an===left||(an===top||an===bottom)&&ln===end){ii=right;var Hn=Ln&&fn===ti&&ti.visualViewport?ti.visualViewport.width:fn[ci];Wn-=Hn-rn.width,Wn*=mn?1:-1}}var Kn=Object.assign({position:vn},xn&&unsetSides),ni=En===!0?roundOffsetsByDPR({x:Wn,y:Bn},getWindow(tn)):{x:Wn,y:Bn};if(Wn=ni.x,Bn=ni.y,mn){var oi;return Object.assign({},Kn,(oi={},oi[Cn]=Jn?"0":"",oi[ii]=jn?"0":"",oi.transform=(ti.devicePixelRatio||1)<=1?"translate("+Wn+"px, "+Bn+"px)":"translate3d("+Wn+"px, "+Bn+"px, 0)",oi))}return Object.assign({},Kn,(en={},en[Cn]=Jn?Bn+"px":"",en[ii]=jn?Wn+"px":"",en.transform="",en))}function computeStyles(ze){var en=ze.state,tn=ze.options,rn=tn.gpuAcceleration,an=rn===void 0?!0:rn,ln=tn.adaptive,dn=ln===void 0?!0:ln,vn=tn.roundOffsets,mn=vn===void 0?!0:vn,xn={placement:getBasePlacement$1(en.placement),variation:getVariation(en.placement),popper:en.elements.popper,popperRect:en.rects.popper,gpuAcceleration:an,isFixed:en.options.strategy==="fixed"};en.modifiersData.popperOffsets!=null&&(en.styles.popper=Object.assign({},en.styles.popper,mapToStyles(Object.assign({},xn,{offsets:en.modifiersData.popperOffsets,position:en.options.strategy,adaptive:dn,roundOffsets:mn})))),en.modifiersData.arrow!=null&&(en.styles.arrow=Object.assign({},en.styles.arrow,mapToStyles(Object.assign({},xn,{offsets:en.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:mn})))),en.attributes.popper=Object.assign({},en.attributes.popper,{"data-popper-placement":en.placement})}const computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};var passive={passive:!0};function effect$1(ze){var en=ze.state,tn=ze.instance,rn=ze.options,an=rn.scroll,ln=an===void 0?!0:an,dn=rn.resize,vn=dn===void 0?!0:dn,mn=getWindow(en.elements.popper),xn=[].concat(en.scrollParents.reference,en.scrollParents.popper);return ln&&xn.forEach(function(En){En.addEventListener("scroll",tn.update,passive)}),vn&&mn.addEventListener("resize",tn.update,passive),function(){ln&&xn.forEach(function(En){En.removeEventListener("scroll",tn.update,passive)}),vn&&mn.removeEventListener("resize",tn.update,passive)}}const eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:effect$1,data:{}};var hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(ze){return ze.replace(/left|right|bottom|top/g,function(en){return hash$1[en]})}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(ze){return ze.replace(/start|end/g,function(en){return hash[en]})}function getWindowScroll(ze){var en=getWindow(ze),tn=en.pageXOffset,rn=en.pageYOffset;return{scrollLeft:tn,scrollTop:rn}}function getWindowScrollBarX(ze){return getBoundingClientRect(getDocumentElement(ze)).left+getWindowScroll(ze).scrollLeft}function getViewportRect(ze,en){var tn=getWindow(ze),rn=getDocumentElement(ze),an=tn.visualViewport,ln=rn.clientWidth,dn=rn.clientHeight,vn=0,mn=0;if(an){ln=an.width,dn=an.height;var xn=isLayoutViewport();(xn||!xn&&en==="fixed")&&(vn=an.offsetLeft,mn=an.offsetTop)}return{width:ln,height:dn,x:vn+getWindowScrollBarX(ze),y:mn}}function getDocumentRect(ze){var en,tn=getDocumentElement(ze),rn=getWindowScroll(ze),an=(en=ze.ownerDocument)==null?void 0:en.body,ln=max(tn.scrollWidth,tn.clientWidth,an?an.scrollWidth:0,an?an.clientWidth:0),dn=max(tn.scrollHeight,tn.clientHeight,an?an.scrollHeight:0,an?an.clientHeight:0),vn=-rn.scrollLeft+getWindowScrollBarX(ze),mn=-rn.scrollTop;return getComputedStyle$1(an||tn).direction==="rtl"&&(vn+=max(tn.clientWidth,an?an.clientWidth:0)-ln),{width:ln,height:dn,x:vn,y:mn}}function isScrollParent(ze){var en=getComputedStyle$1(ze),tn=en.overflow,rn=en.overflowX,an=en.overflowY;return/auto|scroll|overlay|hidden/.test(tn+an+rn)}function getScrollParent(ze){return["html","body","#document"].indexOf(getNodeName(ze))>=0?ze.ownerDocument.body:isHTMLElement(ze)&&isScrollParent(ze)?ze:getScrollParent(getParentNode(ze))}function listScrollParents(ze,en){var tn;en===void 0&&(en=[]);var rn=getScrollParent(ze),an=rn===((tn=ze.ownerDocument)==null?void 0:tn.body),ln=getWindow(rn),dn=an?[ln].concat(ln.visualViewport||[],isScrollParent(rn)?rn:[]):rn,vn=en.concat(dn);return an?vn:vn.concat(listScrollParents(getParentNode(dn)))}function rectToClientRect(ze){return Object.assign({},ze,{left:ze.x,top:ze.y,right:ze.x+ze.width,bottom:ze.y+ze.height})}function getInnerBoundingClientRect(ze,en){var tn=getBoundingClientRect(ze,!1,en==="fixed");return tn.top=tn.top+ze.clientTop,tn.left=tn.left+ze.clientLeft,tn.bottom=tn.top+ze.clientHeight,tn.right=tn.left+ze.clientWidth,tn.width=ze.clientWidth,tn.height=ze.clientHeight,tn.x=tn.left,tn.y=tn.top,tn}function getClientRectFromMixedType(ze,en,tn){return en===viewport?rectToClientRect(getViewportRect(ze,tn)):isElement$1(en)?getInnerBoundingClientRect(en,tn):rectToClientRect(getDocumentRect(getDocumentElement(ze)))}function getClippingParents(ze){var en=listScrollParents(getParentNode(ze)),tn=["absolute","fixed"].indexOf(getComputedStyle$1(ze).position)>=0,rn=tn&&isHTMLElement(ze)?getOffsetParent(ze):ze;return isElement$1(rn)?en.filter(function(an){return isElement$1(an)&&contains(an,rn)&&getNodeName(an)!=="body"}):[]}function getClippingRect(ze,en,tn,rn){var an=en==="clippingParents"?getClippingParents(ze):[].concat(en),ln=[].concat(an,[tn]),dn=ln[0],vn=ln.reduce(function(mn,xn){var En=getClientRectFromMixedType(ze,xn,rn);return mn.top=max(En.top,mn.top),mn.right=min(En.right,mn.right),mn.bottom=min(En.bottom,mn.bottom),mn.left=max(En.left,mn.left),mn},getClientRectFromMixedType(ze,dn,rn));return vn.width=vn.right-vn.left,vn.height=vn.bottom-vn.top,vn.x=vn.left,vn.y=vn.top,vn}function computeOffsets(ze){var en=ze.reference,tn=ze.element,rn=ze.placement,an=rn?getBasePlacement$1(rn):null,ln=rn?getVariation(rn):null,dn=en.x+en.width/2-tn.width/2,vn=en.y+en.height/2-tn.height/2,mn;switch(an){case top:mn={x:dn,y:en.y-tn.height};break;case bottom:mn={x:dn,y:en.y+en.height};break;case right:mn={x:en.x+en.width,y:vn};break;case left:mn={x:en.x-tn.width,y:vn};break;default:mn={x:en.x,y:en.y}}var xn=an?getMainAxisFromPlacement(an):null;if(xn!=null){var En=xn==="y"?"height":"width";switch(ln){case start$1:mn[xn]=mn[xn]-(en[En]/2-tn[En]/2);break;case end:mn[xn]=mn[xn]+(en[En]/2-tn[En]/2);break}}return mn}function detectOverflow(ze,en){en===void 0&&(en={});var tn=en,rn=tn.placement,an=rn===void 0?ze.placement:rn,ln=tn.strategy,dn=ln===void 0?ze.strategy:ln,vn=tn.boundary,mn=vn===void 0?clippingParents:vn,xn=tn.rootBoundary,En=xn===void 0?viewport:xn,Ln=tn.elementContext,Mn=Ln===void 0?popper:Ln,Wn=tn.altBoundary,Fn=Wn===void 0?!1:Wn,Bn=tn.padding,qn=Bn===void 0?0:Bn,jn=mergePaddingObject(typeof qn!="number"?qn:expandToHashMap(qn,basePlacements)),Jn=Mn===popper?reference:popper,ii=ze.rects.popper,Cn=ze.elements[Fn?Jn:Mn],ti=getClippingRect(isElement$1(Cn)?Cn:Cn.contextElement||getDocumentElement(ze.elements.popper),mn,En,dn),fn=getBoundingClientRect(ze.elements.reference),ai=computeOffsets({reference:fn,element:ii,strategy:"absolute",placement:an}),ci=rectToClientRect(Object.assign({},ii,ai)),zn=Mn===popper?ci:fn,Hn={top:ti.top-zn.top+jn.top,bottom:zn.bottom-ti.bottom+jn.bottom,left:ti.left-zn.left+jn.left,right:zn.right-ti.right+jn.right},Kn=ze.modifiersData.offset;if(Mn===popper&&Kn){var ni=Kn[an];Object.keys(Hn).forEach(function(oi){var Si=[right,bottom].indexOf(oi)>=0?1:-1,vi=[top,bottom].indexOf(oi)>=0?"y":"x";Hn[oi]+=ni[vi]*Si})}return Hn}function computeAutoPlacement(ze,en){en===void 0&&(en={});var tn=en,rn=tn.placement,an=tn.boundary,ln=tn.rootBoundary,dn=tn.padding,vn=tn.flipVariations,mn=tn.allowedAutoPlacements,xn=mn===void 0?placements:mn,En=getVariation(rn),Ln=En?vn?variationPlacements:variationPlacements.filter(function(Fn){return getVariation(Fn)===En}):basePlacements,Mn=Ln.filter(function(Fn){return xn.indexOf(Fn)>=0});Mn.length===0&&(Mn=Ln);var Wn=Mn.reduce(function(Fn,Bn){return Fn[Bn]=detectOverflow(ze,{placement:Bn,boundary:an,rootBoundary:ln,padding:dn})[getBasePlacement$1(Bn)],Fn},{});return Object.keys(Wn).sort(function(Fn,Bn){return Wn[Fn]-Wn[Bn]})}function getExpandedFallbackPlacements(ze){if(getBasePlacement$1(ze)===auto)return[];var en=getOppositePlacement(ze);return[getOppositeVariationPlacement(ze),en,getOppositeVariationPlacement(en)]}function flip(ze){var en=ze.state,tn=ze.options,rn=ze.name;if(!en.modifiersData[rn]._skip){for(var an=tn.mainAxis,ln=an===void 0?!0:an,dn=tn.altAxis,vn=dn===void 0?!0:dn,mn=tn.fallbackPlacements,xn=tn.padding,En=tn.boundary,Ln=tn.rootBoundary,Mn=tn.altBoundary,Wn=tn.flipVariations,Fn=Wn===void 0?!0:Wn,Bn=tn.allowedAutoPlacements,qn=en.options.placement,jn=getBasePlacement$1(qn),Jn=jn===qn,ii=mn||(Jn||!Fn?[getOppositePlacement(qn)]:getExpandedFallbackPlacements(qn)),Cn=[qn].concat(ii).reduce(function(Pi,wi){return Pi.concat(getBasePlacement$1(wi)===auto?computeAutoPlacement(en,{placement:wi,boundary:En,rootBoundary:Ln,padding:xn,flipVariations:Fn,allowedAutoPlacements:Bn}):wi)},[]),ti=en.rects.reference,fn=en.rects.popper,ai=new Map,ci=!0,zn=Cn[0],Hn=0;Hn=0,vi=Si?"width":"height",Ei=detectOverflow(en,{placement:Kn,boundary:En,rootBoundary:Ln,altBoundary:Mn,padding:xn}),_i=Si?oi?right:left:oi?bottom:top;ti[vi]>fn[vi]&&(_i=getOppositePlacement(_i));var hi=getOppositePlacement(_i),ki=[];if(ln&&ki.push(Ei[ni]<=0),vn&&ki.push(Ei[_i]<=0,Ei[hi]<=0),ki.every(function(Pi){return Pi})){zn=Kn,ci=!1;break}ai.set(Kn,ki)}if(ci)for(var Ni=Fn?3:1,Ai=function(wi){var Wi=Cn.find(function(Gi){var Hi=ai.get(Gi);if(Hi)return Hi.slice(0,wi).every(function(Ti){return Ti})});if(Wi)return zn=Wi,"break"},Bi=Ni;Bi>0;Bi--){var $i=Ai(Bi);if($i==="break")break}en.placement!==zn&&(en.modifiersData[rn]._skip=!0,en.placement=zn,en.reset=!0)}}const flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(ze,en,tn){return tn===void 0&&(tn={x:0,y:0}),{top:ze.top-en.height-tn.y,right:ze.right-en.width+tn.x,bottom:ze.bottom-en.height+tn.y,left:ze.left-en.width-tn.x}}function isAnySideFullyClipped(ze){return[top,right,bottom,left].some(function(en){return ze[en]>=0})}function hide(ze){var en=ze.state,tn=ze.name,rn=en.rects.reference,an=en.rects.popper,ln=en.modifiersData.preventOverflow,dn=detectOverflow(en,{elementContext:"reference"}),vn=detectOverflow(en,{altBoundary:!0}),mn=getSideOffsets(dn,rn),xn=getSideOffsets(vn,an,ln),En=isAnySideFullyClipped(mn),Ln=isAnySideFullyClipped(xn);en.modifiersData[tn]={referenceClippingOffsets:mn,popperEscapeOffsets:xn,isReferenceHidden:En,hasPopperEscaped:Ln},en.attributes.popper=Object.assign({},en.attributes.popper,{"data-popper-reference-hidden":En,"data-popper-escaped":Ln})}const hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(ze,en,tn){var rn=getBasePlacement$1(ze),an=[left,top].indexOf(rn)>=0?-1:1,ln=typeof tn=="function"?tn(Object.assign({},en,{placement:ze})):tn,dn=ln[0],vn=ln[1];return dn=dn||0,vn=(vn||0)*an,[left,right].indexOf(rn)>=0?{x:vn,y:dn}:{x:dn,y:vn}}function offset(ze){var en=ze.state,tn=ze.options,rn=ze.name,an=tn.offset,ln=an===void 0?[0,0]:an,dn=placements.reduce(function(En,Ln){return En[Ln]=distanceAndSkiddingToXY(Ln,en.rects,ln),En},{}),vn=dn[en.placement],mn=vn.x,xn=vn.y;en.modifiersData.popperOffsets!=null&&(en.modifiersData.popperOffsets.x+=mn,en.modifiersData.popperOffsets.y+=xn),en.modifiersData[rn]=dn}const offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(ze){var en=ze.state,tn=ze.name;en.modifiersData[tn]=computeOffsets({reference:en.rects.reference,element:en.rects.popper,strategy:"absolute",placement:en.placement})}const popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(ze){return ze==="x"?"y":"x"}function preventOverflow(ze){var en=ze.state,tn=ze.options,rn=ze.name,an=tn.mainAxis,ln=an===void 0?!0:an,dn=tn.altAxis,vn=dn===void 0?!1:dn,mn=tn.boundary,xn=tn.rootBoundary,En=tn.altBoundary,Ln=tn.padding,Mn=tn.tether,Wn=Mn===void 0?!0:Mn,Fn=tn.tetherOffset,Bn=Fn===void 0?0:Fn,qn=detectOverflow(en,{boundary:mn,rootBoundary:xn,padding:Ln,altBoundary:En}),jn=getBasePlacement$1(en.placement),Jn=getVariation(en.placement),ii=!Jn,Cn=getMainAxisFromPlacement(jn),ti=getAltAxis(Cn),fn=en.modifiersData.popperOffsets,ai=en.rects.reference,ci=en.rects.popper,zn=typeof Bn=="function"?Bn(Object.assign({},en.rects,{placement:en.placement})):Bn,Hn=typeof zn=="number"?{mainAxis:zn,altAxis:zn}:Object.assign({mainAxis:0,altAxis:0},zn),Kn=en.modifiersData.offset?en.modifiersData.offset[en.placement]:null,ni={x:0,y:0};if(fn){if(ln){var oi,Si=Cn==="y"?top:left,vi=Cn==="y"?bottom:right,Ei=Cn==="y"?"height":"width",_i=fn[Cn],hi=_i+qn[Si],ki=_i-qn[vi],Ni=Wn?-ci[Ei]/2:0,Ai=Jn===start$1?ai[Ei]:ci[Ei],Bi=Jn===start$1?-ci[Ei]:-ai[Ei],$i=en.elements.arrow,Pi=Wn&&$i?getLayoutRect($i):{width:0,height:0},wi=en.modifiersData["arrow#persistent"]?en.modifiersData["arrow#persistent"].padding:getFreshSideObject(),Wi=wi[Si],Gi=wi[vi],Hi=within(0,ai[Ei],Pi[Ei]),Ti=ii?ai[Ei]/2-Ni-Hi-Wi-Hn.mainAxis:Ai-Hi-Wi-Hn.mainAxis,Ji=ii?-ai[Ei]/2+Ni+Hi+Gi+Hn.mainAxis:Bi+Hi+Gi+Hn.mainAxis,Zi=en.elements.arrow&&getOffsetParent(en.elements.arrow),lo=Zi?Cn==="y"?Zi.clientTop||0:Zi.clientLeft||0:0,gi=(oi=Kn==null?void 0:Kn[Cn])!=null?oi:0,Fi=_i+Ti-gi-lo,zi=_i+Ji-gi,Yn=within(Wn?min(hi,Fi):hi,_i,Wn?max(ki,zi):ki);fn[Cn]=Yn,ni[Cn]=Yn-_i}if(vn){var Xn,Ri=Cn==="x"?top:left,Xi=Cn==="x"?bottom:right,Ui=fn[ti],oo=ti==="y"?"height":"width",mo=Ui+qn[Ri],Gr=Ui-qn[Xi],Qi=[top,left].indexOf(jn)!==-1,no=(Xn=Kn==null?void 0:Kn[ti])!=null?Xn:0,ao=Qi?mo:Ui-ai[oo]-ci[oo]-no+Hn.altAxis,Io=Qi?Ui+ai[oo]+ci[oo]-no-Hn.altAxis:Gr,fo=Wn&&Qi?withinMaxClamp(ao,Ui,Io):within(Wn?ao:mo,Ui,Wn?Io:Gr);fn[ti]=fo,ni[ti]=fo-Ui}en.modifiersData[rn]=ni}}const preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(ze){return{scrollLeft:ze.scrollLeft,scrollTop:ze.scrollTop}}function getNodeScroll(ze){return ze===getWindow(ze)||!isHTMLElement(ze)?getWindowScroll(ze):getHTMLElementScroll(ze)}function isElementScaled(ze){var en=ze.getBoundingClientRect(),tn=round(en.width)/ze.offsetWidth||1,rn=round(en.height)/ze.offsetHeight||1;return tn!==1||rn!==1}function getCompositeRect(ze,en,tn){tn===void 0&&(tn=!1);var rn=isHTMLElement(en),an=isHTMLElement(en)&&isElementScaled(en),ln=getDocumentElement(en),dn=getBoundingClientRect(ze,an,tn),vn={scrollLeft:0,scrollTop:0},mn={x:0,y:0};return(rn||!rn&&!tn)&&((getNodeName(en)!=="body"||isScrollParent(ln))&&(vn=getNodeScroll(en)),isHTMLElement(en)?(mn=getBoundingClientRect(en,!0),mn.x+=en.clientLeft,mn.y+=en.clientTop):ln&&(mn.x=getWindowScrollBarX(ln))),{x:dn.left+vn.scrollLeft-mn.x,y:dn.top+vn.scrollTop-mn.y,width:dn.width,height:dn.height}}function order(ze){var en=new Map,tn=new Set,rn=[];ze.forEach(function(ln){en.set(ln.name,ln)});function an(ln){tn.add(ln.name);var dn=[].concat(ln.requires||[],ln.requiresIfExists||[]);dn.forEach(function(vn){if(!tn.has(vn)){var mn=en.get(vn);mn&&an(mn)}}),rn.push(ln)}return ze.forEach(function(ln){tn.has(ln.name)||an(ln)}),rn}function orderModifiers(ze){var en=order(ze);return modifierPhases.reduce(function(tn,rn){return tn.concat(en.filter(function(an){return an.phase===rn}))},[])}function debounce$2(ze){var en;return function(){return en||(en=new Promise(function(tn){Promise.resolve().then(function(){en=void 0,tn(ze())})})),en}}function mergeByName(ze){var en=ze.reduce(function(tn,rn){var an=tn[rn.name];return tn[rn.name]=an?Object.assign({},an,rn,{options:Object.assign({},an.options,rn.options),data:Object.assign({},an.data,rn.data)}):rn,tn},{});return Object.keys(en).map(function(tn){return en[tn]})}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var ze=arguments.length,en=new Array(ze),tn=0;tnen._options.maxValue&&(rn.value=en._options.maxValue.toString()),en._options.minValue!==null&&parseInt(rn.value)=this._options.maxValue||(this._targetEl.value=(this.getCurrentValue()+1).toString(),this._options.onIncrement(this))},ze.prototype.decrement=function(){this._options.minValue!==null&&this.getCurrentValue()<=this._options.minValue||(this._targetEl.value=(this.getCurrentValue()-1).toString(),this._options.onDecrement(this))},ze.prototype.updateOnIncrement=function(en){this._options.onIncrement=en},ze.prototype.updateOnDecrement=function(en){this._options.onDecrement=en},ze}();function initInputCounters(){document.querySelectorAll("[data-input-counter]").forEach(function(ze){var en=ze.id,tn=document.querySelector('[data-input-counter-increment="'+en+'"]'),rn=document.querySelector('[data-input-counter-decrement="'+en+'"]'),an=ze.getAttribute("data-input-counter-min"),ln=ze.getAttribute("data-input-counter-max");ze?instances.instanceExists("InputCounter",ze.getAttribute("id"))||new InputCounter(ze,tn||null,rn||null,{minValue:an?parseInt(an):null,maxValue:ln?parseInt(ln):null}):console.error('The target element with id "'.concat(en,'" does not exist. Please check the data-input-counter attribute.'))})}typeof window<"u"&&(window.InputCounter=InputCounter,window.initInputCounters=initInputCounters);var __assign=globalThis&&globalThis.__assign||function(){return __assign=Object.assign||function(ze){for(var en,tn=1,rn=arguments.length;tnlastFlushedIndex&&queue.splice(en,1)}function queueFlush(){!flushing&&!flushPending&&(flushPending=!0,queueMicrotask(flushJobs))}function flushJobs(){flushPending=!1,flushing=!0;for(let ze=0;zeze.effect(en,{scheduler:tn=>{shouldSchedule?scheduler(tn):tn()}}),raw=ze.raw}function overrideEffect(ze){effect=ze}function elementBoundEffect(ze){let en=()=>{};return[rn=>{let an=effect(rn);return ze._x_effects||(ze._x_effects=new Set,ze._x_runEffects=()=>{ze._x_effects.forEach(ln=>ln())}),ze._x_effects.add(an),en=()=>{an!==void 0&&(ze._x_effects.delete(an),release(an))},an},()=>{en()}]}var onAttributeAddeds=[],onElRemoveds=[],onElAddeds=[];function onElAdded(ze){onElAddeds.push(ze)}function onElRemoved(ze,en){typeof en=="function"?(ze._x_cleanups||(ze._x_cleanups=[]),ze._x_cleanups.push(en)):(en=ze,onElRemoveds.push(en))}function onAttributesAdded(ze){onAttributeAddeds.push(ze)}function onAttributeRemoved(ze,en,tn){ze._x_attributeCleanups||(ze._x_attributeCleanups={}),ze._x_attributeCleanups[en]||(ze._x_attributeCleanups[en]=[]),ze._x_attributeCleanups[en].push(tn)}function cleanupAttributes(ze,en){ze._x_attributeCleanups&&Object.entries(ze._x_attributeCleanups).forEach(([tn,rn])=>{(en===void 0||en.includes(tn))&&(rn.forEach(an=>an()),delete ze._x_attributeCleanups[tn])})}var observer=new MutationObserver(onMutate),currentlyObserving=!1;function startObservingMutations(){observer.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),currentlyObserving=!0}function stopObservingMutations(){flushObserver(),observer.disconnect(),currentlyObserving=!1}var recordQueue=[],willProcessRecordQueue=!1;function flushObserver(){recordQueue=recordQueue.concat(observer.takeRecords()),recordQueue.length&&!willProcessRecordQueue&&(willProcessRecordQueue=!0,queueMicrotask(()=>{processRecordQueue(),willProcessRecordQueue=!1}))}function processRecordQueue(){onMutate(recordQueue),recordQueue.length=0}function mutateDom(ze){if(!currentlyObserving)return ze();stopObservingMutations();let en=ze();return startObservingMutations(),en}var isCollecting=!1,deferredMutations=[];function deferMutations(){isCollecting=!0}function flushAndStopDeferringMutations(){isCollecting=!1,onMutate(deferredMutations),deferredMutations=[]}function onMutate(ze){if(isCollecting){deferredMutations=deferredMutations.concat(ze);return}let en=[],tn=[],rn=new Map,an=new Map;for(let ln=0;lndn.nodeType===1&&en.push(dn)),ze[ln].removedNodes.forEach(dn=>dn.nodeType===1&&tn.push(dn))),ze[ln].type==="attributes")){let dn=ze[ln].target,vn=ze[ln].attributeName,mn=ze[ln].oldValue,xn=()=>{rn.has(dn)||rn.set(dn,[]),rn.get(dn).push({name:vn,value:dn.getAttribute(vn)})},En=()=>{an.has(dn)||an.set(dn,[]),an.get(dn).push(vn)};dn.hasAttribute(vn)&&mn===null?xn():dn.hasAttribute(vn)?(En(),xn()):En()}an.forEach((ln,dn)=>{cleanupAttributes(dn,ln)}),rn.forEach((ln,dn)=>{onAttributeAddeds.forEach(vn=>vn(dn,ln))});for(let ln of tn)if(!en.includes(ln)&&(onElRemoveds.forEach(dn=>dn(ln)),ln._x_cleanups))for(;ln._x_cleanups.length;)ln._x_cleanups.pop()();en.forEach(ln=>{ln._x_ignoreSelf=!0,ln._x_ignore=!0});for(let ln of en)tn.includes(ln)||ln.isConnected&&(delete ln._x_ignoreSelf,delete ln._x_ignore,onElAddeds.forEach(dn=>dn(ln)),ln._x_ignore=!0,ln._x_ignoreSelf=!0);en.forEach(ln=>{delete ln._x_ignoreSelf,delete ln._x_ignore}),en=null,tn=null,rn=null,an=null}function scope(ze){return mergeProxies(closestDataStack(ze))}function addScopeToNode(ze,en,tn){return ze._x_dataStack=[en,...closestDataStack(tn||ze)],()=>{ze._x_dataStack=ze._x_dataStack.filter(rn=>rn!==en)}}function refreshScope(ze,en){let tn=ze._x_dataStack[0];Object.entries(en).forEach(([rn,an])=>{tn[rn]=an})}function closestDataStack(ze){return ze._x_dataStack?ze._x_dataStack:typeof ShadowRoot=="function"&&ze instanceof ShadowRoot?closestDataStack(ze.host):ze.parentNode?closestDataStack(ze.parentNode):[]}function mergeProxies(ze){let en=new Proxy({},{ownKeys:()=>Array.from(new Set(ze.flatMap(tn=>Object.keys(tn)))),has:(tn,rn)=>ze.some(an=>an.hasOwnProperty(rn)),get:(tn,rn)=>(ze.find(an=>{if(an.hasOwnProperty(rn)){let ln=Object.getOwnPropertyDescriptor(an,rn);if(ln.get&&ln.get._x_alreadyBound||ln.set&&ln.set._x_alreadyBound)return!0;if((ln.get||ln.set)&&ln.enumerable){let dn=ln.get,vn=ln.set,mn=ln;dn=dn&&dn.bind(en),vn=vn&&vn.bind(en),dn&&(dn._x_alreadyBound=!0),vn&&(vn._x_alreadyBound=!0),Object.defineProperty(an,rn,{...mn,get:dn,set:vn})}return!0}return!1})||{})[rn],set:(tn,rn,an)=>{let ln=ze.find(dn=>dn.hasOwnProperty(rn));return ln?ln[rn]=an:ze[ze.length-1][rn]=an,!0}});return en}function initInterceptors(ze){let en=rn=>typeof rn=="object"&&!Array.isArray(rn)&&rn!==null,tn=(rn,an="")=>{Object.entries(Object.getOwnPropertyDescriptors(rn)).forEach(([ln,{value:dn,enumerable:vn}])=>{if(vn===!1||dn===void 0)return;let mn=an===""?ln:`${an}.${ln}`;typeof dn=="object"&&dn!==null&&dn._x_interceptor?rn[ln]=dn.initialize(ze,mn,ln):en(dn)&&dn!==rn&&!(dn instanceof Element)&&tn(dn,mn)})};return tn(ze)}function interceptor(ze,en=()=>{}){let tn={initialValue:void 0,_x_interceptor:!0,initialize(rn,an,ln){return ze(this.initialValue,()=>get(rn,an),dn=>set(rn,an,dn),an,ln)}};return en(tn),rn=>{if(typeof rn=="object"&&rn!==null&&rn._x_interceptor){let an=tn.initialize.bind(tn);tn.initialize=(ln,dn,vn)=>{let mn=rn.initialize(ln,dn,vn);return tn.initialValue=mn,an(ln,dn,vn)}}else tn.initialValue=rn;return tn}}function get(ze,en){return en.split(".").reduce((tn,rn)=>tn[rn],ze)}function set(ze,en,tn){if(typeof en=="string"&&(en=en.split(".")),en.length===1)ze[en[0]]=tn;else{if(en.length===0)throw error;return ze[en[0]]||(ze[en[0]]={}),set(ze[en[0]],en.slice(1),tn)}}var magics={};function magic(ze,en){magics[ze]=en}function injectMagics(ze,en){return Object.entries(magics).forEach(([tn,rn])=>{Object.defineProperty(ze,`$${tn}`,{get(){let[an,ln]=getElementBoundUtilities(en);return an={interceptor,...an},onElRemoved(en,ln),rn(en,an)},enumerable:!1})}),ze}function tryCatch(ze,en,tn,...rn){try{return tn(...rn)}catch(an){handleError(an,ze,en)}}function handleError(ze,en,tn=void 0){Object.assign(ze,{el:en,expression:tn}),console.warn(`Alpine Expression Error: ${ze.message} + +${tn?'Expression: "'+tn+`" + +`:""}`,en),setTimeout(()=>{throw ze},0)}var shouldAutoEvaluateFunctions=!0;function dontAutoEvaluateFunctions(ze){let en=shouldAutoEvaluateFunctions;shouldAutoEvaluateFunctions=!1,ze(),shouldAutoEvaluateFunctions=en}function evaluate(ze,en,tn={}){let rn;return evaluateLater(ze,en)(an=>rn=an,tn),rn}function evaluateLater(...ze){return theEvaluatorFunction(...ze)}var theEvaluatorFunction=normalEvaluator;function setEvaluator(ze){theEvaluatorFunction=ze}function normalEvaluator(ze,en){let tn={};injectMagics(tn,ze);let rn=[tn,...closestDataStack(ze)],an=typeof en=="function"?generateEvaluatorFromFunction(rn,en):generateEvaluatorFromString(rn,en,ze);return tryCatch.bind(null,ze,en,an)}function generateEvaluatorFromFunction(ze,en){return(tn=()=>{},{scope:rn={},params:an=[]}={})=>{let ln=en.apply(mergeProxies([rn,...ze]),an);runIfTypeOfFunction(tn,ln)}}var evaluatorMemo={};function generateFunctionFromString(ze,en){if(evaluatorMemo[ze])return evaluatorMemo[ze];let tn=Object.getPrototypeOf(async function(){}).constructor,rn=/^[\n\s]*if.*\(.*\)/.test(ze)||/^(let|const)\s/.test(ze)?`(async()=>{ ${ze} })()`:ze,ln=(()=>{try{return new tn(["__self","scope"],`with (scope) { __self.result = ${rn} }; __self.finished = true; return __self.result;`)}catch(dn){return handleError(dn,en,ze),Promise.resolve()}})();return evaluatorMemo[ze]=ln,ln}function generateEvaluatorFromString(ze,en,tn){let rn=generateFunctionFromString(en,tn);return(an=()=>{},{scope:ln={},params:dn=[]}={})=>{rn.result=void 0,rn.finished=!1;let vn=mergeProxies([ln,...ze]);if(typeof rn=="function"){let mn=rn(rn,vn).catch(xn=>handleError(xn,tn,en));rn.finished?(runIfTypeOfFunction(an,rn.result,vn,dn,tn),rn.result=void 0):mn.then(xn=>{runIfTypeOfFunction(an,xn,vn,dn,tn)}).catch(xn=>handleError(xn,tn,en)).finally(()=>rn.result=void 0)}}}function runIfTypeOfFunction(ze,en,tn,rn,an){if(shouldAutoEvaluateFunctions&&typeof en=="function"){let ln=en.apply(tn,rn);ln instanceof Promise?ln.then(dn=>runIfTypeOfFunction(ze,dn,tn,rn)).catch(dn=>handleError(dn,an,en)):ze(ln)}else typeof en=="object"&&en instanceof Promise?en.then(ln=>ze(ln)):ze(en)}var prefixAsString="x-";function prefix(ze=""){return prefixAsString+ze}function setPrefix(ze){prefixAsString=ze}var directiveHandlers={};function directive(ze,en){return directiveHandlers[ze]=en,{before(tn){if(!directiveHandlers[tn]){console.warn("Cannot find directive `${directive}`. `${name}` will use the default order of execution");return}const rn=directiveOrder.indexOf(tn);directiveOrder.splice(rn>=0?rn:directiveOrder.indexOf("DEFAULT"),0,ze)}}}function directives(ze,en,tn){if(en=Array.from(en),ze._x_virtualDirectives){let ln=Object.entries(ze._x_virtualDirectives).map(([vn,mn])=>({name:vn,value:mn})),dn=attributesOnly(ln);ln=ln.map(vn=>dn.find(mn=>mn.name===vn.name)?{name:`x-bind:${vn.name}`,value:`"${vn.value}"`}:vn),en=en.concat(ln)}let rn={};return en.map(toTransformedAttributes((ln,dn)=>rn[ln]=dn)).filter(outNonAlpineAttributes).map(toParsedDirectives(rn,tn)).sort(byPriority).map(ln=>getDirectiveHandler(ze,ln))}function attributesOnly(ze){return Array.from(ze).map(toTransformedAttributes()).filter(en=>!outNonAlpineAttributes(en))}var isDeferringHandlers=!1,directiveHandlerStacks=new Map,currentHandlerStackKey=Symbol();function deferHandlingDirectives(ze){isDeferringHandlers=!0;let en=Symbol();currentHandlerStackKey=en,directiveHandlerStacks.set(en,[]);let tn=()=>{for(;directiveHandlerStacks.get(en).length;)directiveHandlerStacks.get(en).shift()();directiveHandlerStacks.delete(en)},rn=()=>{isDeferringHandlers=!1,tn()};ze(tn),rn()}function getElementBoundUtilities(ze){let en=[],tn=vn=>en.push(vn),[rn,an]=elementBoundEffect(ze);return en.push(an),[{Alpine:alpine_default,effect:rn,cleanup:tn,evaluateLater:evaluateLater.bind(evaluateLater,ze),evaluate:evaluate.bind(evaluate,ze)},()=>en.forEach(vn=>vn())]}function getDirectiveHandler(ze,en){let tn=()=>{},rn=directiveHandlers[en.type]||tn,[an,ln]=getElementBoundUtilities(ze);onAttributeRemoved(ze,en.original,ln);let dn=()=>{ze._x_ignore||ze._x_ignoreSelf||(rn.inline&&rn.inline(ze,en,an),rn=rn.bind(rn,ze,en,an),isDeferringHandlers?directiveHandlerStacks.get(currentHandlerStackKey).push(rn):rn())};return dn.runCleanups=ln,dn}var startingWith=(ze,en)=>({name:tn,value:rn})=>(tn.startsWith(ze)&&(tn=tn.replace(ze,en)),{name:tn,value:rn}),into=ze=>ze;function toTransformedAttributes(ze=()=>{}){return({name:en,value:tn})=>{let{name:rn,value:an}=attributeTransformers.reduce((ln,dn)=>dn(ln),{name:en,value:tn});return rn!==en&&ze(rn,en),{name:rn,value:an}}}var attributeTransformers=[];function mapAttributes(ze){attributeTransformers.push(ze)}function outNonAlpineAttributes({name:ze}){return alpineAttributeRegex().test(ze)}var alpineAttributeRegex=()=>new RegExp(`^${prefixAsString}([^:^.]+)\\b`);function toParsedDirectives(ze,en){return({name:tn,value:rn})=>{let an=tn.match(alpineAttributeRegex()),ln=tn.match(/:([a-zA-Z0-9\-:]+)/),dn=tn.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],vn=en||ze[tn]||tn;return{type:an?an[1]:null,value:ln?ln[1]:null,modifiers:dn.map(mn=>mn.replace(".","")),expression:rn,original:vn}}}var DEFAULT="DEFAULT",directiveOrder=["ignore","ref","data","id","bind","init","for","model","modelable","transition","show","if",DEFAULT,"teleport"];function byPriority(ze,en){let tn=directiveOrder.indexOf(ze.type)===-1?DEFAULT:ze.type,rn=directiveOrder.indexOf(en.type)===-1?DEFAULT:en.type;return directiveOrder.indexOf(tn)-directiveOrder.indexOf(rn)}function dispatch(ze,en,tn={}){ze.dispatchEvent(new CustomEvent(en,{detail:tn,bubbles:!0,composed:!0,cancelable:!0}))}function walk(ze,en){if(typeof ShadowRoot=="function"&&ze instanceof ShadowRoot){Array.from(ze.children).forEach(an=>walk(an,en));return}let tn=!1;if(en(ze,()=>tn=!0),tn)return;let rn=ze.firstElementChild;for(;rn;)walk(rn,en),rn=rn.nextElementSibling}function warn(ze,...en){console.warn(`Alpine Warning: ${ze}`,...en)}function start(){document.body||warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + + {{ __("Projects List") }} + + + {{ __("Create a Project") }} + + + + diff --git a/resources/views/layouts/partials/search.blade.php b/resources/views/layouts/partials/search.blade.php new file mode 100644 index 0000000..45ae20f --- /dev/null +++ b/resources/views/layouts/partials/search.blade.php @@ -0,0 +1,193 @@ +
+
+
+
+
+ +
+
+ Please wait +
+
+ No results +
+ +
+
+
+
+
diff --git a/resources/views/layouts/partials/server-select.blade.php b/resources/views/layouts/partials/server-select.blade.php index b91f5cf..3087f78 100644 --- a/resources/views/layouts/partials/server-select.blade.php +++ b/resources/views/layouts/partials/server-select.blade.php @@ -1,124 +1,35 @@ -
-
-
- -
-
- -
-
- -
-
- No servers found! -
-
-
-
+
+ +
- - Servers List - + {{ isset($server) ? $server->name : "Select Server" }} +
+
- -
-
-
+ + + @foreach (auth()->user()->currentProject->servers as $s) + + {{ ucfirst($s->name) }} + @if (isset($server) && $server->id == $s->id) + + + + @endif + + @endforeach - + + {{ __("Servers List") }} + + + {{ __("Create a Server") }} + + + + diff --git a/resources/views/layouts/profile.blade.php b/resources/views/layouts/profile.blade.php index 25eafac..ba904fc 100644 --- a/resources/views/layouts/profile.blade.php +++ b/resources/views/layouts/profile.blade.php @@ -3,147 +3,6 @@ {{ $pageTitle }} @endif - -
-
- Account Settings -
-
-
- - - - - {{ __("Profile") }} - - - - - - {{ __("Projects") }} - - - - - - {{ __("Server Providers") }} - - - - - - {{ __("Source Controls") }} - - - - - - {{ __("Storage Providers") }} - - - - - - {{ __("Notification Channels") }} - - - - - - {{ __("SSH Keys") }} - -
-
-
{{ $slot }} diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php new file mode 100644 index 0000000..65200c2 --- /dev/null +++ b/resources/views/layouts/sidebar.blade.php @@ -0,0 +1,192 @@ + diff --git a/resources/views/layouts/site.blade.php b/resources/views/layouts/site.blade.php index e5ac148..416946d 100644 --- a/resources/views/layouts/site.blade.php +++ b/resources/views/layouts/site.blade.php @@ -8,11 +8,111 @@ @endif -

- - {{ $site->domain }} - -

+ +
+ + +
+ Select + +
+
+ + + + Application + + @if ($site->hasFeature(SiteFeature::SSL)) + + + SSL + + @endif + + @if ($site->hasFeature(SiteFeature::QUEUES)) + + + Queues + + @endif + + + + Settings + + + + Logs + + +
+
@@ -70,57 +170,6 @@ class="h-4 w-4 font-bold text-primary-600 dark:text-white"
- -
-
- @include("layouts.partials.site-select", ["server" => $site->server, "site" => $site]) -
-
-
- - - {{ __("Application") }} - - @if ($site->hasFeature(SiteFeature::SSL)) - - - {{ __("SSL") }} - - @endif - - @if ($site->hasFeature(SiteFeature::QUEUES)) - - - {{ __("Queues") }} - - @endif - - - - {{ __("Settings") }} - - - - {{ __("Logs") }} - -
-
-
{{ $slot }} diff --git a/resources/views/server-logs/partials/logs-list.blade.php b/resources/views/server-logs/partials/logs-list.blade.php index 13c5093..a6794bb 100644 --- a/resources/views/server-logs/partials/logs-list.blade.php +++ b/resources/views/server-logs/partials/logs-list.blade.php @@ -18,13 +18,13 @@ - + {{ __("Event") }} {{ __("Date") }} - + @foreach ($logs as $log) - + {{ $log->type }} @@ -39,7 +39,7 @@ - + @endforeach @if ($logs instanceof \Illuminate\Pagination\LengthAwarePaginator) diff --git a/resources/views/server-ssh-keys/partials/server-keys-list.blade.php b/resources/views/server-ssh-keys/partials/server-keys-list.blade.php index 3888116..f655359 100644 --- a/resources/views/server-ssh-keys/partials/server-keys-list.blade.php +++ b/resources/views/server-ssh-keys/partials/server-keys-list.blade.php @@ -5,11 +5,11 @@ {{ __("Add or modify your ssh keys") }} -
-
+
+
@include("server-ssh-keys.partials.add-new-key")
-
+
@include("server-ssh-keys.partials.add-existing-key")
diff --git a/resources/views/ssls/partials/ssls-list.blade.php b/resources/views/ssls/partials/ssls-list.blade.php index 04cbf07..bce6e59 100644 --- a/resources/views/ssls/partials/ssls-list.blade.php +++ b/resources/views/ssls/partials/ssls-list.blade.php @@ -12,14 +12,14 @@
@if (count($ssls) > 0) - + {{ __("Type") }} {{ __("Created") }} {{ __("Expires at") }} - + @foreach ($ssls as $ssl) - + {{ $ssl->type }} @@ -39,7 +39,7 @@
- + @endforeach @else diff --git a/routes/server.php b/routes/server.php index c50c055..b7176e7 100644 --- a/routes/server.php +++ b/routes/server.php @@ -22,117 +22,120 @@ Route::get('/', [ServerController::class, 'index'])->name('servers'); Route::get('/create', [ServerController::class, 'create'])->name('servers.create'); Route::post('/create', [ServerController::class, 'store'])->name('servers.create'); -Route::get('/{server}', [ServerController::class, 'show'])->name('servers.show'); -Route::delete('/{server}', [ServerController::class, 'delete'])->name('servers.delete'); -Route::middleware(['server-is-ready', 'handle-ssh-errors'])->group(function () { - Route::prefix('/{server}/sites')->group(function () { - // sites - Route::get('/', [SiteController::class, 'index'])->name('servers.sites'); - Route::get('/create', [SiteController::class, 'create'])->name('servers.sites.create'); - Route::post('/create', [SiteController::class, 'store'])->name('servers.sites.create'); - Route::get('/{site}', [SiteController::class, 'show'])->name('servers.sites.show'); - Route::delete('/{site}', [SiteController::class, 'destroy'])->name('servers.sites.destroy'); +Route::middleware('select-current-project')->group(function () { + Route::get('/{server}', [ServerController::class, 'show'])->name('servers.show'); + Route::delete('/{server}', [ServerController::class, 'delete'])->name('servers.delete'); - // site application - Route::post('/{site}/application/deploy', [ApplicationController::class, 'deploy'])->name('servers.sites.application.deploy'); - Route::get('/{site}/application/{deployment}/log', [ApplicationController::class, 'showDeploymentLog'])->name('servers.sites.application.deployment.log'); - Route::post('/{site}/application/deployment-script', [ApplicationController::class, 'updateDeploymentScript'])->name('servers.sites.application.deployment-script'); - Route::post('/{site}/application/branch', [ApplicationController::class, 'updateBranch'])->name('servers.sites.application.branch'); - Route::get('/{site}/application/env', [ApplicationController::class, 'getEnv'])->name('servers.sites.application.env'); - Route::post('/{site}/application/env', [ApplicationController::class, 'updateEnv'])->name('servers.sites.application.env'); - Route::post('/{site}/application/auto-deployment', [ApplicationController::class, 'enableAutoDeployment'])->name('servers.sites.application.auto-deployment'); - Route::delete('/{site}/application/auto-deployment', [ApplicationController::class, 'disableAutoDeployment'])->name('servers.sites.application.auto-deployment'); + Route::middleware(['server-is-ready', 'handle-ssh-errors'])->group(function () { + Route::prefix('/{server}/sites')->group(function () { + // sites + Route::get('/', [SiteController::class, 'index'])->name('servers.sites'); + Route::get('/create', [SiteController::class, 'create'])->name('servers.sites.create'); + Route::post('/create', [SiteController::class, 'store'])->name('servers.sites.create'); + Route::get('/{site}', [SiteController::class, 'show'])->name('servers.sites.show'); + Route::delete('/{site}', [SiteController::class, 'destroy'])->name('servers.sites.destroy'); - // site ssl - Route::get('/{site}/ssl', [SSLController::class, 'index'])->name('servers.sites.ssl'); - Route::post('/{site}/ssl', [SSLController::class, 'store'])->name('servers.sites.ssl.store'); - Route::delete('/{site}/ssl/{ssl}', [SSLController::class, 'destroy'])->name('servers.sites.ssl.destroy'); + // site application + Route::post('/{site}/application/deploy', [ApplicationController::class, 'deploy'])->name('servers.sites.application.deploy'); + Route::get('/{site}/application/{deployment}/log', [ApplicationController::class, 'showDeploymentLog'])->name('servers.sites.application.deployment.log'); + Route::post('/{site}/application/deployment-script', [ApplicationController::class, 'updateDeploymentScript'])->name('servers.sites.application.deployment-script'); + Route::post('/{site}/application/branch', [ApplicationController::class, 'updateBranch'])->name('servers.sites.application.branch'); + Route::get('/{site}/application/env', [ApplicationController::class, 'getEnv'])->name('servers.sites.application.env'); + Route::post('/{site}/application/env', [ApplicationController::class, 'updateEnv'])->name('servers.sites.application.env'); + Route::post('/{site}/application/auto-deployment', [ApplicationController::class, 'enableAutoDeployment'])->name('servers.sites.application.auto-deployment'); + Route::delete('/{site}/application/auto-deployment', [ApplicationController::class, 'disableAutoDeployment'])->name('servers.sites.application.auto-deployment'); - // site queues - Route::get('/{site}/queues', [QueueController::class, 'index'])->name('servers.sites.queues'); - Route::post('/{site}/queues', [QueueController::class, 'store'])->name('servers.sites.queues.store'); - Route::post('/{site}/queues/{queue}/action/{action}', [QueueController::class, 'action'])->name('servers.sites.queues.action'); - Route::delete('/{site}/queues/{queue}', [QueueController::class, 'destroy'])->name('servers.sites.queues.destroy'); - Route::get('/{site}/queues/{queue}/logs', [QueueController::class, 'logs'])->name('servers.sites.queues.logs'); + // site ssl + Route::get('/{site}/ssl', [SSLController::class, 'index'])->name('servers.sites.ssl'); + Route::post('/{site}/ssl', [SSLController::class, 'store'])->name('servers.sites.ssl.store'); + Route::delete('/{site}/ssl/{ssl}', [SSLController::class, 'destroy'])->name('servers.sites.ssl.destroy'); - // site settings - Route::get('/{site}/settings', [SiteSettingController::class, 'index'])->name('servers.sites.settings'); - Route::get('/{site}/settings/vhost', [SiteSettingController::class, 'getVhost'])->name('servers.sites.settings.vhost'); - Route::post('/{site}/settings/vhost', [SiteSettingController::class, 'updateVhost'])->name('servers.sites.settings.vhost'); - Route::post('/{site}/settings/php', [SiteSettingController::class, 'updatePHPVersion'])->name('servers.sites.settings.php'); + // site queues + Route::get('/{site}/queues', [QueueController::class, 'index'])->name('servers.sites.queues'); + Route::post('/{site}/queues', [QueueController::class, 'store'])->name('servers.sites.queues.store'); + Route::post('/{site}/queues/{queue}/action/{action}', [QueueController::class, 'action'])->name('servers.sites.queues.action'); + Route::delete('/{site}/queues/{queue}', [QueueController::class, 'destroy'])->name('servers.sites.queues.destroy'); + Route::get('/{site}/queues/{queue}/logs', [QueueController::class, 'logs'])->name('servers.sites.queues.logs'); - // site logs - Route::get('/{site}/logs', [SiteLogController::class, 'index'])->name('servers.sites.logs'); + // site settings + Route::get('/{site}/settings', [SiteSettingController::class, 'index'])->name('servers.sites.settings'); + Route::get('/{site}/settings/vhost', [SiteSettingController::class, 'getVhost'])->name('servers.sites.settings.vhost'); + Route::post('/{site}/settings/vhost', [SiteSettingController::class, 'updateVhost'])->name('servers.sites.settings.vhost'); + Route::post('/{site}/settings/php', [SiteSettingController::class, 'updatePHPVersion'])->name('servers.sites.settings.php'); + + // site logs + Route::get('/{site}/logs', [SiteLogController::class, 'index'])->name('servers.sites.logs'); + }); + + Route::prefix('/{server}/databases')->group(function () { + // databases + Route::get('/', [DatabaseController::class, 'index'])->name('servers.databases'); + Route::post('/', [DatabaseController::class, 'store'])->name('servers.databases.store'); + Route::delete('/{database}', [DatabaseController::class, 'destroy'])->name('servers.databases.destroy'); + + // database users + Route::post('/users', [DatabaseUserController::class, 'store'])->name('servers.databases.users.store'); + Route::delete('/users/{databaseUser}', [DatabaseUserController::class, 'destroy'])->name('servers.databases.users.destroy'); + Route::post('/users/{databaseUser}/password', [DatabaseUserController::class, 'password'])->name('servers.databases.users.password'); + Route::post('/users/{databaseUser}/link', [DatabaseUserController::class, 'link'])->name('servers.databases.users.link'); + + // database backups + Route::post('/backups', [DatabaseBackupController::class, 'store'])->name('servers.databases.backups.store'); + Route::delete('/backups/{backup}', [DatabaseBackupController::class, 'destroy'])->name('servers.databases.backups.destroy'); + + // database backup files + Route::get('/backups/{backup}', [DatabaseBackupController::class, 'show'])->name('servers.databases.backups'); + Route::get('/backups/{backup}/run', [DatabaseBackupController::class, 'run'])->name('servers.databases.backups.run'); + Route::post('/backups/{backup}/files/{backupFile}/restore', [DatabaseBackupController::class, 'restore'])->name('servers.databases.backups.files.restore'); + Route::delete('/backups/{backup}/files/{backupFile}', [DatabaseBackupController::class, 'destroyFile'])->name('servers.databases.backups.files.destroy'); + }); + + // php + Route::get('/{server}/php', [PHPController::class, 'index'])->name('servers.php'); + Route::post('/{server}/php/install', [PHPController::class, 'install'])->name('servers.php.install'); + Route::post('/{server}/php/install-extension', [PHPController::class, 'installExtension'])->name('servers.php.install-extension'); + Route::post('/{server}/php/default-cli', [PHPController::class, 'defaultCli'])->name('servers.php.default-cli'); + Route::get('/{server}/php/get-ini', [PHPController::class, 'getIni'])->name('servers.php.get-ini'); + Route::post('/{server}/php/update-ini', [PHPController::class, 'updateIni'])->name('servers.php.update-ini'); + Route::delete('/{server}/php/uninstall', [PHPController::class, 'uninstall'])->name('servers.php.uninstall'); + + // firewall + Route::get('/{server}/firewall', [FirewallController::class, 'index'])->name('servers.firewall'); + Route::post('/{server}/firewall', [FirewallController::class, 'store'])->name('servers.firewall.store'); + Route::delete('/{server}/firewall/{firewallRule}', [FirewallController::class, 'destroy'])->name('servers.firewall.destroy'); + + // cronjobs + Route::get('/{server}/cronjobs', [CronjobController::class, 'index'])->name('servers.cronjobs'); + Route::post('/{server}/cronjobs', [CronjobController::class, 'store'])->name('servers.cronjobs.store'); + Route::delete('/{server}/cronjobs/{cronJob}', [CronjobController::class, 'destroy'])->name('servers.cronjobs.destroy'); + + // ssh keys + Route::get('/{server}/ssh-keys', [SSHKeyController::class, 'index'])->name('servers.ssh-keys'); + Route::post('/{server}/ssh-keys', [SSHKeyController::class, 'store'])->name('servers.ssh-keys.store'); + Route::delete('/{server}/ssh-keys/{sshKey}', [SSHKeyController::class, 'destroy'])->name('servers.ssh-keys.destroy'); + Route::post('/{server}/ssh-keys/deploy', [SSHKeyController::class, 'deploy'])->name('servers.ssh-keys.deploy'); + + // services + Route::get('/{server}/services', [ServiceController::class, 'index'])->name('servers.services'); + Route::get('/{server}/services/{service}/start', [ServiceController::class, 'start'])->name('servers.services.start'); + Route::get('/{server}/services/{service}/stop', [ServiceController::class, 'stop'])->name('servers.services.stop'); + Route::get('/{server}/services/{service}/restart', [ServiceController::class, 'restart'])->name('servers.services.restart'); + Route::get('/{server}/services/{service}/enable', [ServiceController::class, 'enable'])->name('servers.services.enable'); + Route::get('/{server}/services/{service}/disable', [ServiceController::class, 'disable'])->name('servers.services.disable'); }); - Route::prefix('/{server}/databases')->group(function () { - // databases - Route::get('/', [DatabaseController::class, 'index'])->name('servers.databases'); - Route::post('/', [DatabaseController::class, 'store'])->name('servers.databases.store'); - Route::delete('/{database}', [DatabaseController::class, 'destroy'])->name('servers.databases.destroy'); - - // database users - Route::post('/users', [DatabaseUserController::class, 'store'])->name('servers.databases.users.store'); - Route::delete('/users/{databaseUser}', [DatabaseUserController::class, 'destroy'])->name('servers.databases.users.destroy'); - Route::post('/users/{databaseUser}/password', [DatabaseUserController::class, 'password'])->name('servers.databases.users.password'); - Route::post('/users/{databaseUser}/link', [DatabaseUserController::class, 'link'])->name('servers.databases.users.link'); - - // database backups - Route::post('/backups', [DatabaseBackupController::class, 'store'])->name('servers.databases.backups.store'); - Route::delete('/backups/{backup}', [DatabaseBackupController::class, 'destroy'])->name('servers.databases.backups.destroy'); - - // database backup files - Route::get('/backups/{backup}', [DatabaseBackupController::class, 'show'])->name('servers.databases.backups'); - Route::get('/backups/{backup}/run', [DatabaseBackupController::class, 'run'])->name('servers.databases.backups.run'); - Route::post('/backups/{backup}/files/{backupFile}/restore', [DatabaseBackupController::class, 'restore'])->name('servers.databases.backups.files.restore'); - Route::delete('/backups/{backup}/files/{backupFile}', [DatabaseBackupController::class, 'destroyFile'])->name('servers.databases.backups.files.destroy'); + // settings + Route::prefix('/{server}/settings')->group(function () { + Route::get('/', [ServerSettingController::class, 'index'])->name('servers.settings'); + Route::post('/check-connection', [ServerSettingController::class, 'checkConnection'])->name('servers.settings.check-connection'); + Route::post('/reboot', [ServerSettingController::class, 'reboot'])->name('servers.settings.reboot'); + Route::post('/edit', [ServerSettingController::class, 'edit'])->name('servers.settings.edit'); }); - // php - Route::get('/{server}/php', [PHPController::class, 'index'])->name('servers.php'); - Route::post('/{server}/php/install', [PHPController::class, 'install'])->name('servers.php.install'); - Route::post('/{server}/php/install-extension', [PHPController::class, 'installExtension'])->name('servers.php.install-extension'); - Route::post('/{server}/php/default-cli', [PHPController::class, 'defaultCli'])->name('servers.php.default-cli'); - Route::get('/{server}/php/get-ini', [PHPController::class, 'getIni'])->name('servers.php.get-ini'); - Route::post('/{server}/php/update-ini', [PHPController::class, 'updateIni'])->name('servers.php.update-ini'); - Route::delete('/{server}/php/uninstall', [PHPController::class, 'uninstall'])->name('servers.php.uninstall'); - - // firewall - Route::get('/{server}/firewall', [FirewallController::class, 'index'])->name('servers.firewall'); - Route::post('/{server}/firewall', [FirewallController::class, 'store'])->name('servers.firewall.store'); - Route::delete('/{server}/firewall/{firewallRule}', [FirewallController::class, 'destroy'])->name('servers.firewall.destroy'); - - // cronjobs - Route::get('/{server}/cronjobs', [CronjobController::class, 'index'])->name('servers.cronjobs'); - Route::post('/{server}/cronjobs', [CronjobController::class, 'store'])->name('servers.cronjobs.store'); - Route::delete('/{server}/cronjobs/{cronJob}', [CronjobController::class, 'destroy'])->name('servers.cronjobs.destroy'); - - // ssh keys - Route::get('/{server}/ssh-keys', [SSHKeyController::class, 'index'])->name('servers.ssh-keys'); - Route::post('/{server}/ssh-keys', [SSHKeyController::class, 'store'])->name('servers.ssh-keys.store'); - Route::delete('/{server}/ssh-keys/{sshKey}', [SSHKeyController::class, 'destroy'])->name('servers.ssh-keys.destroy'); - Route::post('/{server}/ssh-keys/deploy', [SSHKeyController::class, 'deploy'])->name('servers.ssh-keys.deploy'); - - // services - Route::get('/{server}/services', [ServiceController::class, 'index'])->name('servers.services'); - Route::get('/{server}/services/{service}/start', [ServiceController::class, 'start'])->name('servers.services.start'); - Route::get('/{server}/services/{service}/stop', [ServiceController::class, 'stop'])->name('servers.services.stop'); - Route::get('/{server}/services/{service}/restart', [ServiceController::class, 'restart'])->name('servers.services.restart'); - Route::get('/{server}/services/{service}/enable', [ServiceController::class, 'enable'])->name('servers.services.enable'); - Route::get('/{server}/services/{service}/disable', [ServiceController::class, 'disable'])->name('servers.services.disable'); -}); - -// settings -Route::prefix('/{server}/settings')->group(function () { - Route::get('/', [ServerSettingController::class, 'index'])->name('servers.settings'); - Route::post('/check-connection', [ServerSettingController::class, 'checkConnection'])->name('servers.settings.check-connection'); - Route::post('/reboot', [ServerSettingController::class, 'reboot'])->name('servers.settings.reboot'); - Route::post('/edit', [ServerSettingController::class, 'edit'])->name('servers.settings.edit'); -}); - -// logs -Route::prefix('/{server}/logs')->group(function () { - Route::get('/', [ServerLogController::class, 'index'])->name('servers.logs'); - Route::get('/{serverLog}', [ServerLogController::class, 'show'])->name('servers.logs.show'); + // logs + Route::prefix('/{server}/logs')->group(function () { + Route::get('/', [ServerLogController::class, 'index'])->name('servers.logs'); + Route::get('/{serverLog}', [ServerLogController::class, 'show'])->name('servers.logs.show'); + }); }); diff --git a/routes/web.php b/routes/web.php index 5b5e192..7c05606 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,5 +1,6 @@ group(function () { require __DIR__.'/server.php'; }); + + Route::get('/search', [SearchController::class, 'search'])->name('search'); }); diff --git a/tailwind.config.js b/tailwind.config.js index 594797d..43906b0 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,14 +1,17 @@ -const defaultTheme = require('tailwindcss/defaultTheme'); -const colors = require("tailwindcss/colors"); +import defaultTheme from 'tailwindcss/defaultTheme'; +import forms from '@tailwindcss/forms'; +import colors from "tailwindcss/colors"; +import flowbite from 'flowbite/plugin'; /** @type {import('tailwindcss').Config} */ -module.exports = { +export default { darkMode: 'class', + content: [ './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php', './storage/framework/views/*.php', './resources/views/**/*.blade.php', - './resources/js/**/*.vue', + "./node_modules/flowbite/**/*.js" ], theme: { @@ -16,16 +19,23 @@ module.exports = { fontFamily: { sans: ['Figtree', ...defaultTheme.fontFamily.sans], }, - colors: { gray: colors.slate, - primary: colors.indigo + primary: colors.indigo, + green: colors.emerald, + }, + variants: { + extend: { + border: ['last'], + } }, }, }, plugins: [ - require('@tailwindcss/forms'), - require('@tailwindcss/typography'), + forms, + flowbite({ + charts: true + }) ], }; diff --git a/tests/Feature/SearchTest.php b/tests/Feature/SearchTest.php new file mode 100644 index 0000000..ffa4a7d --- /dev/null +++ b/tests/Feature/SearchTest.php @@ -0,0 +1,58 @@ +actingAs($this->user); + + $this->get(route('search', ['q' => $this->server->name])) + ->assertOk() + ->assertJson([ + 'results' => [ + [ + 'type' => 'server', + 'url' => route('servers.show', ['server' => $this->site->server]), + 'text' => $this->server->name, + 'project' => $this->server->project->name, + ], + ], + ]); + } + + public function test_search_site(): void + { + $this->actingAs($this->user); + + $this->get(route('search', ['q' => $this->site->domain])) + ->assertOk() + ->assertJson([ + 'results' => [ + [ + 'type' => 'site', + 'url' => route('servers.sites.show', ['server' => $this->site->server, 'site' => $this->site]), + 'text' => $this->site->domain, + 'project' => $this->site->server->project->name, + ], + ], + ]); + } + + public function test_search_has_no_results(): void + { + $this->actingAs($this->user); + + $this->get(route('search', ['q' => 'nothing-will-found'])) + ->assertOk() + ->assertJson([ + 'results' => [], + ]); + } +} diff --git a/tests/TestCase.php b/tests/TestCase.php index 6b2c37c..0a64bb3 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -31,6 +31,7 @@ public function setUp(): void config()->set('filesystems.disks.key-pairs.root', storage_path('app/key-pairs-test')); $this->user = User::factory()->create(); + $this->user->createDefaultProject(); \App\Models\NotificationChannel::factory()->create([ 'provider' => NotificationChannel::EMAIL, @@ -60,6 +61,7 @@ private function setupServer(): void { $this->server = Server::factory()->create([ 'user_id' => $this->user->id, + 'project_id' => $this->user->current_project_id, ]); $keys = $this->server->sshKey();