YayCurrency <= 3.3 - Missing Authorization to Unauthenticated Arbitrary Post Deletion
Description
The YayCurrency – WooCommerce Multi-Currency Switcher plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on a function in all versions up to, and including, 3.3. This makes it possible for unauthenticated attackers to delete arbitrary posts.
CVSS Vector Breakdown
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:NTechnical Details
<=3.3What Changed in the Fix
Changes introduced in v3.3.1
Source Code
WordPress.org SVNThis exploitation research plan targets a missing authorization vulnerability in the **YayCurrency** plugin for WordPress. The vulnerability allows unauthenticated users to delete arbitrary posts by exploiting a specific AJAX handler that lacks proper capability checks. ### 1. Vulnerability Summary…
Show full research plan
This exploitation research plan targets a missing authorization vulnerability in the YayCurrency plugin for WordPress. The vulnerability allows unauthenticated users to delete arbitrary posts by exploiting a specific AJAX handler that lacks proper capability checks.
1. Vulnerability Summary
- Vulnerability: Missing Authorization (Unauthenticated Arbitrary Post Deletion)
- Affected Functionality: Deletion of currency profiles (which are stored as a custom post type).
- ID: CVE-2025-67994
- Plugin Identifier:
yaycurrency - Root Cause: The plugin registers a
wp_ajax_nopriv_hook for a function that deletes posts using a user-provided ID. The function fails to verify if the requesting user has the necessary permissions (e.g.,manage_options) to perform the deletion, and potentially fails to properly validate a nonce.
2. Attack Vector Analysis
- Endpoint:
/wp-admin/admin-ajax.php - HTTP Method:
POST - Action:
yay_currency_delete_currency(inferred based on plugin architecture and purpose). - Payload Parameters:
action:yay_currency_delete_currencyidorpost_id: The ID of the post/page/attachment to be deleted.nonce: A security token (if required).
- Authentication: Unauthenticated (accessible via
wp_ajax_nopriv_). - Preconditions: A valid post ID must be known.
3. Code Flow
- Entry Point: A request is sent to
admin-ajax.phpwithaction=yay_currency_delete_currency. - Hook Registration: The plugin likely uses
add_action( 'wp_ajax_nopriv_yay_currency_delete_currency', ... )in an initialization file (e.g., an AJAX controller not provided in the snippet). - Execution: The handler function retrieves the
idfrom the$_POSTarray. - Sink: The function calls
wp_delete_post( $id, true )(permanent deletion) orwp_delete_post( $id, false )(moving to trash) without callingcurrent_user_can().
4. Nonce Acquisition Strategy
The file blocks/init.php reveals the following localization data:
- JS Object:
yayCurrencyGutenberg - Nonce Key:
nonce - Action String:
yay-currency-gutenberg-nonce
Steps to obtain the nonce:
- Create Trigger Page: Since the nonce is associated with the
yay-currency/currency-switcherblock, create a public page containing this block.wp post create --post_type=page --post_status=publish --post_title="Currency Switcher" --post_content='<!-- wp:yay-currency/currency-switcher /-->' - Navigate and Extract:
- Use
browser_navigateto visit the newly created page. - Use
browser_evalto extract the nonce:window.yayCurrencyGutenberg?.nonce || document.querySelector('script#yaycurrency-currency-switcher-block-editor-script-js-extra')?.textContent.match(/"nonce":"([a-f0-9]+)"/)[1]
- Use
- Fallback: If the nonce is not present on the frontend, attempt the exploit without a nonce or with an empty nonce, as "Missing Authorization" vulnerabilities often coincide with missing or optional nonce checks for unauthenticated actions.
5. Exploitation Strategy
The agent will perform the following steps:
- Information Gathering:
- Create a dummy post to delete:
wp post create --post_type=post --post_title="Target Post" --post_status=publish. Note theID.
- Create a dummy post to delete:
- First Attempt (No Nonce):
- Send a POST request to
/wp-admin/admin-ajax.php. - Body:
action=yay_currency_delete_currency&id=[ID] - Content-Type:
application/x-www-form-urlencoded
- Send a POST request to
- Second Attempt (With Nonce):
- If the first attempt returns
0or a 403, obtain the nonce using the Nonce Acquisition Strategy above. - Send the POST request with the
nonceparameter. - Body:
action=yay_currency_delete_currency&id=[ID]&nonce=[NONCE]
- If the first attempt returns
- Third Attempt (Alternative Action):
- If
yay_currency_delete_currencyfails, tryyay_currency_remove_currencyoryay_currency_delete_item.
- If
6. Test Data Setup
- Target Post: A standard WordPress post or page.
- Trigger Content: A page with the block
<!-- wp:yay-currency/currency-switcher /-->to potentially leak nonces if they are enqueued on the frontend. - Plugin State: Ensure YayCurrency <= 3.3 is active.
7. Expected Results
- HTTP Response: A JSON response indicating success (e.g.,
{"success":true}) or a simple1/trueresponse common in AJAX handlers. - Database Change: The post with the targeted ID should no longer exist in the
wp_poststable or itspost_statusshould be changed totrash.
8. Verification Steps
- WP-CLI Post Check:
wp post exists [ID] # OR wp post get [ID] --field=post_status - Result Interpretation: If
wp post existsreturns false or the status istrash, the exploit is confirmed.
9. Alternative Approaches
- REST API Probing: Check for endpoints under
/wp-json/yaycurrency/v1/that might handle deletions. - ID Parameter Variations: Try
post_id,id, orcurrency_idas the parameter name for the deletion target. - Action Probing: If the inferred action name is incorrect, use the
http_requesttool to check for other AJAX actions registered by the plugin by searching for the stringwp_ajax_noprivin the plugin's directory.
Summary
The YayCurrency plugin for WordPress allows unauthenticated attackers to delete arbitrary posts, pages, or attachments. This is due to a missing capability check and inadequate nonce validation in the AJAX handler responsible for deleting currency-related items.
Security Fix
Only in /home/deploy/wp-safety.org/data/plugin-versions/yaycurrency/3.3.1/assets/dist: flags @@ -1 +1 @@ -/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme,base,components,utilities;@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-widest:.1em;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}:root{--background:oklch(100% 0 0);--foreground:oklch(20.5% 0 0);--primary:oklch(53.39% .1249 247.74);--primary-foreground:oklch(100% 0 0);--primary-accent:oklch(46.82% .1138 247.02);--success:oklch(59.29% .1782 142.91);--success-foreground:oklch(100% 0 0);--success-accent:oklch(49.4% .1453 142.98);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(100% 0 0);--destructive-accent:oklch(50.4% .2056 27.44);--warning:oklch(83.03% .169 85.2);--warning-foreground:oklch(19.23% .0074 229.32);--warning-accent:oklch(77.45% .1637 72.66);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--input-accent:oklch(87% 0 0);--ring:oklch(53.39% .1249 247.74);--ring-accent:oklch(46.82% .1138 247.02);--card:oklch(100% 0 0);--card-foreground:oklch(20.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(20.5% 0 0);--radius:.625rem;--default-transition-duration:.3s}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.yay-ui{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.yay-ui input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.yay-ui input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.yay-ui input[type=number]{-moz-appearance:textfield}*{border-color:var(--border);--tw-ring-color:var(--primary);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}@media (hover:hover){:hover{--tw-ring-color:var(--primary-accent)}}.yay-ui :where(button,code,form,h1,h2,h3,h4,h5,h6,input,ul,ol,li,nav,p,textarea){margin:calc(var(--spacing)*0);padding:calc(var(--spacing)*0)}#wpcontent{padding-left:0!important}.notice,.notice-info,.notice-warning,.notice-error,.notice-success,.error,.success,.info,.warning,#screen-meta,#screen-meta-links{display:none}.yay-ui .\@container\/card-header{container:card-header/inline-size}.yay-ui .pointer-events-none{pointer-events:none}.yay-ui .invisible{visibility:hidden}.yay-ui .visible{visibility:visible}.yay-ui .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.yay-ui .absolute{position:absolute}.yay-ui .fixed{position:fixed}.yay-ui .relative{position:relative}.yay-ui .inset-0{inset:calc(var(--spacing)*0)}.yay-ui .inset-x-0{inset-inline:calc(var(--spacing)*0)}.yay-ui .inset-y-0{inset-block:calc(var(--spacing)*0)}.yay-ui .inset-y-px{inset-block:1px}.yay-ui .start-px{inset-inline-start:1px}.yay-ui .end-px{inset-inline-end:1px}.yay-ui .top-0{top:calc(var(--spacing)*0)}.yay-ui .top-1\/2{top:50%}.yay-ui .top-4{top:calc(var(--spacing)*4)}.yay-ui .top-\[-2px\]{top:-2px}.yay-ui .top-\[7px\]{top:7px}.yay-ui .top-\[32px\]{top:32px}.yay-ui .top-\[45px\]{top:45px}.yay-ui .top-\[50\%\]{top:50%}.yay-ui .top-\[62px\]{top:62px}.yay-ui .right-0{right:calc(var(--spacing)*0)}.yay-ui .right-2{right:calc(var(--spacing)*2)}.yay-ui .right-4{right:calc(var(--spacing)*4)}.yay-ui .bottom-0{bottom:calc(var(--spacing)*0)}.yay-ui .left-0{left:calc(var(--spacing)*0)}.yay-ui .left-1\/2{left:50%}.yay-ui .left-2{left:calc(var(--spacing)*2)}.yay-ui .left-\[5px\]{left:5px}.yay-ui .left-\[50\%\]{left:50%}.yay-ui .z-50{z-index:50}.yay-ui .z-\[9999\]{z-index:9999}.yay-ui .z-\[100001\]{z-index:100001}.yay-ui .z-\[100002\]{z-index:100002}.yay-ui .z-\[999999\]{z-index:999999}.yay-ui .col-start-2{grid-column-start:2}.yay-ui .row-span-2{grid-row:span 2/span 2}.yay-ui .row-start-1{grid-row-start:1}.yay-ui .container{width:100%}@media (min-width:40rem){.yay-ui .container{max-width:40rem}}@media (min-width:48rem){.yay-ui .container{max-width:48rem}}@media (min-width:64rem){.yay-ui .container{max-width:64rem}}@media (min-width:80rem){.yay-ui .container{max-width:80rem}}@media (min-width:96rem){.yay-ui .container{max-width:96rem}}.yay-ui .m-0{margin:calc(var(--spacing)*0)}.yay-ui .-mx-1{margin-inline:calc(var(--spacing)*-1)}.yay-ui .mx-auto{margin-inline:auto}.yay-ui .my-1{margin-block:calc(var(--spacing)*1)}.yay-ui .my-3{margin-block:calc(var(--spacing)*3)}.yay-ui .my-7\.5{margin-block:calc(var(--spacing)*7.5)}.yay-ui .\!mt-1{margin-top:calc(var(--spacing)*1)!important}.yay-ui .mt-0{margin-top:calc(var(--spacing)*0)}.yay-ui .mt-1{margin-top:calc(var(--spacing)*1)}.yay-ui .mt-2{margin-top:calc(var(--spacing)*2)}.yay-ui .mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.yay-ui .mt-3{margin-top:calc(var(--spacing)*3)}.yay-ui .mt-4{margin-top:calc(var(--spacing)*4)}.yay-ui .mt-5{margin-top:calc(var(--spacing)*5)}.yay-ui .mt-6{margin-top:calc(var(--spacing)*6)}.yay-ui .mt-7\.5{margin-top:calc(var(--spacing)*7.5)}.yay-ui .mt-\[84px\]{margin-top:84px}.yay-ui .mt-\[120px\]{margin-top:120px}.yay-ui .mt-auto{margin-top:auto}.yay-ui .mr-0{margin-right:calc(var(--spacing)*0)}.yay-ui .mr-0\.5{margin-right:calc(var(--spacing)*.5)}.yay-ui .mr-1{margin-right:calc(var(--spacing)*1)}.yay-ui .mr-3{margin-right:calc(var(--spacing)*3)}.yay-ui .mr-\[8px\]{margin-right:8px}.yay-ui .mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.yay-ui .mb-1{margin-bottom:calc(var(--spacing)*1)}.yay-ui .mb-2{margin-bottom:calc(var(--spacing)*2)}.yay-ui .mb-3{margin-bottom:calc(var(--spacing)*3)}.yay-ui .mb-4{margin-bottom:calc(var(--spacing)*4)}.yay-ui .mb-10{margin-bottom:calc(var(--spacing)*10)}.yay-ui .-ml-2{margin-left:calc(var(--spacing)*-2)}.yay-ui .ml-1{margin-left:calc(var(--spacing)*1)}.yay-ui .ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.yay-ui .ml-2{margin-left:calc(var(--spacing)*2)}.yay-ui .ml-auto{margin-left:auto}.yay-ui .block{display:block}.yay-ui .flex{display:flex}.yay-ui .grid{display:grid}.yay-ui .hidden{display:none}.yay-ui .inline-block{display:inline-block}.yay-ui .inline-flex{display:inline-flex}.yay-ui .table{display:table}.yay-ui .table-caption{display:table-caption}.yay-ui .table-cell{display:table-cell}.yay-ui .table-row{display:table-row}.yay-ui .field-sizing-content{field-sizing:content}.yay-ui .aspect-square{aspect-ratio:1}.yay-ui .size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.yay-ui .size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.yay-ui .size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.yay-ui .size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.yay-ui .size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.yay-ui .size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.yay-ui .size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.yay-ui .size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.yay-ui .size-\[22px\]{width:22px;height:22px}.yay-ui .size-\[24px\]{width:24px;height:24px}.yay-ui .\!h-9{height:calc(var(--spacing)*9)!important}.yay-ui .\!h-\[30px\]{height:30px!important}.yay-ui .h-3{height:calc(var(--spacing)*3)}.yay-ui .h-4{height:calc(var(--spacing)*4)}.yay-ui .h-5{height:calc(var(--spacing)*5)}.yay-ui .h-6{height:calc(var(--spacing)*6)}.yay-ui .h-6\.5{height:calc(var(--spacing)*6.5)}.yay-ui .h-7{height:calc(var(--spacing)*7)}.yay-ui .h-8{height:calc(var(--spacing)*8)}.yay-ui .h-9{height:calc(var(--spacing)*9)}.yay-ui .h-10{height:calc(var(--spacing)*10)}.yay-ui .h-12\.5{height:calc(var(--spacing)*12.5)}.yay-ui .h-13\.5{height:calc(var(--spacing)*13.5)}.yay-ui .h-24{height:calc(var(--spacing)*24)}.yay-ui .h-25{height:calc(var(--spacing)*25)}.yay-ui .h-\[1\.15rem\]{height:1.15rem}.yay-ui .h-\[15px\]{height:15px}.yay-ui .h-\[18px\]{height:18px}.yay-ui .h-\[50px\]{height:50px}.yay-ui .h-\[54px\]{height:54px}.yay-ui .h-\[56px\]{height:56px}.yay-ui .h-\[100px\]{height:100px}.yay-ui .h-\[108px\]{height:108px}.yay-ui .h-\[150px\]{height:150px}.yay-ui .h-\[200px\]{height:200px}.yay-ui .h-\[210px\]{height:210px}.yay-ui .h-\[calc\(100\%-32px\)\]{height:calc(100% - 32px)}.yay-ui .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.yay-ui .h-auto{height:auto}.yay-ui .h-full{height:100%}.yay-ui .h-px{height:1px}.yay-ui .max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.yay-ui .max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.yay-ui .max-h-\[300px\]{max-height:300px}.yay-ui .max-h-\[420px\]{max-height:420px}.yay-ui .min-h-9{min-height:calc(var(--spacing)*9)}.yay-ui .min-h-16{min-height:calc(var(--spacing)*16)}.yay-ui .min-h-\[50px\]{min-height:50px}.yay-ui .min-h-\[75px\]{min-height:75px}.yay-ui .w-2\/5{width:40%}.yay-ui .w-3{width:calc(var(--spacing)*3)}.yay-ui .w-3\/4{width:75%}.yay-ui .w-4{width:calc(var(--spacing)*4)}.yay-ui .w-6{width:calc(var(--spacing)*6)}.yay-ui .w-8{width:calc(var(--spacing)*8)}.yay-ui .w-11{width:calc(var(--spacing)*11)}.yay-ui .w-12\.5{width:calc(var(--spacing)*12.5)}.yay-ui .w-13{width:calc(var(--spacing)*13)}.yay-ui .w-72{width:calc(var(--spacing)*72)}.yay-ui .w-\[20px\]{width:20px}.yay-ui .w-\[24px\]{width:24px}.yay-ui .w-\[30\%\]{width:30%}.yay-ui .w-\[40\%\]{width:40%}.yay-ui .w-\[50px\]{width:50px}.yay-ui .w-\[70\%\]{width:70%}.yay-ui .w-\[80px\]{width:80px}.yay-ui .w-\[96px\]{width:96px}.yay-ui .w-\[108px\]{width:108px}.yay-ui .w-\[146px\]{width:146px}.yay-ui .w-\[160px\]{width:160px}.yay-ui .w-\[170px\]{width:170px}.yay-ui .w-\[210px\]{width:210px}.yay-ui .w-\[220px\]{width:220px}.yay-ui .w-\[230px\]{width:230px}.yay-ui .w-\[280px\]{width:280px}.yay-ui .w-\[300px\]{width:300px}.yay-ui .w-\[325px\]{width:325px}.yay-ui .w-\[400px\]{width:400px}.yay-ui .w-\[450px\]{width:450px}.yay-ui .w-fit{width:fit-content}.yay-ui .w-full{width:100%}.yay-ui .max-w-7xl{max-width:var(--container-7xl)}.yay-ui .max-w-\[220px\]{max-width:220px}.yay-ui .max-w-\[230px\]{max-width:230px}.yay-ui .max-w-\[300px\]{max-width:300px}.yay-ui .max-w-\[320px\]{max-width:320px}.yay-ui .max-w-\[350px\]{max-width:350px}.yay-ui .max-w-\[380px\]{max-width:380px}.yay-ui .max-w-\[385px\]{max-width:385px}.yay-ui .max-w-\[400px\]{max-width:400px}.yay-ui .max-w-\[420px\]{max-width:420px}.yay-ui .max-w-\[450px\]{max-width:450px}.yay-ui .max-w-\[1024px\]{max-width:1024px}.yay-ui .max-w-\[1044px\]{max-width:1044px}.yay-ui .max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.yay-ui .max-w-fit{max-width:fit-content}.yay-ui .max-w-full{max-width:100%}.yay-ui .min-w-0{min-width:calc(var(--spacing)*0)}.yay-ui .min-w-8{min-width:calc(var(--spacing)*8)}.yay-ui .min-w-9{min-width:calc(var(--spacing)*9)}.yay-ui .min-w-10{min-width:calc(var(--spacing)*10)}.yay-ui .min-w-\[8rem\]{min-width:8rem}.yay-ui .min-w-\[280px\]{min-width:280px}.yay-ui .min-w-\[320px\]{min-width:320px}.yay-ui .min-w-\[450px\]{min-width:450px}.yay-ui .min-w-\[600px\]{min-width:600px}.yay-ui .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.yay-ui .flex-1{flex:1}.yay-ui .shrink-0{flex-shrink:0}.yay-ui .caption-bottom{caption-side:bottom}.yay-ui .origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.yay-ui .origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.yay-ui .origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.yay-ui .origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.yay-ui .-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-x-\[-20px\]{--tw-translate-x:-20px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .rotate-45{rotate:45deg}.yay-ui .rotate-180{rotate:180deg}.yay-ui .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.yay-ui .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .animate-pulse{animation:var(--animate-pulse)}.yay-ui .animate-spin{animation:var(--animate-spin)}.yay-ui .cursor-default{cursor:default}.yay-ui .cursor-grab{cursor:grab}.yay-ui .cursor-help{cursor:help}.yay-ui .cursor-not-allowed{cursor:not-allowed}.yay-ui .cursor-pointer{cursor:pointer}.yay-ui .resize{resize:both}.yay-ui .scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.yay-ui .scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.yay-ui .list-none{list-style-type:none}.yay-ui .\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.yay-ui .auto-rows-min{grid-auto-rows:min-content}.yay-ui .grid-cols-\[2fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr}.yay-ui .grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.yay-ui .flex-col{flex-direction:column}.yay-ui .flex-col-reverse{flex-direction:column-reverse}.yay-ui .flex-row{flex-direction:row}.yay-ui .flex-wrap{flex-wrap:wrap}.yay-ui .items-center{align-items:center}.yay-ui .items-end{align-items:flex-end}.yay-ui .items-start{align-items:flex-start}.yay-ui .items-stretch{align-items:stretch}.yay-ui .justify-between{justify-content:space-between}.yay-ui .justify-center{justify-content:center}.yay-ui .justify-start{justify-content:flex-start}.yay-ui .gap-0{gap:calc(var(--spacing)*0)}.yay-ui .gap-1{gap:calc(var(--spacing)*1)}.yay-ui .gap-1\.5{gap:calc(var(--spacing)*1.5)}.yay-ui .gap-2{gap:calc(var(--spacing)*2)}.yay-ui .gap-3{gap:calc(var(--spacing)*3)}.yay-ui .gap-3\.5{gap:calc(var(--spacing)*3.5)}.yay-ui .gap-4{gap:calc(var(--spacing)*4)}.yay-ui .gap-5{gap:calc(var(--spacing)*5)}.yay-ui .gap-6{gap:calc(var(--spacing)*6)}.yay-ui .gap-7{gap:calc(var(--spacing)*7)}.yay-ui .gap-7\.5{gap:calc(var(--spacing)*7.5)}.yay-ui .gap-8{gap:calc(var(--spacing)*8)}.yay-ui .gap-\[5px\]{gap:5px}:where(.yay-ui .space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.yay-ui .space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}.yay-ui .gap-x-\[100px\]{column-gap:100px}.yay-ui .gap-y-5{row-gap:calc(var(--spacing)*5)}:where(.yay-ui .divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.yay-ui .divide-\[\#FAFAFA\]>:not(:last-child)){border-color:#fafafa}:where(.yay-ui .divide-border>:not(:last-child)){border-color:var(--border)}.yay-ui .self-start{align-self:flex-start}.yay-ui .justify-self-end{justify-self:flex-end}.yay-ui .overflow-auto{overflow:auto}.yay-ui .overflow-hidden{overflow:hidden}.yay-ui .overflow-x-auto{overflow-x:auto}.yay-ui .overflow-x-hidden{overflow-x:hidden}.yay-ui .overflow-y-auto{overflow-y:auto}.yay-ui .\!rounded-\[6px\]{border-radius:6px!important}.yay-ui .rounded-\[2px\]{border-radius:2px}.yay-ui .rounded-\[4px\]{border-radius:4px}.yay-ui .rounded-\[8px\]{border-radius:8px}.yay-ui .rounded-\[100px\]{border-radius:100px}.yay-ui .rounded-full{border-radius:3.40282e38px}.yay-ui .rounded-lg{border-radius:var(--radius)}.yay-ui .rounded-md{border-radius:calc(var(--radius) - 2px)}.yay-ui .rounded-none{border-radius:0}.yay-ui .rounded-sm{border-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-xl{border-radius:calc(var(--radius) + 4px)}.yay-ui .rounded-s-sm{border-start-start-radius:calc(var(--radius) - 4px);border-end-start-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-e-sm{border-start-end-radius:calc(var(--radius) - 4px);border-end-end-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.yay-ui .rounded-r-sm{border-top-right-radius:calc(var(--radius) - 4px);border-bottom-right-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-tr-none{border-top-right-radius:0}.yay-ui .rounded-br-none{border-bottom-right-radius:0}.yay-ui .border{border-style:var(--tw-border-style);border-width:1px}.yay-ui .border-2{border-style:var(--tw-border-style);border-width:2px}.yay-ui .border-4{border-style:var(--tw-border-style);border-width:4px}.yay-ui .border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.yay-ui .border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.yay-ui .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.yay-ui .border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.yay-ui .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yay-ui .border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.yay-ui .border-b-3,.yay-ui .border-b-\[3px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:3px}.yay-ui .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.yay-ui .border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.yay-ui .\!border-none{--tw-border-style:none!important;border-style:none!important}.yay-ui .border-none{--tw-border-style:none;border-style:none}.yay-ui .border-solid{--tw-border-style:solid;border-style:solid}.yay-ui .border-\[\#739149\]{border-color:#739149}.yay-ui .border-\[\#E4E4E7\]{border-color:#e4e4e7}.yay-ui .border-border{border-color:var(--border)}.yay-ui .border-destructive{border-color:var(--destructive)}.yay-ui .border-input{border-color:var(--input)}.yay-ui .border-primary{border-color:var(--primary)}.yay-ui .border-success{border-color:var(--success)}.yay-ui .border-transparent{border-color:#0000}.yay-ui .border-warning{border-color:var(--warning)}.yay-ui .border-t-transparent{border-top-color:#0000}.yay-ui .border-l-primary{border-left-color:var(--primary)}.yay-ui .\!bg-muted{background-color:var(--muted)!important}.yay-ui .\!bg-transparent{background-color:#0000!important}.yay-ui .bg-\[\#81b536\]{background-color:#81b536}.yay-ui .bg-\[\#333333\]{background-color:#333}.yay-ui .bg-\[\#F3F4FA\]{background-color:#f3f4fa}.yay-ui .bg-\[\#F4F4F5\]{background-color:#f4f4f5}.yay-ui .bg-\[\#F5F5F5\]{background-color:#f5f5f5}.yay-ui .bg-\[\#FAFAFA\]{background-color:#fafafa}.yay-ui .bg-\[\#FFF5DB\]{background-color:#fff5db}.yay-ui .bg-\[\#f9f9f9\]{background-color:#f9f9f9}.yay-ui .bg-background{background-color:var(--background)}.yay-ui .bg-black\/50{background-color:oklab(0% none none/.5)}.yay-ui .bg-border{background-color:var(--border)}.yay-ui .bg-card{background-color:var(--card)}.yay-ui .bg-destructive,.yay-ui .bg-destructive\/6{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-destructive\/6{background-color:color-mix(in oklab,var(--destructive)6%,transparent)}}.yay-ui .bg-foreground{background-color:var(--foreground)}.yay-ui .bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-input\/30{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .bg-muted,.yay-ui .bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.yay-ui .bg-popover{background-color:var(--popover)}.yay-ui .bg-primary,.yay-ui .bg-primary\/6{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-primary\/6{background-color:color-mix(in oklab,var(--primary)6%,transparent)}}.yay-ui .bg-success,.yay-ui .bg-success\/6{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-success\/6{background-color:color-mix(in oklab,var(--success)6%,transparent)}}.yay-ui .bg-transparent{background-color:#0000}.yay-ui .bg-warning,.yay-ui .bg-warning\/6{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-warning\/6{background-color:color-mix(in oklab,var(--warning)6%,transparent)}}.yay-ui .bg-white{background-color:#fff}.yay-ui .bg-white\/50{background-color:#ffffff80}.yay-ui .bg-contain{background-size:contain}.yay-ui .bg-center{background-position:50%}.yay-ui .bg-no-repeat{background-repeat:no-repeat}.yay-ui .fill-current{fill:currentColor}.yay-ui .fill-foreground{fill:var(--foreground)}.yay-ui .stroke-\[2\.5\]{stroke-width:2.5px}.yay-ui .object-cover{object-fit:cover}.yay-ui .object-center{object-position:center}.yay-ui .p-0{padding:calc(var(--spacing)*0)}.yay-ui .p-1{padding:calc(var(--spacing)*1)}.yay-ui .p-2{padding:calc(var(--spacing)*2)}.yay-ui .p-3{padding:calc(var(--spacing)*3)}.yay-ui .p-4{padding:calc(var(--spacing)*4)}.yay-ui .p-6{padding:calc(var(--spacing)*6)}.yay-ui .p-7\.5{padding:calc(var(--spacing)*7.5)}.yay-ui .p-\[3px\]{padding:3px}.yay-ui .p-\[4px\]{padding:4px}.yay-ui .p-\[5px\]{padding:5px}.yay-ui .px-0{padding-inline:calc(var(--spacing)*0)}.yay-ui .px-1{padding-inline:calc(var(--spacing)*1)}.yay-ui .px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.yay-ui .px-2{padding-inline:calc(var(--spacing)*2)}.yay-ui .px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.yay-ui .px-3{padding-inline:calc(var(--spacing)*3)}.yay-ui .px-4{padding-inline:calc(var(--spacing)*4)}.yay-ui .px-6{padding-inline:calc(var(--spacing)*6)}.yay-ui .px-7\.5{padding-inline:calc(var(--spacing)*7.5)}.yay-ui .px-\[3px\]{padding-inline:3px}.yay-ui .px-\[6px\]{padding-inline:6px}.yay-ui .px-\[12px\]{padding-inline:12px}.yay-ui .px-\[15px\]{padding-inline:15px}.yay-ui .\!py-0{padding-block:calc(var(--spacing)*0)!important}.yay-ui .py-0{padding-block:calc(var(--spacing)*0)}.yay-ui .py-0\.5{padding-block:calc(var(--spacing)*.5)}.yay-ui .py-1{padding-block:calc(var(--spacing)*1)}.yay-ui .py-1\.5{padding-block:calc(var(--spacing)*1.5)}.yay-ui .py-2{padding-block:calc(var(--spacing)*2)}.yay-ui .py-2\.5{padding-block:calc(var(--spacing)*2.5)}.yay-ui .py-3{padding-block:calc(var(--spacing)*3)}.yay-ui .py-5{padding-block:calc(var(--spacing)*5)}.yay-ui .py-6{padding-block:calc(var(--spacing)*6)}.yay-ui .py-7\.5{padding-block:calc(var(--spacing)*7.5)}.yay-ui .py-\[8px\]{padding-block:8px}.yay-ui .py-\[9px\]{padding-block:9px}.yay-ui .pt-0{padding-top:calc(var(--spacing)*0)}.yay-ui .pt-1{padding-top:calc(var(--spacing)*1)}.yay-ui .pt-\[3px\]{padding-top:3px}.yay-ui .pt-\[50px\]{padding-top:50px}.yay-ui .pr-0{padding-right:calc(var(--spacing)*0)}.yay-ui .pr-2{padding-right:calc(var(--spacing)*2)}.yay-ui .pr-3{padding-right:calc(var(--spacing)*3)}.yay-ui .pr-8{padding-right:calc(var(--spacing)*8)}.yay-ui .pr-\[7px\]{padding-right:7px}.yay-ui .pb-2{padding-bottom:calc(var(--spacing)*2)}.yay-ui .pl-2{padding-left:calc(var(--spacing)*2)}.yay-ui .pl-3{padding-left:calc(var(--spacing)*3)}.yay-ui .pl-8{padding-left:calc(var(--spacing)*8)}.yay-ui .text-center{text-align:center}.yay-ui .text-left{text-align:left}.yay-ui .text-right{text-align:right}.yay-ui .align-middle{vertical-align:middle}.yay-ui .\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.yay-ui .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.yay-ui .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.yay-ui .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.yay-ui .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.yay-ui .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.yay-ui .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.yay-ui .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.yay-ui .leading-none{--tw-leading:1;line-height:1}.yay-ui .\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.yay-ui .\!font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.yay-ui .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.yay-ui .font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.yay-ui .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.yay-ui .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.yay-ui .tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.yay-ui .text-balance{text-wrap:balance}.yay-ui .text-ellipsis{text-overflow:ellipsis}.yay-ui .whitespace-nowrap{white-space:nowrap}.yay-ui .\!text-primary{color:var(--primary)!important}.yay-ui .\!text-white{color:#fff!important}.yay-ui .text-\[\#1D2327\]{color:#1d2327}.yay-ui .text-\[\#7B7C80\]{color:#7b7c80}.yay-ui .text-\[\#86889A\]{color:#86889a}.yay-ui .text-\[\#495057\]{color:#495057}.yay-ui .text-\[\#A0A0A7\]{color:#a0a0a7}.yay-ui .text-\[\#C7C7CA\]{color:#c7c7ca}.yay-ui .text-background{color:var(--background)}.yay-ui .text-card-foreground{color:var(--card-foreground)}.yay-ui .text-current{color:currentColor}.yay-ui .text-destructive{color:var(--destructive)}.yay-ui .text-destructive-foreground{color:var(--destructive-foreground)}.yay-ui .text-foreground{color:var(--foreground)}.yay-ui .text-inherit{color:inherit}.yay-ui .text-muted-foreground{color:var(--muted-foreground)}.yay-ui .text-popover-foreground{color:var(--popover-foreground)}.yay-ui .text-primary{color:var(--primary)}.yay-ui .text-primary-foreground{color:var(--primary-foreground)}.yay-ui .text-success{color:var(--success)}.yay-ui .text-success-foreground{color:var(--success-foreground)}.yay-ui .text-warning{color:var(--warning)}.yay-ui .text-warning-foreground{color:var(--warning-foreground)}.yay-ui .text-white{color:#fff}.yay-ui .italic{font-style:italic}.yay-ui .underline{text-decoration-line:underline}.yay-ui .decoration-muted-foreground{-webkit-text-decoration-color:var(--muted-foreground);text-decoration-color:var(--muted-foreground)}.yay-ui .decoration-dotted{text-decoration-style:dotted}.yay-ui .underline-offset-1{text-underline-offset:1px}.yay-ui .underline-offset-4{text-underline-offset:4px}.yay-ui .opacity-0{opacity:0}.yay-ui .opacity-25{opacity:.25}.yay-ui .opacity-50{opacity:.5}.yay-ui .opacity-70{opacity:.7}.yay-ui .opacity-100{opacity:1}.yay-ui .shadow-\[0_8px_8px_0_rgba\(85\,93\,102\,0\.3\)\]{--tw-shadow:0 8px 8px 0 var(--tw-shadow-color,#555d664d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-\[0px_1px_2px_0px_\#0000000D\]{--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .ring-destructive,.yay-ui .ring-destructive\/50{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-destructive\/50{--tw-ring-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.yay-ui .ring-success,.yay-ui .ring-success\/50{--tw-ring-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-success\/50{--tw-ring-color:color-mix(in oklab,var(--success)50%,transparent)}}.yay-ui .ring-warning,.yay-ui .ring-warning\/50{--tw-ring-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-warning\/50{--tw-ring-color:color-mix(in oklab,var(--warning)50%,transparent)}}.yay-ui .ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .ring-offset-background{--tw-ring-offset-color:var(--background)}.yay-ui .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yay-ui .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.yay-ui .outline{outline-style:var(--tw-outline-style);outline-width:1px}.yay-ui .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,)}.yay-ui .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-none{transition-property:none}.yay-ui .duration-200{--tw-duration:.2s;transition-duration:.2s}.yay-ui .duration-300{--tw-duration:.3s;transition-duration:.3s}.yay-ui .duration-500{--tw-duration:.5s;transition-duration:.5s}.yay-ui .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.yay-ui .fade-in-0{--tw-enter-opacity:0}.yay-ui .outline-none{--tw-outline-style:none;outline-style:none}.yay-ui .select-all{-webkit-user-select:all;user-select:all}.yay-ui .select-none{-webkit-user-select:none;user-select:none}.yay-ui .zoom-in-95{--tw-enter-scale:.95}@media (hover:hover){.yay-ui .group-hover\:\!bg-white:is(:where(.group):hover *){background-color:#fff!important}.yay-ui .group-hover\:text-accent-foreground:is(:where(.group):hover *){color:var(--accent-foreground)}.yay-ui .group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.yay-ui .group-hover\/input-number\:opacity-100:is(:where(.group\/input-number):hover *){opacity:1}}.yay-ui .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.yay-ui .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.yay-ui .peer-focus\/input-number-input\:opacity-100:is(:where(.peer\/input-number-input):focus~*){opacity:1}.yay-ui .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.yay-ui .peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.yay-ui .peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.yay-ui .selection\:bg-primary ::selection{background-color:var(--primary)}.yay-ui .selection\:bg-primary::selection{background-color:var(--primary)}.yay-ui .selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.yay-ui .selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.yay-ui .file\:inline-flex::file-selector-button{display:inline-flex}.yay-ui .file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.yay-ui .file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.yay-ui .file\:bg-transparent::file-selector-button{background-color:#0000}.yay-ui .file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.yay-ui .file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .file\:text-foreground::file-selector-button{color:var(--foreground)}.yay-ui .placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.yay-ui .first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.yay-ui .last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}@media (hover:hover){.yay-ui .hover\:cursor-pointer:hover{cursor:pointer}.yay-ui .hover\:border-\[\#D4D4D4\]:hover{border-color:#d4d4d4}.yay-ui .hover\:border-destructive-accent:hover{border-color:var(--destructive-accent)}.yay-ui .hover\:border-foreground:hover{border-color:var(--foreground)}.yay-ui .hover\:border-input:hover{border-color:var(--input)}.yay-ui .hover\:border-primary-accent:hover{border-color:var(--primary-accent)}.yay-ui .hover\:border-ring:hover{border-color:var(--ring)}.yay-ui .hover\:border-success-accent:hover{border-color:var(--success-accent)}.yay-ui .hover\:border-warning-accent:hover{border-color:var(--warning-accent)}.yay-ui .hover\:bg-\[\#73a827\]:hover{background-color:#73a827}.yay-ui .hover\:bg-\[\#F2F5F9\]:hover{background-color:#f2f5f9}.yay-ui .hover\:bg-\[\#FAFAFA\]:hover{background-color:#fafafa}.yay-ui .hover\:bg-accent:hover{background-color:var(--accent)}.yay-ui .hover\:bg-destructive-accent:hover{background-color:var(--destructive-accent)}.yay-ui .hover\:bg-muted:hover,.yay-ui .hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.yay-ui .hover\:bg-primary-accent:hover{background-color:var(--primary-accent)}.yay-ui .hover\:bg-success-accent:hover{background-color:var(--success-accent)}.yay-ui .hover\:bg-transparent:hover{background-color:#0000}.yay-ui .hover\:bg-warning-accent:hover{background-color:var(--warning-accent)}.yay-ui .hover\:text-\[\#1b5f97\]:hover{color:#1b5f97}.yay-ui .hover\:text-\[\#86889A\]:hover{color:#86889a}.yay-ui .hover\:text-\[\#171719\]:hover{color:#171719}.yay-ui .hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.yay-ui .hover\:text-background:hover{color:var(--background)}.yay-ui .hover\:text-destructive:hover{color:var(--destructive)}.yay-ui .hover\:text-destructive-accent:hover{color:var(--destructive-accent)}.yay-ui .hover\:text-foreground:hover{color:var(--foreground)}.yay-ui .hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.yay-ui .hover\:text-primary:hover{color:var(--primary)}.yay-ui .hover\:text-primary-accent:hover{color:var(--primary-accent)}.yay-ui .hover\:text-success-accent:hover{color:var(--success-accent)}.yay-ui .hover\:text-warning-accent:hover{color:var(--warning-accent)}.yay-ui .hover\:underline:hover{text-decoration-line:underline}.yay-ui .hover\:opacity-100:hover{opacity:1}.yay-ui .hover\:ring-destructive-accent:hover,.yay-ui .hover\:ring-destructive-accent\/50:hover{--tw-ring-color:var(--destructive-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-destructive-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--destructive-accent)50%,transparent)}}.yay-ui .hover\:ring-success-accent:hover,.yay-ui .hover\:ring-success-accent\/50:hover{--tw-ring-color:var(--success-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-success-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--success-accent)50%,transparent)}}.yay-ui .hover\:ring-warning-accent:hover,.yay-ui .hover\:ring-warning-accent\/50:hover{--tw-ring-color:var(--warning-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-warning-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--warning-accent)50%,transparent)}}}.yay-ui .focus\:z-10:focus{z-index:10}.yay-ui .focus\:\!border-input:focus{border-color:var(--input)!important}.yay-ui .focus\:border-foreground:focus{border-color:var(--foreground)}.yay-ui .focus\:bg-accent:focus{background-color:var(--accent)}.yay-ui .focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.yay-ui .focus\:\!shadow-none:focus{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.yay-ui .focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.yay-ui .focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yay-ui .focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.yay-ui .focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.yay-ui .focus-visible\:z-10:focus-visible{z-index:10}.yay-ui .focus-visible\:\!border-input:focus-visible{border-color:var(--input)!important}.yay-ui .focus-visible\:border-foreground:focus-visible{border-color:var(--foreground)}.yay-ui .focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.yay-ui .focus-visible\:text-primary:focus-visible{color:var(--primary)}.yay-ui .focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-\[1\.5px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1.5px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.yay-ui .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.yay-ui .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.yay-ui .focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}@media (hover:hover){.yay-ui .focus-visible\:hover\:border-accent-foreground:focus-visible:hover{border-color:var(--accent-foreground)}.yay-ui .focus-visible\:hover\:border-ring-accent:focus-visible:hover{border-color:var(--ring-accent)}}.yay-ui .active\:\!border-input:active{border-color:var(--input)!important}.yay-ui .disabled\:pointer-events-none:disabled{pointer-events:none}.yay-ui .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.yay-ui .disabled\:border-input:disabled{border-color:var(--input)}.yay-ui .disabled\:bg-\[\#f2f5f9\]:disabled{background-color:#f2f5f9}.yay-ui .disabled\:opacity-50:disabled{opacity:.5}.yay-ui .disabled\:opacity-60:disabled{opacity:.6}.yay-ui .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.yay-ui .has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.yay-ui .has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.yay-ui .has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.yay-ui .aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.yay-ui .aria-invalid\:ring-destructive[aria-invalid=true],.yay-ui .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.yay-ui .data-\[active\=true\]\:border-primary[data-active=true]{border-color:var(--primary)}.yay-ui .data-\[active\=true\]\:bg-background[data-active=true]{background-color:var(--background)}.yay-ui .data-\[active\=true\]\:text-primary[data-active=true]{color:var(--primary)}@media (hover:hover){.yay-ui .data-\[active\=true\]\:hover\:border-primary-accent[data-active=true]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[active\=true\]\:hover\:text-primary-accent[data-active=true]:hover{color:var(--primary-accent)}}.yay-ui .data-\[active\=true\]\:focus-visible\:border-primary-accent[data-active=true]:focus-visible{border-color:var(--primary-accent)}.yay-ui .data-\[active\=true\]\:focus-visible\:text-primary-accent[data-active=true]:focus-visible{color:var(--primary-accent)}.yay-ui .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.yay-ui .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.yay-ui .data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.yay-ui .data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.yay-ui .data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.yay-ui .data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.yay-ui .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.yay-ui .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.yay-ui .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.yay-ui .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.yay-ui .data-\[partial\=true\]\:border-primary[data-partial=true]{border-color:var(--primary)}.yay-ui .data-\[partial\=true\]\:bg-primary[data-partial=true]{background-color:var(--primary)}.yay-ui .data-\[partial\=true\]\:text-primary-foreground[data-partial=true]{color:var(--primary-foreground)}.yay-ui .data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.yay-ui .data-\[selected\=true\]\:border-primary[data-selected=true]{border-color:var(--primary)}.yay-ui .data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.yay-ui .data-\[selected\=true\]\:bg-primary[data-selected=true]{background-color:var(--primary)}.yay-ui .data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.yay-ui .data-\[selected\=true\]\:text-primary-foreground[data-selected=true]{color:var(--primary-foreground)}.yay-ui .data-\[shape\=custom\]\:w-\[120px\][data-shape=custom]{width:120px}.yay-ui .data-\[shape\=custom\]\:rounded-sm[data-shape=custom]{border-radius:calc(var(--radius) - 4px)}.yay-ui .data-\[shape\=default\]\:rounded-\[100px\][data-shape=default]{border-radius:100px}.yay-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.yay-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.yay-ui .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.yay-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.yay-ui .data-\[size\=default\]\:size-5[data-size=default]{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.yay-ui .data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.yay-ui .data-\[size\=lg\]\:size-6[data-size=lg]{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.yay-ui .data-\[size\=sm\]\:size-3\.5[data-size=sm]{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.yay-ui .data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.yay-ui .\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.yay-ui .data-\[state\=active\]\:border-primary[data-state=active]{border-color:var(--primary)}.yay-ui .data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.yay-ui .data-\[state\=active\]\:text-primary[data-state=active]{color:var(--primary)}.yay-ui .data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.yay-ui .data-\[state\=active\]\:hover\:border-primary-accent[data-state=active]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[state\=active\]\:hover\:text-primary-accent[data-state=active]:hover{color:var(--primary-accent)}}.yay-ui .data-\[state\=active\]\:focus-visible\:border-primary-accent[data-state=active]:focus-visible{border-color:var(--primary-accent)}.yay-ui .data-\[state\=active\]\:focus-visible\:text-primary-accent[data-state=active]:focus-visible{color:var(--primary-accent)}.yay-ui .data-\[state\=checked\]\:translate-x-full[data-state=checked]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.yay-ui .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.yay-ui .data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}@media (hover:hover){.yay-ui .data-\[state\=checked\]\:hover\:border-primary-accent[data-state=checked]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[state\=checked\]\:hover\:bg-primary-accent[data-state=checked]:hover{background-color:var(--primary-accent)}}.yay-ui .data-\[state\=checked\]\:disabled\:opacity-60[data-state=checked]:disabled{opacity:.6}.yay-ui .data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.yay-ui .data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.yay-ui .data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.yay-ui .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.yay-ui .data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.yay-ui .data-\[state\=on\]\:bg-background[data-state=on]{background-color:var(--background)}.yay-ui .data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.yay-ui .data-\[state\=on\]\:text-foreground[data-state=on]{color:var(--foreground)}.yay-ui .data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .data-\[state\=open\]\:border-foreground[data-state=open]{border-color:var(--foreground)}.yay-ui .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.yay-ui .data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.yay-ui .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.yay-ui .data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.yay-ui .data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.yay-ui .data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.yay-ui .data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.yay-ui .data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.yay-ui .data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.yay-ui .data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.yay-ui .data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.yay-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (hover:hover){.yay-ui .data-\[state\=unchecked\]\:hover\:bg-input-accent[data-state=unchecked]:hover{background-color:var(--input-accent)}}.yay-ui .data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.yay-ui .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.yay-ui .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.yay-ui .data-\[variant\=outline\]\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.yay-ui .data-\[variant\=outline\]\:shadow-xs[data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .data-\[variant\=outline\]\:first\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}@media (min-width:40rem){.yay-ui .sm\:top-\[45px\]{top:45px}.yay-ui .sm\:block{display:block}.yay-ui .sm\:inline{display:inline}.yay-ui .sm\:inline-block{display:inline-block}.yay-ui .sm\:size-\[18px\]{width:18px;height:18px}.yay-ui .sm\:size-\[20px\]{width:20px;height:20px}.yay-ui .sm\:max-w-\[545px\]{max-width:545px}.yay-ui .sm\:max-w-\[900px\]{max-width:900px}.yay-ui .sm\:max-w-lg{max-width:var(--container-lg)}.yay-ui .sm\:max-w-sm{max-width:var(--container-sm)}.yay-ui .sm\:flex-col{flex-direction:column}.yay-ui .sm\:flex-row{flex-direction:row}.yay-ui .sm\:justify-end{justify-content:flex-end}.yay-ui .sm\:pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.yay-ui .sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.yay-ui .sm\:pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.yay-ui .sm\:text-left{text-align:left}.yay-ui .sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.yay-ui .sm\:text-\[40px\]{font-size:40px}}@media (min-width:48rem){.yay-ui .md\:top-3{top:calc(var(--spacing)*3)}.yay-ui .md\:top-8{top:calc(var(--spacing)*8)}.yay-ui .md\:top-\[95px\]{top:95px}.yay-ui .md\:left-\[210px\]{left:210px}.yay-ui .md\:h-\[356px\]{height:356px}.yay-ui .md\:w-\[250px\]{width:250px}.yay-ui .md\:w-\[290px\]{width:290px}.yay-ui .md\:w-\[300px\]{width:300px}.yay-ui .md\:w-\[500px\]{width:500px}.yay-ui .md\:min-w-\[450px\]{min-width:450px}.yay-ui .md\:min-w-\[460px\]{min-width:460px}.yay-ui .md\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .md\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .md\:flex-col{flex-direction:column}.yay-ui .md\:flex-row{flex-direction:row}.yay-ui .md\:justify-between{justify-content:space-between}.yay-ui .md\:gap-5{gap:calc(var(--spacing)*5)}.yay-ui .md\:gap-\[46px\]{gap:46px}.yay-ui .md\:pt-0{padding-top:calc(var(--spacing)*0)}.yay-ui .md\:pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.yay-ui .md\:pr-6{padding-right:calc(var(--spacing)*6)}.yay-ui .md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.yay-ui .lg\:left-40{left:calc(var(--spacing)*40)}.yay-ui .lg\:w-\[calc\(100\%-160px\)\]{width:calc(100% - 160px)}.yay-ui .lg\:max-w-\[560px\]{max-width:560px}.yay-ui .lg\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.yay-ui .lg\:flex-row{flex-direction:row}.yay-ui .lg\:items-start{align-items:flex-start}.yay-ui .lg\:items-stretch{align-items:stretch}.yay-ui .lg\:justify-start{justify-content:flex-start}.yay-ui .lg\:p-12\.5{padding:calc(var(--spacing)*12.5)}.yay-ui .lg\:px-12\.5{padding-inline:calc(var(--spacing)*12.5)}.yay-ui .lg\:px-\[100px\]{padding-inline:100px}.yay-ui .lg\:py-12\.5{padding-block:calc(var(--spacing)*12.5)}.yay-ui .lg\:py-15{padding-block:calc(var(--spacing)*15)}.yay-ui .lg\:text-start{text-align:start}}@media (min-width:80rem){.yay-ui .xl\:w-1\/2{width:50%}.yay-ui .xl\:w-2\/3{width:66.6667%}.yay-ui .xl\:w-\[320px\]{width:320px}.yay-ui .xl\:w-\[370px\]{width:370px}.yay-ui .xl\:w-\[460px\]{width:460px}.yay-ui .xl\:w-full{width:100%}.yay-ui .xl\:max-w-\[242px\]{max-width:242px}.yay-ui .xl\:translate-x-\[-45px\]{--tw-translate-x:-45px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:translate-x-\[40px\]{--tw-translate-x:40px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:translate-x-\[60px\]{--tw-translate-x:60px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:flex-row{flex-direction:row}.yay-ui .xl\:gap-30{gap:calc(var(--spacing)*30)}}@media (min-width:96rem){.yay-ui .\32xl\:w-\[350px\]{width:350px}.yay-ui .\32xl\:w-\[390px\]{width:390px}.yay-ui .\32xl\:w-\[450px\]{width:450px}.yay-ui .\32xl\:max-w-\[270px\]{max-width:270px}.yay-ui .\32xl\:translate-x-\[-51px\]{--tw-translate-x:-51px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\32xl\:translate-x-\[30px\]{--tw-translate-x:30px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\32xl\:translate-x-\[45px\]{--tw-translate-x:45px;translate:var(--tw-translate-x)var(--tw-translate-y)}}.yay-ui .dark\:border-input:is(.dark *){border-color:var(--input)}.yay-ui .dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.yay-ui .dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.yay-ui .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.yay-ui .dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.yay-ui .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.yay-ui .dark\:data-\[state\=checked\]\:border-primary:is(.dark *)[data-state=checked]{border-color:var(--primary)}.yay-ui .dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.yay-ui .dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.yay-ui .dark\:data-\[state\=on\]\:border-input:is(.dark *)[data-state=on]{border-color:var(--input)}.yay-ui .dark\:data-\[state\=on\]\:bg-input\/30:is(.dark *)[data-state=on]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=on\]\:bg-input\/30:is(.dark *)[data-state=on]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:data-\[state\=on\]\:text-foreground:is(.dark *)[data-state=on]{color:var(--foreground)}.yay-ui .dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.yay-ui .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.yay-ui .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.yay-ui .\[\&_\.iris-picker\]\:\!border-0 .iris-picker{border-style:var(--tw-border-style)!important;border-width:0!important}.yay-ui .\[\&_\.wp-color-result\]\:\!m-0 .wp-color-result{margin:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!h-9 .wp-color-result{height:calc(var(--spacing)*9)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!overflow-hidden .wp-color-result{overflow:hidden!important}.yay-ui .\[\&_\.wp-color-result\]\:\!rounded-md .wp-color-result{border-radius:calc(var(--radius) - 2px)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!border-input .wp-color-result{border-color:var(--input)!important}.yay-ui .\[\&_\.wp-color-result-text\]\:\!py-\[3px\] .wp-color-result-text{padding-block:3px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!absolute .wp-picker-holder{position:absolute!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!z-999 .wp-picker-holder{z-index:999!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!mt-\[47px\] .wp-picker-holder{margin-top:47px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!ml-0 .wp-picker-holder{margin-left:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!w-\[250px\] .wp-picker-holder{width:250px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:animate-in .wp-picker-holder{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .\[\&_\.wp-picker-holder\]\:\!shadow-sm .wp-picker-holder{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!absolute .wp-picker-input-wrap{position:absolute!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!z-999 .wp-picker-input-wrap{z-index:999!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!m-0 .wp-picker-input-wrap{margin:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!mt-2 .wp-picker-input-wrap{margin-top:calc(var(--spacing)*2)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!ml-0 .wp-picker-input-wrap{margin-left:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!block .wp-picker-input-wrap{display:block!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!w-\[250px\] .wp-picker-input-wrap{width:250px!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:animate-in .wp-picker-input-wrap{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!rounded-t-none .wp-picker-input-wrap{border-top-left-radius:0!important;border-top-right-radius:0!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!border-t-0 .wp-picker-input-wrap{border-top-style:var(--tw-border-style)!important;border-top-width:0!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!bg-white .wp-picker-input-wrap{background-color:#fff!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!p-2 .wp-picker-input-wrap{padding:calc(var(--spacing)*2)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!shadow-sm .wp-picker-input-wrap{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\.hidden\]\:\!hidden .wp-picker-input-wrap.hidden{display:none!important}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.yay-ui .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.yay-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.yay-ui .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.yay-ui .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.yay-ui .\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.yay-ui .\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.yay-ui .\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.yay-ui .\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:transition-colors svg:not([class*=text-]){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.yay-ui .hover\:\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-foreground:hover svg:not([class*=text-]){color:var(--foreground)}}.yay-ui .data-\[state\=open\]\:\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-foreground[data-state=open] svg:not([class*=text-]){color:var(--foreground)}.yay-ui .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.yay-ui .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.yay-ui .\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yay-ui .\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.yay-ui .\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.yay-ui .\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.yay-ui .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.yay-ui .\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.yay-ui .\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.yay-ui .\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.yay-ui .\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.yay-ui .\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.yay-ui .\*\:\[svg\]\:opacity-0>*):is(svg){opacity:0}:is(.yay-ui .data-\[partial\=true\]\:\*\:\[svg\]\:opacity-100[data-partial=true]>*):is(svg),:is(.yay-ui .data-\[selected\=true\]\:\*\:\[svg\]\:opacity-100[data-selected=true]>*):is(svg){opacity:1}:is(.yay-ui .data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.yay-ui .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\[\&\>svg\]\:pointer-events-auto>svg{pointer-events:auto}.yay-ui .\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.yay-ui .\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.yay-ui .\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} +/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme,base,components,utilities;@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-widest:.1em;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}:root{--background:oklch(100% 0 0);--foreground:oklch(20.5% 0 0);--primary:oklch(53.39% .1249 247.74);--primary-foreground:oklch(100% 0 0);--primary-accent:oklch(46.82% .1138 247.02);--success:oklch(59.29% .1782 142.91);--success-foreground:oklch(100% 0 0);--success-accent:oklch(49.4% .1453 142.98);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(100% 0 0);--destructive-accent:oklch(50.4% .2056 27.44);--warning:oklch(83.03% .169 85.2);--warning-foreground:oklch(19.23% .0074 229.32);--warning-accent:oklch(77.45% .1637 72.66);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--input-accent:oklch(87% 0 0);--ring:oklch(53.39% .1249 247.74);--ring-accent:oklch(46.82% .1138 247.02);--card:oklch(100% 0 0);--card-foreground:oklch(20.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(20.5% 0 0);--radius:.625rem;--default-transition-duration:.3s}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.yay-ui{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.yay-ui input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.yay-ui input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.yay-ui input[type=number]{-moz-appearance:textfield}*{border-color:var(--border);--tw-ring-color:var(--primary);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}@media (hover:hover){:hover{--tw-ring-color:var(--primary-accent)}}.yay-ui :where(button,code,form,h1,h2,h3,h4,h5,h6,input,ul,ol,li,nav,p,textarea){margin:calc(var(--spacing)*0);padding:calc(var(--spacing)*0)}#wpcontent{padding-left:0!important}.notice,.notice-info,.notice-warning,.notice-error,.notice-success,.error,.success,.info,.warning,#screen-meta,#screen-meta-links{display:none!important}.yay-ui .\@container\/card-header{container:card-header/inline-size}.yay-ui .pointer-events-none{pointer-events:none}.yay-ui .invisible{visibility:hidden}.yay-ui .visible{visibility:visible}.yay-ui .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.yay-ui .absolute{position:absolute}.yay-ui .fixed{position:fixed}.yay-ui .relative{position:relative}.yay-ui .inset-0{inset:calc(var(--spacing)*0)}.yay-ui .inset-x-0{inset-inline:calc(var(--spacing)*0)}.yay-ui .inset-y-0{inset-block:calc(var(--spacing)*0)}.yay-ui .inset-y-px{inset-block:1px}.yay-ui .start-px{inset-inline-start:1px}.yay-ui .end-px{inset-inline-end:1px}.yay-ui .top-0{top:calc(var(--spacing)*0)}.yay-ui .top-1\/2{top:50%}.yay-ui .top-4{top:calc(var(--spacing)*4)}.yay-ui .top-\[-2px\]{top:-2px}.yay-ui .top-\[7px\]{top:7px}.yay-ui .top-\[32px\]{top:32px}.yay-ui .top-\[45px\]{top:45px}.yay-ui .top-\[50\%\]{top:50%}.yay-ui .top-\[62px\]{top:62px}.yay-ui .right-0{right:calc(var(--spacing)*0)}.yay-ui .right-2{right:calc(var(--spacing)*2)}.yay-ui .right-4{right:calc(var(--spacing)*4)}.yay-ui .bottom-0{bottom:calc(var(--spacing)*0)}.yay-ui .left-0{left:calc(var(--spacing)*0)}.yay-ui .left-1\/2{left:50%}.yay-ui .left-2{left:calc(var(--spacing)*2)}.yay-ui .left-\[5px\]{left:5px}.yay-ui .left-\[50\%\]{left:50%}.yay-ui .z-50{z-index:50}.yay-ui .z-\[9999\]{z-index:9999}.yay-ui .z-\[100001\]{z-index:100001}.yay-ui .z-\[100002\]{z-index:100002}.yay-ui .z-\[999999\]{z-index:999999}.yay-ui .col-start-2{grid-column-start:2}.yay-ui .row-span-2{grid-row:span 2/span 2}.yay-ui .row-start-1{grid-row-start:1}.yay-ui .container{width:100%}@media (min-width:40rem){.yay-ui .container{max-width:40rem}}@media (min-width:48rem){.yay-ui .container{max-width:48rem}}@media (min-width:64rem){.yay-ui .container{max-width:64rem}}@media (min-width:80rem){.yay-ui .container{max-width:80rem}}@media (min-width:96rem){.yay-ui .container{max-width:96rem}}.yay-ui .m-0{margin:calc(var(--spacing)*0)}.yay-ui .-mx-1{margin-inline:calc(var(--spacing)*-1)}.yay-ui .mx-auto{margin-inline:auto}.yay-ui .my-1{margin-block:calc(var(--spacing)*1)}.yay-ui .my-3{margin-block:calc(var(--spacing)*3)}.yay-ui .my-7\.5{margin-block:calc(var(--spacing)*7.5)}.yay-ui .\!mt-1{margin-top:calc(var(--spacing)*1)!important}.yay-ui .mt-0{margin-top:calc(var(--spacing)*0)}.yay-ui .mt-1{margin-top:calc(var(--spacing)*1)}.yay-ui .mt-2{margin-top:calc(var(--spacing)*2)}.yay-ui .mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.yay-ui .mt-3{margin-top:calc(var(--spacing)*3)}.yay-ui .mt-4{margin-top:calc(var(--spacing)*4)}.yay-ui .mt-5{margin-top:calc(var(--spacing)*5)}.yay-ui .mt-6{margin-top:calc(var(--spacing)*6)}.yay-ui .mt-7\.5{margin-top:calc(var(--spacing)*7.5)}.yay-ui .mt-\[84px\]{margin-top:84px}.yay-ui .mt-\[120px\]{margin-top:120px}.yay-ui .mt-auto{margin-top:auto}.yay-ui .mr-0{margin-right:calc(var(--spacing)*0)}.yay-ui .mr-0\.5{margin-right:calc(var(--spacing)*.5)}.yay-ui .mr-1{margin-right:calc(var(--spacing)*1)}.yay-ui .mr-3{margin-right:calc(var(--spacing)*3)}.yay-ui .mr-\[8px\]{margin-right:8px}.yay-ui .mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.yay-ui .mb-1{margin-bottom:calc(var(--spacing)*1)}.yay-ui .mb-2{margin-bottom:calc(var(--spacing)*2)}.yay-ui .mb-3{margin-bottom:calc(var(--spacing)*3)}.yay-ui .mb-4{margin-bottom:calc(var(--spacing)*4)}.yay-ui .mb-10{margin-bottom:calc(var(--spacing)*10)}.yay-ui .-ml-2{margin-left:calc(var(--spacing)*-2)}.yay-ui .ml-1{margin-left:calc(var(--spacing)*1)}.yay-ui .ml-1\.5{margin-left:calc(var(--spacing)*1.5)}.yay-ui .ml-2{margin-left:calc(var(--spacing)*2)}.yay-ui .ml-auto{margin-left:auto}.yay-ui .block{display:block}.yay-ui .flex{display:flex}.yay-ui .grid{display:grid}.yay-ui .hidden{display:none}.yay-ui .inline-block{display:inline-block}.yay-ui .inline-flex{display:inline-flex}.yay-ui .table{display:table}.yay-ui .table-caption{display:table-caption}.yay-ui .table-cell{display:table-cell}.yay-ui .table-row{display:table-row}.yay-ui .field-sizing-content{field-sizing:content}.yay-ui .aspect-square{aspect-ratio:1}.yay-ui .size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.yay-ui .size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.yay-ui .size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.yay-ui .size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.yay-ui .size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.yay-ui .size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.yay-ui .size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.yay-ui .size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.yay-ui .size-\[22px\]{width:22px;height:22px}.yay-ui .size-\[24px\]{width:24px;height:24px}.yay-ui .\!h-9{height:calc(var(--spacing)*9)!important}.yay-ui .\!h-\[30px\]{height:30px!important}.yay-ui .h-3{height:calc(var(--spacing)*3)}.yay-ui .h-4{height:calc(var(--spacing)*4)}.yay-ui .h-5{height:calc(var(--spacing)*5)}.yay-ui .h-6{height:calc(var(--spacing)*6)}.yay-ui .h-6\.5{height:calc(var(--spacing)*6.5)}.yay-ui .h-7{height:calc(var(--spacing)*7)}.yay-ui .h-8{height:calc(var(--spacing)*8)}.yay-ui .h-9{height:calc(var(--spacing)*9)}.yay-ui .h-10{height:calc(var(--spacing)*10)}.yay-ui .h-12\.5{height:calc(var(--spacing)*12.5)}.yay-ui .h-13\.5{height:calc(var(--spacing)*13.5)}.yay-ui .h-24{height:calc(var(--spacing)*24)}.yay-ui .h-25{height:calc(var(--spacing)*25)}.yay-ui .h-\[1\.15rem\]{height:1.15rem}.yay-ui .h-\[15px\]{height:15px}.yay-ui .h-\[18px\]{height:18px}.yay-ui .h-\[50px\]{height:50px}.yay-ui .h-\[54px\]{height:54px}.yay-ui .h-\[56px\]{height:56px}.yay-ui .h-\[100px\]{height:100px}.yay-ui .h-\[108px\]{height:108px}.yay-ui .h-\[150px\]{height:150px}.yay-ui .h-\[200px\]{height:200px}.yay-ui .h-\[210px\]{height:210px}.yay-ui .h-\[calc\(100\%-32px\)\]{height:calc(100% - 32px)}.yay-ui .h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.yay-ui .h-auto{height:auto}.yay-ui .h-full{height:100%}.yay-ui .h-px{height:1px}.yay-ui .max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.yay-ui .max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.yay-ui .max-h-\[300px\]{max-height:300px}.yay-ui .max-h-\[420px\]{max-height:420px}.yay-ui .min-h-9{min-height:calc(var(--spacing)*9)}.yay-ui .min-h-16{min-height:calc(var(--spacing)*16)}.yay-ui .min-h-\[50px\]{min-height:50px}.yay-ui .min-h-\[75px\]{min-height:75px}.yay-ui .w-2\/5{width:40%}.yay-ui .w-3{width:calc(var(--spacing)*3)}.yay-ui .w-3\/4{width:75%}.yay-ui .w-4{width:calc(var(--spacing)*4)}.yay-ui .w-6{width:calc(var(--spacing)*6)}.yay-ui .w-8{width:calc(var(--spacing)*8)}.yay-ui .w-11{width:calc(var(--spacing)*11)}.yay-ui .w-12\.5{width:calc(var(--spacing)*12.5)}.yay-ui .w-13{width:calc(var(--spacing)*13)}.yay-ui .w-72{width:calc(var(--spacing)*72)}.yay-ui .w-\[20px\]{width:20px}.yay-ui .w-\[24px\]{width:24px}.yay-ui .w-\[30\%\]{width:30%}.yay-ui .w-\[40\%\]{width:40%}.yay-ui .w-\[50px\]{width:50px}.yay-ui .w-\[70\%\]{width:70%}.yay-ui .w-\[80px\]{width:80px}.yay-ui .w-\[96px\]{width:96px}.yay-ui .w-\[108px\]{width:108px}.yay-ui .w-\[146px\]{width:146px}.yay-ui .w-\[160px\]{width:160px}.yay-ui .w-\[170px\]{width:170px}.yay-ui .w-\[210px\]{width:210px}.yay-ui .w-\[220px\]{width:220px}.yay-ui .w-\[230px\]{width:230px}.yay-ui .w-\[280px\]{width:280px}.yay-ui .w-\[300px\]{width:300px}.yay-ui .w-\[325px\]{width:325px}.yay-ui .w-\[400px\]{width:400px}.yay-ui .w-\[450px\]{width:450px}.yay-ui .w-fit{width:fit-content}.yay-ui .w-full{width:100%}.yay-ui .max-w-7xl{max-width:var(--container-7xl)}.yay-ui .max-w-\[220px\]{max-width:220px}.yay-ui .max-w-\[230px\]{max-width:230px}.yay-ui .max-w-\[300px\]{max-width:300px}.yay-ui .max-w-\[320px\]{max-width:320px}.yay-ui .max-w-\[350px\]{max-width:350px}.yay-ui .max-w-\[380px\]{max-width:380px}.yay-ui .max-w-\[385px\]{max-width:385px}.yay-ui .max-w-\[400px\]{max-width:400px}.yay-ui .max-w-\[420px\]{max-width:420px}.yay-ui .max-w-\[450px\]{max-width:450px}.yay-ui .max-w-\[1024px\]{max-width:1024px}.yay-ui .max-w-\[1044px\]{max-width:1044px}.yay-ui .max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.yay-ui .max-w-fit{max-width:fit-content}.yay-ui .max-w-full{max-width:100%}.yay-ui .min-w-0{min-width:calc(var(--spacing)*0)}.yay-ui .min-w-8{min-width:calc(var(--spacing)*8)}.yay-ui .min-w-9{min-width:calc(var(--spacing)*9)}.yay-ui .min-w-10{min-width:calc(var(--spacing)*10)}.yay-ui .min-w-\[8rem\]{min-width:8rem}.yay-ui .min-w-\[280px\]{min-width:280px}.yay-ui .min-w-\[320px\]{min-width:320px}.yay-ui .min-w-\[450px\]{min-width:450px}.yay-ui .min-w-\[600px\]{min-width:600px}.yay-ui .min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.yay-ui .flex-1{flex:1}.yay-ui .shrink-0{flex-shrink:0}.yay-ui .caption-bottom{caption-side:bottom}.yay-ui .origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.yay-ui .origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.yay-ui .origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.yay-ui .origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.yay-ui .-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-x-\[-20px\]{--tw-translate-x:-20px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .rotate-45{rotate:45deg}.yay-ui .rotate-180{rotate:180deg}.yay-ui .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.yay-ui .animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .animate-pulse{animation:var(--animate-pulse)}.yay-ui .animate-spin{animation:var(--animate-spin)}.yay-ui .cursor-default{cursor:default}.yay-ui .cursor-grab{cursor:grab}.yay-ui .cursor-help{cursor:help}.yay-ui .cursor-not-allowed{cursor:not-allowed}.yay-ui .cursor-pointer{cursor:pointer}.yay-ui .resize{resize:both}.yay-ui .scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.yay-ui .scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.yay-ui .list-none{list-style-type:none}.yay-ui .\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.yay-ui .auto-rows-min{grid-auto-rows:min-content}.yay-ui .grid-cols-\[2fr_1fr_1fr\]{grid-template-columns:2fr 1fr 1fr}.yay-ui .grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.yay-ui .flex-col{flex-direction:column}.yay-ui .flex-col-reverse{flex-direction:column-reverse}.yay-ui .flex-row{flex-direction:row}.yay-ui .flex-wrap{flex-wrap:wrap}.yay-ui .items-center{align-items:center}.yay-ui .items-end{align-items:flex-end}.yay-ui .items-start{align-items:flex-start}.yay-ui .items-stretch{align-items:stretch}.yay-ui .justify-between{justify-content:space-between}.yay-ui .justify-center{justify-content:center}.yay-ui .justify-start{justify-content:flex-start}.yay-ui .gap-0{gap:calc(var(--spacing)*0)}.yay-ui .gap-1{gap:calc(var(--spacing)*1)}.yay-ui .gap-1\.5{gap:calc(var(--spacing)*1.5)}.yay-ui .gap-2{gap:calc(var(--spacing)*2)}.yay-ui .gap-3{gap:calc(var(--spacing)*3)}.yay-ui .gap-3\.5{gap:calc(var(--spacing)*3.5)}.yay-ui .gap-4{gap:calc(var(--spacing)*4)}.yay-ui .gap-5{gap:calc(var(--spacing)*5)}.yay-ui .gap-6{gap:calc(var(--spacing)*6)}.yay-ui .gap-7{gap:calc(var(--spacing)*7)}.yay-ui .gap-7\.5{gap:calc(var(--spacing)*7.5)}.yay-ui .gap-8{gap:calc(var(--spacing)*8)}.yay-ui .gap-\[5px\]{gap:5px}:where(.yay-ui .space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.yay-ui .space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}.yay-ui .gap-x-\[100px\]{column-gap:100px}.yay-ui .gap-y-5{row-gap:calc(var(--spacing)*5)}:where(.yay-ui .divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.yay-ui .divide-\[\#FAFAFA\]>:not(:last-child)){border-color:#fafafa}:where(.yay-ui .divide-border>:not(:last-child)){border-color:var(--border)}.yay-ui .self-start{align-self:flex-start}.yay-ui .justify-self-end{justify-self:flex-end}.yay-ui .overflow-auto{overflow:auto}.yay-ui .overflow-hidden{overflow:hidden}.yay-ui .overflow-x-auto{overflow-x:auto}.yay-ui .overflow-x-hidden{overflow-x:hidden}.yay-ui .overflow-y-auto{overflow-y:auto}.yay-ui .\!rounded-\[6px\]{border-radius:6px!important}.yay-ui .rounded-\[2px\]{border-radius:2px}.yay-ui .rounded-\[4px\]{border-radius:4px}.yay-ui .rounded-\[8px\]{border-radius:8px}.yay-ui .rounded-\[100px\]{border-radius:100px}.yay-ui .rounded-full{border-radius:3.40282e38px}.yay-ui .rounded-lg{border-radius:var(--radius)}.yay-ui .rounded-md{border-radius:calc(var(--radius) - 2px)}.yay-ui .rounded-none{border-radius:0}.yay-ui .rounded-sm{border-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-xl{border-radius:calc(var(--radius) + 4px)}.yay-ui .rounded-s-sm{border-start-start-radius:calc(var(--radius) - 4px);border-end-start-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-e-sm{border-start-end-radius:calc(var(--radius) - 4px);border-end-end-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.yay-ui .rounded-r-sm{border-top-right-radius:calc(var(--radius) - 4px);border-bottom-right-radius:calc(var(--radius) - 4px)}.yay-ui .rounded-tr-none{border-top-right-radius:0}.yay-ui .rounded-br-none{border-bottom-right-radius:0}.yay-ui .border{border-style:var(--tw-border-style);border-width:1px}.yay-ui .border-2{border-style:var(--tw-border-style);border-width:2px}.yay-ui .border-4{border-style:var(--tw-border-style);border-width:4px}.yay-ui .border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.yay-ui .border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.yay-ui .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.yay-ui .border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.yay-ui .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yay-ui .border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.yay-ui .border-b-3,.yay-ui .border-b-\[3px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:3px}.yay-ui .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.yay-ui .border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.yay-ui .\!border-none{--tw-border-style:none!important;border-style:none!important}.yay-ui .border-none{--tw-border-style:none;border-style:none}.yay-ui .border-solid{--tw-border-style:solid;border-style:solid}.yay-ui .border-\[\#739149\]{border-color:#739149}.yay-ui .border-\[\#E4E4E7\]{border-color:#e4e4e7}.yay-ui .border-border{border-color:var(--border)}.yay-ui .border-destructive{border-color:var(--destructive)}.yay-ui .border-input{border-color:var(--input)}.yay-ui .border-primary{border-color:var(--primary)}.yay-ui .border-success{border-color:var(--success)}.yay-ui .border-transparent{border-color:#0000}.yay-ui .border-warning{border-color:var(--warning)}.yay-ui .border-t-transparent{border-top-color:#0000}.yay-ui .border-l-primary{border-left-color:var(--primary)}.yay-ui .\!bg-muted{background-color:var(--muted)!important}.yay-ui .\!bg-transparent{background-color:#0000!important}.yay-ui .bg-\[\#81b536\]{background-color:#81b536}.yay-ui .bg-\[\#333333\]{background-color:#333}.yay-ui .bg-\[\#F3F4FA\]{background-color:#f3f4fa}.yay-ui .bg-\[\#F4F4F5\]{background-color:#f4f4f5}.yay-ui .bg-\[\#F5F5F5\]{background-color:#f5f5f5}.yay-ui .bg-\[\#FAFAFA\]{background-color:#fafafa}.yay-ui .bg-\[\#FFF5DB\]{background-color:#fff5db}.yay-ui .bg-\[\#f9f9f9\]{background-color:#f9f9f9}.yay-ui .bg-background{background-color:var(--background)}.yay-ui .bg-black\/50{background-color:oklab(0% none none/.5)}.yay-ui .bg-border{background-color:var(--border)}.yay-ui .bg-card{background-color:var(--card)}.yay-ui .bg-destructive,.yay-ui .bg-destructive\/6{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-destructive\/6{background-color:color-mix(in oklab,var(--destructive)6%,transparent)}}.yay-ui .bg-foreground{background-color:var(--foreground)}.yay-ui .bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-input\/30{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .bg-muted,.yay-ui .bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.yay-ui .bg-popover{background-color:var(--popover)}.yay-ui .bg-primary,.yay-ui .bg-primary\/6{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-primary\/6{background-color:color-mix(in oklab,var(--primary)6%,transparent)}}.yay-ui .bg-success,.yay-ui .bg-success\/6{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-success\/6{background-color:color-mix(in oklab,var(--success)6%,transparent)}}.yay-ui .bg-transparent{background-color:#0000}.yay-ui .bg-warning,.yay-ui .bg-warning\/6{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.yay-ui .bg-warning\/6{background-color:color-mix(in oklab,var(--warning)6%,transparent)}}.yay-ui .bg-white{background-color:#fff}.yay-ui .bg-white\/50{background-color:#ffffff80}.yay-ui .bg-contain{background-size:contain}.yay-ui .bg-center{background-position:50%}.yay-ui .bg-no-repeat{background-repeat:no-repeat}.yay-ui .fill-current{fill:currentColor}.yay-ui .fill-foreground{fill:var(--foreground)}.yay-ui .stroke-\[2\.5\]{stroke-width:2.5px}.yay-ui .object-cover{object-fit:cover}.yay-ui .object-center{object-position:center}.yay-ui .p-0{padding:calc(var(--spacing)*0)}.yay-ui .p-1{padding:calc(var(--spacing)*1)}.yay-ui .p-2{padding:calc(var(--spacing)*2)}.yay-ui .p-3{padding:calc(var(--spacing)*3)}.yay-ui .p-4{padding:calc(var(--spacing)*4)}.yay-ui .p-6{padding:calc(var(--spacing)*6)}.yay-ui .p-7\.5{padding:calc(var(--spacing)*7.5)}.yay-ui .p-\[3px\]{padding:3px}.yay-ui .p-\[4px\]{padding:4px}.yay-ui .p-\[5px\]{padding:5px}.yay-ui .px-0{padding-inline:calc(var(--spacing)*0)}.yay-ui .px-1{padding-inline:calc(var(--spacing)*1)}.yay-ui .px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.yay-ui .px-2{padding-inline:calc(var(--spacing)*2)}.yay-ui .px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.yay-ui .px-3{padding-inline:calc(var(--spacing)*3)}.yay-ui .px-4{padding-inline:calc(var(--spacing)*4)}.yay-ui .px-6{padding-inline:calc(var(--spacing)*6)}.yay-ui .px-7\.5{padding-inline:calc(var(--spacing)*7.5)}.yay-ui .px-\[3px\]{padding-inline:3px}.yay-ui .px-\[6px\]{padding-inline:6px}.yay-ui .px-\[12px\]{padding-inline:12px}.yay-ui .px-\[15px\]{padding-inline:15px}.yay-ui .\!py-0{padding-block:calc(var(--spacing)*0)!important}.yay-ui .py-0{padding-block:calc(var(--spacing)*0)}.yay-ui .py-0\.5{padding-block:calc(var(--spacing)*.5)}.yay-ui .py-1{padding-block:calc(var(--spacing)*1)}.yay-ui .py-1\.5{padding-block:calc(var(--spacing)*1.5)}.yay-ui .py-2{padding-block:calc(var(--spacing)*2)}.yay-ui .py-2\.5{padding-block:calc(var(--spacing)*2.5)}.yay-ui .py-3{padding-block:calc(var(--spacing)*3)}.yay-ui .py-5{padding-block:calc(var(--spacing)*5)}.yay-ui .py-6{padding-block:calc(var(--spacing)*6)}.yay-ui .py-7\.5{padding-block:calc(var(--spacing)*7.5)}.yay-ui .py-\[8px\]{padding-block:8px}.yay-ui .py-\[9px\]{padding-block:9px}.yay-ui .pt-0{padding-top:calc(var(--spacing)*0)}.yay-ui .pt-1{padding-top:calc(var(--spacing)*1)}.yay-ui .pt-\[3px\]{padding-top:3px}.yay-ui .pt-\[50px\]{padding-top:50px}.yay-ui .pr-0{padding-right:calc(var(--spacing)*0)}.yay-ui .pr-2{padding-right:calc(var(--spacing)*2)}.yay-ui .pr-3{padding-right:calc(var(--spacing)*3)}.yay-ui .pr-8{padding-right:calc(var(--spacing)*8)}.yay-ui .pr-\[7px\]{padding-right:7px}.yay-ui .pb-2{padding-bottom:calc(var(--spacing)*2)}.yay-ui .pl-2{padding-left:calc(var(--spacing)*2)}.yay-ui .pl-3{padding-left:calc(var(--spacing)*3)}.yay-ui .pl-8{padding-left:calc(var(--spacing)*8)}.yay-ui .text-center{text-align:center}.yay-ui .text-left{text-align:left}.yay-ui .text-right{text-align:right}.yay-ui .align-middle{vertical-align:middle}.yay-ui .\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.yay-ui .text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.yay-ui .text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.yay-ui .text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.yay-ui .text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.yay-ui .text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.yay-ui .text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.yay-ui .text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.yay-ui .leading-none{--tw-leading:1;line-height:1}.yay-ui .\!font-bold{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.yay-ui .\!font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.yay-ui .font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.yay-ui .font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.yay-ui .font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.yay-ui .font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.yay-ui .tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.yay-ui .text-balance{text-wrap:balance}.yay-ui .text-ellipsis{text-overflow:ellipsis}.yay-ui .whitespace-nowrap{white-space:nowrap}.yay-ui .\!text-primary{color:var(--primary)!important}.yay-ui .\!text-white{color:#fff!important}.yay-ui .text-\[\#1D2327\]{color:#1d2327}.yay-ui .text-\[\#7B7C80\]{color:#7b7c80}.yay-ui .text-\[\#86889A\]{color:#86889a}.yay-ui .text-\[\#495057\]{color:#495057}.yay-ui .text-\[\#A0A0A7\]{color:#a0a0a7}.yay-ui .text-\[\#C7C7CA\]{color:#c7c7ca}.yay-ui .text-background{color:var(--background)}.yay-ui .text-card-foreground{color:var(--card-foreground)}.yay-ui .text-current{color:currentColor}.yay-ui .text-destructive{color:var(--destructive)}.yay-ui .text-destructive-foreground{color:var(--destructive-foreground)}.yay-ui .text-foreground{color:var(--foreground)}.yay-ui .text-inherit{color:inherit}.yay-ui .text-muted-foreground{color:var(--muted-foreground)}.yay-ui .text-popover-foreground{color:var(--popover-foreground)}.yay-ui .text-primary{color:var(--primary)}.yay-ui .text-primary-foreground{color:var(--primary-foreground)}.yay-ui .text-success{color:var(--success)}.yay-ui .text-success-foreground{color:var(--success-foreground)}.yay-ui .text-warning{color:var(--warning)}.yay-ui .text-warning-foreground{color:var(--warning-foreground)}.yay-ui .text-white{color:#fff}.yay-ui .italic{font-style:italic}.yay-ui .underline{text-decoration-line:underline}.yay-ui .decoration-muted-foreground{-webkit-text-decoration-color:var(--muted-foreground);text-decoration-color:var(--muted-foreground)}.yay-ui .decoration-dotted{text-decoration-style:dotted}.yay-ui .underline-offset-1{text-underline-offset:1px}.yay-ui .underline-offset-4{text-underline-offset:4px}.yay-ui .opacity-0{opacity:0}.yay-ui .opacity-25{opacity:.25}.yay-ui .opacity-50{opacity:.5}.yay-ui .opacity-70{opacity:.7}.yay-ui .opacity-100{opacity:1}.yay-ui .shadow-\[0_8px_8px_0_rgba\(85\,93\,102\,0\.3\)\]{--tw-shadow:0 8px 8px 0 var(--tw-shadow-color,#555d664d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-\[0px_1px_2px_0px_\#0000000D\]{--tw-shadow:0px 1px 2px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .ring-destructive,.yay-ui .ring-destructive\/50{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-destructive\/50{--tw-ring-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.yay-ui .ring-success,.yay-ui .ring-success\/50{--tw-ring-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-success\/50{--tw-ring-color:color-mix(in oklab,var(--success)50%,transparent)}}.yay-ui .ring-warning,.yay-ui .ring-warning\/50{--tw-ring-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.yay-ui .ring-warning\/50{--tw-ring-color:color-mix(in oklab,var(--warning)50%,transparent)}}.yay-ui .ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .ring-offset-background{--tw-ring-offset-color:var(--background)}.yay-ui .outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yay-ui .outline-hidden{outline-offset:2px;outline:2px solid #0000}}.yay-ui .outline{outline-style:var(--tw-outline-style);outline-width:1px}.yay-ui .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,)}.yay-ui .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.yay-ui .transition-none{transition-property:none}.yay-ui .duration-200{--tw-duration:.2s;transition-duration:.2s}.yay-ui .duration-300{--tw-duration:.3s;transition-duration:.3s}.yay-ui .duration-500{--tw-duration:.5s;transition-duration:.5s}.yay-ui .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.yay-ui .fade-in-0{--tw-enter-opacity:0}.yay-ui .outline-none{--tw-outline-style:none;outline-style:none}.yay-ui .select-all{-webkit-user-select:all;user-select:all}.yay-ui .select-none{-webkit-user-select:none;user-select:none}.yay-ui .zoom-in-95{--tw-enter-scale:.95}@media (hover:hover){.yay-ui .group-hover\:\!bg-white:is(:where(.group):hover *){background-color:#fff!important}.yay-ui .group-hover\:text-accent-foreground:is(:where(.group):hover *){color:var(--accent-foreground)}.yay-ui .group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.yay-ui .group-hover\/input-number\:opacity-100:is(:where(.group\/input-number):hover *){opacity:1}}.yay-ui .group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.yay-ui .group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.yay-ui .peer-focus\/input-number-input\:opacity-100:is(:where(.peer\/input-number-input):focus~*){opacity:1}.yay-ui .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.yay-ui .peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.yay-ui .peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.yay-ui .selection\:bg-primary ::selection{background-color:var(--primary)}.yay-ui .selection\:bg-primary::selection{background-color:var(--primary)}.yay-ui .selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.yay-ui .selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.yay-ui .file\:inline-flex::file-selector-button{display:inline-flex}.yay-ui .file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.yay-ui .file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.yay-ui .file\:bg-transparent::file-selector-button{background-color:#0000}.yay-ui .file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.yay-ui .file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .file\:text-foreground::file-selector-button{color:var(--foreground)}.yay-ui .placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.yay-ui .first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.yay-ui .last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}@media (hover:hover){.yay-ui .hover\:cursor-pointer:hover{cursor:pointer}.yay-ui .hover\:border-\[\#D4D4D4\]:hover{border-color:#d4d4d4}.yay-ui .hover\:border-destructive-accent:hover{border-color:var(--destructive-accent)}.yay-ui .hover\:border-foreground:hover{border-color:var(--foreground)}.yay-ui .hover\:border-input:hover{border-color:var(--input)}.yay-ui .hover\:border-primary-accent:hover{border-color:var(--primary-accent)}.yay-ui .hover\:border-ring:hover{border-color:var(--ring)}.yay-ui .hover\:border-success-accent:hover{border-color:var(--success-accent)}.yay-ui .hover\:border-warning-accent:hover{border-color:var(--warning-accent)}.yay-ui .hover\:bg-\[\#73a827\]:hover{background-color:#73a827}.yay-ui .hover\:bg-\[\#F2F5F9\]:hover{background-color:#f2f5f9}.yay-ui .hover\:bg-\[\#FAFAFA\]:hover{background-color:#fafafa}.yay-ui .hover\:bg-accent:hover{background-color:var(--accent)}.yay-ui .hover\:bg-destructive-accent:hover{background-color:var(--destructive-accent)}.yay-ui .hover\:bg-muted:hover,.yay-ui .hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.yay-ui .hover\:bg-primary-accent:hover{background-color:var(--primary-accent)}.yay-ui .hover\:bg-success-accent:hover{background-color:var(--success-accent)}.yay-ui .hover\:bg-transparent:hover{background-color:#0000}.yay-ui .hover\:bg-warning-accent:hover{background-color:var(--warning-accent)}.yay-ui .hover\:text-\[\#1b5f97\]:hover{color:#1b5f97}.yay-ui .hover\:text-\[\#86889A\]:hover{color:#86889a}.yay-ui .hover\:text-\[\#171719\]:hover{color:#171719}.yay-ui .hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.yay-ui .hover\:text-background:hover{color:var(--background)}.yay-ui .hover\:text-destructive:hover{color:var(--destructive)}.yay-ui .hover\:text-destructive-accent:hover{color:var(--destructive-accent)}.yay-ui .hover\:text-foreground:hover{color:var(--foreground)}.yay-ui .hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.yay-ui .hover\:text-primary:hover{color:var(--primary)}.yay-ui .hover\:text-primary-accent:hover{color:var(--primary-accent)}.yay-ui .hover\:text-success-accent:hover{color:var(--success-accent)}.yay-ui .hover\:text-warning-accent:hover{color:var(--warning-accent)}.yay-ui .hover\:underline:hover{text-decoration-line:underline}.yay-ui .hover\:opacity-100:hover{opacity:1}.yay-ui .hover\:ring-destructive-accent:hover,.yay-ui .hover\:ring-destructive-accent\/50:hover{--tw-ring-color:var(--destructive-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-destructive-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--destructive-accent)50%,transparent)}}.yay-ui .hover\:ring-success-accent:hover,.yay-ui .hover\:ring-success-accent\/50:hover{--tw-ring-color:var(--success-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-success-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--success-accent)50%,transparent)}}.yay-ui .hover\:ring-warning-accent:hover,.yay-ui .hover\:ring-warning-accent\/50:hover{--tw-ring-color:var(--warning-accent)}@supports (color:color-mix(in lab,red,red)){.yay-ui .hover\:ring-warning-accent\/50:hover{--tw-ring-color:color-mix(in oklab,var(--warning-accent)50%,transparent)}}}.yay-ui .focus\:z-10:focus{z-index:10}.yay-ui .focus\:\!border-input:focus{border-color:var(--input)!important}.yay-ui .focus\:border-foreground:focus{border-color:var(--foreground)}.yay-ui .focus\:bg-accent:focus{background-color:var(--accent)}.yay-ui .focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.yay-ui .focus\:\!shadow-none:focus{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .focus\:shadow-none:focus{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus\:ring-primary:focus{--tw-ring-color:var(--primary)}.yay-ui .focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.yay-ui .focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.yay-ui .focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.yay-ui .focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.yay-ui .focus-visible\:z-10:focus-visible{z-index:10}.yay-ui .focus-visible\:\!border-input:focus-visible{border-color:var(--input)!important}.yay-ui .focus-visible\:border-foreground:focus-visible{border-color:var(--foreground)}.yay-ui .focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.yay-ui .focus-visible\:text-primary:focus-visible{color:var(--primary)}.yay-ui .focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-\[1\.5px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1.5px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.yay-ui .focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.yay-ui .focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.yay-ui .focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.yay-ui .focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}@media (hover:hover){.yay-ui .focus-visible\:hover\:border-accent-foreground:focus-visible:hover{border-color:var(--accent-foreground)}.yay-ui .focus-visible\:hover\:border-ring-accent:focus-visible:hover{border-color:var(--ring-accent)}}.yay-ui .active\:\!border-input:active{border-color:var(--input)!important}.yay-ui .disabled\:pointer-events-none:disabled{pointer-events:none}.yay-ui .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.yay-ui .disabled\:border-input:disabled{border-color:var(--input)}.yay-ui .disabled\:bg-\[\#f2f5f9\]:disabled{background-color:#f2f5f9}.yay-ui .disabled\:opacity-50:disabled{opacity:.5}.yay-ui .disabled\:opacity-60:disabled{opacity:.6}.yay-ui .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.yay-ui .has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.yay-ui .has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.yay-ui .has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.yay-ui .aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.yay-ui .aria-invalid\:ring-destructive[aria-invalid=true],.yay-ui .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.yay-ui .data-\[active\=true\]\:border-primary[data-active=true]{border-color:var(--primary)}.yay-ui .data-\[active\=true\]\:bg-background[data-active=true]{background-color:var(--background)}.yay-ui .data-\[active\=true\]\:text-primary[data-active=true]{color:var(--primary)}@media (hover:hover){.yay-ui .data-\[active\=true\]\:hover\:border-primary-accent[data-active=true]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[active\=true\]\:hover\:text-primary-accent[data-active=true]:hover{color:var(--primary-accent)}}.yay-ui .data-\[active\=true\]\:focus-visible\:border-primary-accent[data-active=true]:focus-visible{border-color:var(--primary-accent)}.yay-ui .data-\[active\=true\]\:focus-visible\:text-primary-accent[data-active=true]:focus-visible{color:var(--primary-accent)}.yay-ui .data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.yay-ui .data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.yay-ui .data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.yay-ui .data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.yay-ui .data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.yay-ui .data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.yay-ui .data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.yay-ui .data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.yay-ui .data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.yay-ui .data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.yay-ui .data-\[partial\=true\]\:border-primary[data-partial=true]{border-color:var(--primary)}.yay-ui .data-\[partial\=true\]\:bg-primary[data-partial=true]{background-color:var(--primary)}.yay-ui .data-\[partial\=true\]\:text-primary-foreground[data-partial=true]{color:var(--primary-foreground)}.yay-ui .data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.yay-ui .data-\[selected\=true\]\:border-primary[data-selected=true]{border-color:var(--primary)}.yay-ui .data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.yay-ui .data-\[selected\=true\]\:bg-primary[data-selected=true]{background-color:var(--primary)}.yay-ui .data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.yay-ui .data-\[selected\=true\]\:text-primary-foreground[data-selected=true]{color:var(--primary-foreground)}.yay-ui .data-\[shape\=custom\]\:w-\[120px\][data-shape=custom]{width:120px}.yay-ui .data-\[shape\=custom\]\:rounded-sm[data-shape=custom]{border-radius:calc(var(--radius) - 4px)}.yay-ui .data-\[shape\=default\]\:rounded-\[100px\][data-shape=default]{border-radius:100px}.yay-ui .data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.yay-ui .data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.yay-ui .data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.yay-ui .data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.yay-ui .data-\[size\=default\]\:size-5[data-size=default]{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.yay-ui .data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.yay-ui .data-\[size\=lg\]\:size-6[data-size=lg]{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.yay-ui .data-\[size\=sm\]\:size-3\.5[data-size=sm]{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.yay-ui .data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.yay-ui .\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.yay-ui .\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.yay-ui .data-\[state\=active\]\:border-primary[data-state=active]{border-color:var(--primary)}.yay-ui .data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.yay-ui .data-\[state\=active\]\:text-primary[data-state=active]{color:var(--primary)}.yay-ui .data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.yay-ui .data-\[state\=active\]\:hover\:border-primary-accent[data-state=active]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[state\=active\]\:hover\:text-primary-accent[data-state=active]:hover{color:var(--primary-accent)}}.yay-ui .data-\[state\=active\]\:focus-visible\:border-primary-accent[data-state=active]:focus-visible{border-color:var(--primary-accent)}.yay-ui .data-\[state\=active\]\:focus-visible\:text-primary-accent[data-state=active]:focus-visible{color:var(--primary-accent)}.yay-ui .data-\[state\=checked\]\:translate-x-full[data-state=checked]{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.yay-ui .data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.yay-ui .data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}@media (hover:hover){.yay-ui .data-\[state\=checked\]\:hover\:border-primary-accent[data-state=checked]:hover{border-color:var(--primary-accent)}.yay-ui .data-\[state\=checked\]\:hover\:bg-primary-accent[data-state=checked]:hover{background-color:var(--primary-accent)}}.yay-ui .data-\[state\=checked\]\:disabled\:opacity-60[data-state=checked]:disabled{opacity:.6}.yay-ui .data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.yay-ui .data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.yay-ui .data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.yay-ui .data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.yay-ui .data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.yay-ui .data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.yay-ui .data-\[state\=on\]\:bg-background[data-state=on]{background-color:var(--background)}.yay-ui .data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.yay-ui .data-\[state\=on\]\:text-foreground[data-state=on]{color:var(--foreground)}.yay-ui .data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .data-\[state\=open\]\:border-foreground[data-state=open]{border-color:var(--foreground)}.yay-ui .data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.yay-ui .data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.yay-ui .data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.yay-ui .data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.yay-ui .data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.yay-ui .data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.yay-ui .data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.yay-ui .data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.yay-ui .data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.yay-ui .data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.yay-ui .data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.yay-ui .data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (hover:hover){.yay-ui .data-\[state\=unchecked\]\:hover\:bg-input-accent[data-state=unchecked]:hover{background-color:var(--input-accent)}}.yay-ui .data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.yay-ui .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.yay-ui .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.yay-ui .data-\[variant\=outline\]\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.yay-ui .data-\[variant\=outline\]\:shadow-xs[data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.yay-ui .data-\[variant\=outline\]\:first\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}@media (min-width:40rem){.yay-ui .sm\:top-\[45px\]{top:45px}.yay-ui .sm\:block{display:block}.yay-ui .sm\:inline{display:inline}.yay-ui .sm\:inline-block{display:inline-block}.yay-ui .sm\:size-\[18px\]{width:18px;height:18px}.yay-ui .sm\:size-\[20px\]{width:20px;height:20px}.yay-ui .sm\:max-w-\[545px\]{max-width:545px}.yay-ui .sm\:max-w-\[900px\]{max-width:900px}.yay-ui .sm\:max-w-lg{max-width:var(--container-lg)}.yay-ui .sm\:max-w-sm{max-width:var(--container-sm)}.yay-ui .sm\:flex-col{flex-direction:column}.yay-ui .sm\:flex-row{flex-direction:row}.yay-ui .sm\:justify-end{justify-content:flex-end}.yay-ui .sm\:pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.yay-ui .sm\:pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.yay-ui .sm\:pl-2\.5{padding-left:calc(var(--spacing)*2.5)}.yay-ui .sm\:text-left{text-align:left}.yay-ui .sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.yay-ui .sm\:text-\[40px\]{font-size:40px}}@media (min-width:48rem){.yay-ui .md\:top-3{top:calc(var(--spacing)*3)}.yay-ui .md\:top-8{top:calc(var(--spacing)*8)}.yay-ui .md\:top-\[95px\]{top:95px}.yay-ui .md\:left-\[210px\]{left:210px}.yay-ui .md\:h-\[356px\]{height:356px}.yay-ui .md\:w-\[250px\]{width:250px}.yay-ui .md\:w-\[290px\]{width:290px}.yay-ui .md\:w-\[300px\]{width:300px}.yay-ui .md\:w-\[500px\]{width:500px}.yay-ui .md\:min-w-\[450px\]{min-width:450px}.yay-ui .md\:min-w-\[460px\]{min-width:460px}.yay-ui .md\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .md\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .md\:flex-col{flex-direction:column}.yay-ui .md\:flex-row{flex-direction:row}.yay-ui .md\:justify-between{justify-content:space-between}.yay-ui .md\:gap-5{gap:calc(var(--spacing)*5)}.yay-ui .md\:gap-\[46px\]{gap:46px}.yay-ui .md\:pt-0{padding-top:calc(var(--spacing)*0)}.yay-ui .md\:pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.yay-ui .md\:pr-6{padding-right:calc(var(--spacing)*6)}.yay-ui .md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.yay-ui .lg\:left-40{left:calc(var(--spacing)*40)}.yay-ui .lg\:w-\[calc\(100\%-160px\)\]{width:calc(100% - 160px)}.yay-ui .lg\:max-w-\[560px\]{max-width:560px}.yay-ui .lg\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.yay-ui .lg\:flex-row{flex-direction:row}.yay-ui .lg\:items-start{align-items:flex-start}.yay-ui .lg\:items-stretch{align-items:stretch}.yay-ui .lg\:justify-start{justify-content:flex-start}.yay-ui .lg\:p-12\.5{padding:calc(var(--spacing)*12.5)}.yay-ui .lg\:px-12\.5{padding-inline:calc(var(--spacing)*12.5)}.yay-ui .lg\:px-\[100px\]{padding-inline:100px}.yay-ui .lg\:py-12\.5{padding-block:calc(var(--spacing)*12.5)}.yay-ui .lg\:py-15{padding-block:calc(var(--spacing)*15)}.yay-ui .lg\:text-start{text-align:start}}@media (min-width:80rem){.yay-ui .xl\:w-1\/2{width:50%}.yay-ui .xl\:w-2\/3{width:66.6667%}.yay-ui .xl\:w-\[320px\]{width:320px}.yay-ui .xl\:w-\[370px\]{width:370px}.yay-ui .xl\:w-\[460px\]{width:460px}.yay-ui .xl\:w-full{width:100%}.yay-ui .xl\:max-w-\[242px\]{max-width:242px}.yay-ui .xl\:translate-x-\[-45px\]{--tw-translate-x:-45px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:translate-x-\[40px\]{--tw-translate-x:40px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:translate-x-\[60px\]{--tw-translate-x:60px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .xl\:flex-row{flex-direction:row}.yay-ui .xl\:gap-30{gap:calc(var(--spacing)*30)}}@media (min-width:96rem){.yay-ui .\32xl\:w-\[350px\]{width:350px}.yay-ui .\32xl\:w-\[390px\]{width:390px}.yay-ui .\32xl\:w-\[450px\]{width:450px}.yay-ui .\32xl\:max-w-\[270px\]{max-width:270px}.yay-ui .\32xl\:translate-x-\[-51px\]{--tw-translate-x:-51px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\32xl\:translate-x-\[30px\]{--tw-translate-x:30px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\32xl\:translate-x-\[45px\]{--tw-translate-x:45px;translate:var(--tw-translate-x)var(--tw-translate-y)}}.yay-ui .dark\:border-input:is(.dark *){border-color:var(--input)}.yay-ui .dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.yay-ui .dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.yay-ui .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.yay-ui .dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.yay-ui .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.yay-ui .dark\:data-\[state\=checked\]\:border-primary:is(.dark *)[data-state=checked]{border-color:var(--primary)}.yay-ui .dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.yay-ui .dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.yay-ui .dark\:data-\[state\=on\]\:border-input:is(.dark *)[data-state=on]{border-color:var(--input)}.yay-ui .dark\:data-\[state\=on\]\:bg-input\/30:is(.dark *)[data-state=on]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=on\]\:bg-input\/30:is(.dark *)[data-state=on]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.yay-ui .dark\:data-\[state\=on\]\:text-foreground:is(.dark *)[data-state=on]{color:var(--foreground)}.yay-ui .dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.yay-ui .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.yay-ui .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.yay-ui .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.yay-ui .\[\&_\.iris-picker\]\:\!border-0 .iris-picker{border-style:var(--tw-border-style)!important;border-width:0!important}.yay-ui .\[\&_\.wp-color-result\]\:\!m-0 .wp-color-result{margin:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!h-9 .wp-color-result{height:calc(var(--spacing)*9)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!overflow-hidden .wp-color-result{overflow:hidden!important}.yay-ui .\[\&_\.wp-color-result\]\:\!rounded-md .wp-color-result{border-radius:calc(var(--radius) - 2px)!important}.yay-ui .\[\&_\.wp-color-result\]\:\!border-input .wp-color-result{border-color:var(--input)!important}.yay-ui .\[\&_\.wp-color-result-text\]\:\!py-\[3px\] .wp-color-result-text{padding-block:3px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!absolute .wp-picker-holder{position:absolute!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!z-999 .wp-picker-holder{z-index:999!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!mt-\[47px\] .wp-picker-holder{margin-top:47px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!ml-0 .wp-picker-holder{margin-left:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-holder\]\:\!w-\[250px\] .wp-picker-holder{width:250px!important}.yay-ui .\[\&_\.wp-picker-holder\]\:animate-in .wp-picker-holder{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .\[\&_\.wp-picker-holder\]\:\!shadow-sm .wp-picker-holder{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!absolute .wp-picker-input-wrap{position:absolute!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!z-999 .wp-picker-input-wrap{z-index:999!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!m-0 .wp-picker-input-wrap{margin:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!mt-2 .wp-picker-input-wrap{margin-top:calc(var(--spacing)*2)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!ml-0 .wp-picker-input-wrap{margin-left:calc(var(--spacing)*0)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!block .wp-picker-input-wrap{display:block!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!w-\[250px\] .wp-picker-input-wrap{width:250px!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:animate-in .wp-picker-input-wrap{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!rounded-t-none .wp-picker-input-wrap{border-top-left-radius:0!important;border-top-right-radius:0!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!border-t-0 .wp-picker-input-wrap{border-top-style:var(--tw-border-style)!important;border-top-width:0!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!bg-white .wp-picker-input-wrap{background-color:#fff!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!p-2 .wp-picker-input-wrap{padding:calc(var(--spacing)*2)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\]\:\!shadow-sm .wp-picker-input-wrap{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.yay-ui .\[\&_\.wp-picker-input-wrap\.hidden\]\:\!hidden .wp-picker-input-wrap.hidden{display:none!important}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.yay-ui .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.yay-ui .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.yay-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.yay-ui .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.yay-ui .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.yay-ui .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.yay-ui .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.yay-ui .\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.yay-ui .\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.yay-ui .\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.yay-ui .\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:transition-colors svg:not([class*=text-]){transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.yay-ui .hover\:\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-foreground:hover svg:not([class*=text-]){color:var(--foreground)}}.yay-ui .data-\[state\=open\]\:\[\&_svg\:not\(\[class\*\=\"text-\"\]\)\]\:text-foreground[data-state=open] svg:not([class*=text-]){color:var(--foreground)}.yay-ui .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.yay-ui .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.yay-ui .\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.yay-ui .\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.yay-ui .\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.yay-ui .\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.yay-ui .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.yay-ui .\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.yay-ui .\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.yay-ui .\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.yay-ui .\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.yay-ui .\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.yay-ui .\*\:\[svg\]\:opacity-0>*):is(svg){opacity:0}:is(.yay-ui .data-\[partial\=true\]\:\*\:\[svg\]\:opacity-100[data-partial=true]>*):is(svg),:is(.yay-ui .data-\[selected\=true\]\:\*\:\[svg\]\:opacity-100[data-selected=true]>*):is(svg){opacity:1}:is(.yay-ui .data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.yay-ui .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}.yay-ui .\[\&\>svg\]\:pointer-events-auto>svg{pointer-events:auto}.yay-ui .\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.yay-ui .\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.yay-ui .\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} @@ -1,103 +1,199 @@ <?php +/** + * Currency Switcher Gutenberg Block for YayCurrency + */ -use Yay_Currency\Helpers\YayCurrencyHelper; use Yay_Currency\Helpers\Helper; defined( 'ABSPATH' ) || exit; /** - * Registers all block assets so that they can be enqueued through Gutenberg in - * the corresponding context. - * - * Passes translations to JavaScript. + * Detect if current request is background or automated (E2E, REST, AJAX, etc.) */ -function yaycurrency_currency_switcher_register_block() { +function yaycurrency_is_background_or_e2e() { + + // REST API, AJAX, CRON, WP-CLI → skip heavy editor loading + if ( ( defined( 'REST_REQUEST' ) && REST_REQUEST ) + || wp_doing_ajax() + || ( defined( 'DOING_CRON' ) && DOING_CRON ) + || ( defined( 'WP_CLI' ) && WP_CLI ) + ) { + // error_log( 'E2E/background request detected: REST/AJAX/CRON/CLI' ); + return true; + } + + // Localhost test environments (common in Woo E2E, wp-env, Playwright) + if ( isset( $_SERVER['HTTP_HOST'] ) && preg_match( '/(localhost|127\.0\.0\.1|wp-env)/', sanitize_text_field( $_SERVER['HTTP_HOST'] ) ) ) { + // error_log( 'E2E/background request detected: Localhost environment' ); + return true; + } + + // User-Agent heuristic (Playwright / Puppeteer / Cypress / Woo E2E) + if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) { + $ua = strtolower( sanitize_text_field( $_SERVER['HTTP_USER_AGENT'] ) ); + $patterns = [ + 'playwright', + 'puppeteer', + 'cypress', + 'woocommerce e2e', + 'wp-env', + 'node/', + 'postman', + 'curl', + 'insomnia', + 'axios', + ]; + foreach ( $patterns as $keyword ) { + if ( strpos( $ua, $keyword ) !== false ) { + // error_log( "E2E/background request detected: UA contains '{$keyword}'" ); + return true; + } + } + } + + // Common REST route used by E2E: creating posts/pages + return false; +} + +/** + * Shared block attributes + */ +function yaycurrency_get_block_attributes() { + return array( + 'currencyName' => array( + 'type' => 'string', + 'default' => 'United States dollar', + ), + 'currencySymbol' => array( + 'type' => 'string', + 'default' => '($)', + ), + 'hyphen' => array( + 'type' => 'string', + 'default' => ' - ', + ), + 'currencyCode' => array( + 'type' => 'string', + 'default' => 'USD', + ), + 'isShowFlag' => array( + 'type' => 'boolean', + 'default' => true, + ), + 'isShowCurrencyName' => array( + 'type' => 'boolean', + 'default' => true, + ), + 'isShowCurrencySymbol' => array( + 'type' => 'boolean', + 'default' => true, + ), + 'isShowCurrencyCode' => array( + 'type' => 'boolean', + 'default' => true, + ), + 'widgetSize' => array( + 'type' => 'string', + 'default' => 'small', + ), + ); +} + +/** + * Register the Currency Switcher Gutenberg block. + */ +function yaycurrency_register_currency_switcher_block() { + $block_name = 'yay-currency/currency-switcher'; + $attributes = yaycurrency_get_block_attributes(); + + // Case 1: E2E or background → Register lightweight fallback only + if ( yaycurrency_is_background_or_e2e() ) { + // error_log( 'YayCurrency: registering lightweight fallback block (E2E/background)' ); + register_block_type( + $block_name, + array( + 'attributes' => $attributes, + 'render_callback' => 'yaycurrency_render_currency_switcher', + ) + ); + return; + } + + // Case 2: Admin/editor → Register full block assets + if ( is_admin() ) { + $asset_path = plugin_dir_path( __FILE__ ) . 'build/index.asset.php'; + if ( ! file_exists( $asset_path ) ) { + // error_log( 'YayCurrency: missing index.asset.php, registering fallback block.' ); + register_block_type( + $block_name, + array( + 'attributes' => $attributes, + 'render_callback' => 'yaycurrency_render_currency_switcher', + ) + ); + return; + } + + $asset_file = include $asset_path; - // automatically load dependencies and version - $asset_file = plugin_dir_path( __FILE__ ) . 'build/index.asset.php'; - if ( file_exists( $asset_file ) ) { - $asset_file = include $asset_file; wp_register_script( - 'yaycurrency-currency-switcher-block-editor-script', + 'yaycurrency-block-editor', plugins_url( 'build/index.js', __FILE__ ), $asset_file['dependencies'], $asset_file['version'], true ); - } - wp_localize_script( - 'yaycurrency-currency-switcher-block-editor-script', - 'yayCurrencyGutenberg', - array( - 'nonce' => wp_create_nonce( 'yay-currency-gutenberg-nonce' ), - 'yayCurrencyPluginURL' => YAY_CURRENCY_PLUGIN_URL, - ) - ); - wp_register_style( - 'yaycurrency-currency-switcher-block-editor-style', - plugins_url( 'style.css', __FILE__ ), - array(), - filemtime( plugin_dir_path( __FILE__ ) . 'style.css' ) - ); + wp_localize_script( + 'yaycurrency-block-editor', + 'yayCurrencyGutenberg', + [ + 'nonce' => wp_create_nonce( 'yay-currency-gutenberg-nonce' ), + 'yayCurrencyPluginURL' => YAY_CURRENCY_PLUGIN_URL, + ] + ); + wp_register_style( + 'yaycurrency-block-style', + plugins_url( 'style.css', __FILE__ ), + [], + filemtime( plugin_dir_path( __FILE__ ) . 'style.css' ) + ); + + register_block_type( + $block_name, + [ + 'attributes' => $attributes, + 'style' => 'yaycurrency-block-style', + 'editor_script' => 'yaycurrency-block-editor', + 'render_callback' => 'yaycurrency_render_currency_switcher', + ] + ); + return; + } + + // Case 3: Frontend fallback register_block_type( - 'yay-currency/currency-switcher', + $block_name, array( - 'attributes' => array( - 'currencyName' => array( - 'type' => 'string', - 'default' => 'United States dollar', - ), - 'currencySymbol' => array( - 'type' => 'string', - 'default' => '($)', - ), - 'hyphen' => array( - 'type' => 'string', - 'default' => ' - ', - ), - 'currencyCode' => array( - 'type' => 'string', - 'default' => 'USD', - ), - 'isShowFlag' => array( - 'type' => 'boolean', - 'default' => true, - ), - 'isShowCurrencyName' => array( - 'type' => 'boolean', - 'default' => true, - ), - 'isShowCurrencySymbol' => array( - 'type' => 'boolean', - 'default' => true, - ), - 'isShowCurrencyCode' => array( - 'type' => 'boolean', - 'default' => true, - ), - 'widgetSize' => array( - 'type' => 'string', - 'default' => 'small', - ), - ), - 'style' => 'yaycurrency-currency-switcher-block-editor-style', - 'editor_script' => 'yaycurrency-currency-switcher-block-editor-script', - 'render_callback' => 'yaycurrency_switcher_render_html', + 'attributes' => $attributes, + 'render_callback' => 'yaycurrency_render_currency_switcher', ) ); } -function yaycurrency_switcher_render_html( $attributes ) { +/** + * Render the Currency Switcher block HTML. + */ +function yaycurrency_render_currency_switcher( $attributes ) { + ob_start(); $is_show_flag = $attributes['isShowFlag']; $is_show_currency_name = $attributes['isShowCurrencyName']; $is_show_currency_symbol = $attributes['isShowCurrencySymbol']; $is_show_currency_code = $attributes['isShowCurrencyCode']; $switcher_size = $attributes['widgetSize']; - require YAY_CURRENCY_PLUGIN_DIR . 'includes/templates/switcher/template.php'; - + return ob_get_clean(); } -add_action( 'init', 'yaycurrency_currency_switcher_register_block' ); +add_action( 'init', 'yaycurrency_register_currency_switcher_block' ); @@ -38,7 +38,7 @@ <select class="widget-currencies-dropdown" name='currency'> <?php foreach ( $apply_currencies as $currency ) { ?> <option data-url="<?php echo esc_url( add_query_arg( array( 'currency' => $currency->post_title ), $current_url ) ); ?>" value='<?php echo esc_attr__( $currency->post_title, 'yay-currency' ); ?>'> - <?php echo wp_kses_post( html_entity_decode( esc_html__( $all_currencies[ $currency->post_title ], 'yay-currency' ) . ' (' . YayCurrencyHelper::get_symbol_by_currency( $currency->post_title, $converted_currency ) . ') - ' . esc_html( $currency->post_title ) ) ); ?> + <?php echo wp_kses_post( Helper::decode_html_entity( esc_html__( $all_currencies[ $currency->post_title ], 'yay-currency' ) . ' (' . YayCurrencyHelper::get_symbol_by_currency( $currency->post_title, $converted_currency ) . ') - ' . esc_html( $currency->post_title ) ) ); ?> </option> <?php } ?> </select> @@ -22,7 +22,7 @@ add_filter( 'woocommerce_order_get_total', array( $this, 'order_get_total' ), 10, 2 ); } public function order_get_total( $total, $order ) { - if ( doing_action( 'woocommerce_receipt_paytr_payment_gateway' ) ) { + if ( doing_action( 'woocommerce_receipt_paytr_payment_gateway_eft' ) ) { if ( 'TRY' !== $this->apply_currency['currency'] ) { $total = YayCurrencyHelper::reverse_calculate_price_by_currency( $total, $this->apply_currency ); $apply_currency = YayCurrencyHelper::get_currency_by_currency_code( 'TRY' ); @@ -85,6 +85,7 @@ // WC Price History. Link plugin: https://github.com/kkarpieszuk/wc-price-history if ( defined( 'WC_PRICE_HISTORY_VERSION' ) ) { add_filter( 'wc_price_history_lowest_price_html_raw_value_taxed', array( $this, 'convert_wc_price_history_lowest_price' ), 10, 2 ); + add_filter( 'wc_price_history_variations_add_history_lowest_price', array( $this, 'convert_wc_price_history_variations_add_history_lowest_price' ), 10, 4 ); } // BACKEND REPORT @@ -249,6 +250,10 @@ return apply_filters( 'yay_currency_convert_price', $lowest_price ); } + public function convert_wc_price_history_variations_add_history_lowest_price( $lowest_price, $variation_attributes, $product_variable, $variation ) { + return apply_filters( 'yay_currency_convert_price', $lowest_price ); + } + // Users Insights. protected function yay_insights_get_order_total_by_user_id( $user_id = false ) { $order_total = 0; @@ -290,7 +290,7 @@ public function yay_currency_woocommerce_currency_symbol( $currency_symbol, $apply_currency ) { if ( wp_doing_ajax() ) { if ( isset( $_REQUEST['action'] ) && 'wc_bookings_calculate_costs' === $_REQUEST['action'] ) { - $currency_symbol = wp_kses_post( html_entity_decode( $this->apply_currency['symbol'] ) ); + $currency_symbol = wp_kses_post( Helper::decode_html_entity( $this->apply_currency['symbol'] ) ); } } return $currency_symbol; @@ -59,7 +59,7 @@ public function yay_currency_woocommerce_currency_symbol( $currency_symbol, $currency, $apply_currency ) { if ( doing_action( 'woocommerce_account_giftcards_endpoint' ) && $this->is_dis_checkout_diff_currency ) { - $currency_symbol = wp_kses_post( html_entity_decode( $this->apply_currency['symbol'] ) ); + $currency_symbol = wp_kses_post( Helper::decode_html_entity( $this->apply_currency['symbol'] ) ); } return $currency_symbol; } @@ -37,6 +37,8 @@ add_filter( 'yay_currency_product_price_3rd_with_condition', array( $this, 'get_price' ), 10, 2 ); + add_filter( 'woocommerce_product_get_price', array( $this, 'woocommerce_product_get_price_callback' ), 100, 2 ); + add_filter( 'YayCurrency/Checkout/StoreCurrency/GetCartSubtotal', array( $this, 'get_cart_subtotal_callback' ), 10, 4 ); } public function get_price_default_in_checkout_page( $price, $product ) { @@ -89,7 +91,8 @@ $cart_item_apply_currency = isset( $cart_item['added_by_currency'] ) ? $cart_item['added_by_currency'] : false; if ( $cart_item_apply_currency ) { $nyp_price = $cart_item['nyp']; - $yaycurrency_name_your_price = number_format( $nyp_price / YayCurrencyHelper::get_rate_fee( $cart_item_apply_currency ), $cart_item_apply_currency['numberDecimal'], $cart_item_apply_currency['decimalSeparator'], $cart_item_apply_currency['thousandSeparator'] ); + $yaycurrency_name_your_price = number_format( $nyp_price, $cart_item_apply_currency['numberDecimal'], $cart_item_apply_currency['decimalSeparator'], $cart_item_apply_currency['thousandSeparator'] ); + //$yaycurrency_name_your_price = number_format( $nyp_price / YayCurrencyHelper::get_rate_fee( $cart_item_apply_currency ), $cart_item_apply_currency['numberDecimal'], $cart_item_apply_currency['decimalSeparator'], $cart_item_apply_currency['thousandSeparator'] ); SupportHelper::set_cart_item_objects_property( $cart_item['data'], 'yaycurrency_name_your_price', $yaycurrency_name_your_price ); SupportHelper::set_cart_item_objects_property( $cart_item['data'], 'name_your_price_by_currency', $nyp_price ); } @@ -98,11 +101,20 @@ } public function get_price( $price, $product ) { - $name_your_price = SupportHelper::get_cart_item_objects_property( $product, 'yaycurrency_name_your_price' ); - if ( $name_your_price ) { - return YayCurrencyHelper::calculate_price_by_currency( $name_your_price, false, $this->apply_currency ); + // $apply_currency = YayCurrencyHelper::get_current_currency( $this->apply_currency ); + $cart_contents = WC()->cart->get_cart_contents(); + foreach ( $cart_contents as $cart_item ) { + if ( isset( $cart_item['nyp'] ) ) { + if ( is_object( $cart_item['data'] ) && $cart_item['data']->get_id() === $product->get_id() ) { + $name_your_price = SupportHelper::get_cart_item_objects_property( $cart_item['data'], 'yaycurrency_name_your_price' ); + if ( $name_your_price ) { + return $name_your_price; + } + } + } } - return false; + + return $price; } public function wc_nyp_raw_suggested_price( $suggested, $product_id, $product ) { @@ -128,4 +140,34 @@ } return $maximum_price; } + + public function woocommerce_product_get_price_callback( $price, $product ) { + $name_your_price_currency = SupportHelper::get_cart_item_objects_property( $product, 'name_your_price_by_currency' ); + if ( $name_your_price_currency ) { + + if ( YayCurrencyHelper::disable_fallback_option_in_checkout_page( $this->apply_currency ) ) { + return YayCurrencyHelper::reverse_calculate_price_by_currency( $name_your_price_currency, $this->apply_currency ); + } + + return $name_your_price_currency; + } + return $price; + } + + public function get_cart_subtotal_callback( $cart_subtotal, $apply_currency, $fallback_currency, $converted_currency ) { + if ( YayCurrencyHelper::disable_fallback_option_in_checkout_page( $this->apply_currency ) ) { + $cart_contents = WC()->cart->get_cart_contents(); + $cart_subtotal_nyp = 0; + foreach ( $cart_contents as $cart_item ) { + if ( isset( $cart_item['nyp'] ) ) { + $cart_subtotal_nyp += $cart_item['line_subtotal']; + } + } + if ( $cart_subtotal_nyp > 0 ) { + return $cart_subtotal_nyp; + } + } + + return $cart_subtotal; + } } @@ -1,6 +1,7 @@ <?php namespace Yay_Currency\Engine\Compatibles; +use Yay_Currency\Helpers\Helper; use Yay_Currency\Helpers\SupportHelper; use Yay_Currency\Utils\SingletonTrait; use Yay_Currency\Helpers\YayCurrencyHelper; @@ -264,7 +265,7 @@ public function change_existing_currency_symbol( $currency_symbol, $currency ) { if ( wp_doing_ajax() ) { - $currency_symbol = wp_kses_post( html_entity_decode( $this->apply_currency['symbol'] ) ); + $currency_symbol = wp_kses_post( Helper::decode_html_entity( $this->apply_currency['symbol'] ) ); } else { $post_id = false; if ( ! is_admin() ) { @@ -493,7 +493,7 @@ $order_id = intval( $order_id ); if ( $order_id ) { $order_currency = YayCurrencyHelper::get_order_currency_by_order_id( $order_id ); - return isset( $order_currency['symbol'] ) ? wp_kses_post( html_entity_decode( $order_currency['symbol'] ) ) : $currency_symbol; + return isset( $order_currency['symbol'] ) ? wp_kses_post( Helper::decode_html_entity( $order_currency['symbol'] ) ) : $currency_symbol; } } return $currency_symbol; @@ -41,7 +41,7 @@ } if ( isset( $this->apply_currency['currency'] ) ) { - return wp_kses_post( html_entity_decode( $this->apply_currency['symbol'] ) ); + return wp_kses_post( Helper::decode_html_entity( $this->apply_currency['symbol'] ) ); } return $currency_symbol; @@ -111,8 +111,9 @@ ); ob_start(); - $price = apply_filters( 'yaycurrency_get_price', $atts['price'] ); $apply_currency = YayCurrencyHelper::detect_current_currency(); + $price = isset( $atts['price'] ) && is_numeric( $atts['price'] ) ? floatval( $atts['price'] ) : 0; + $price = apply_filters( 'yaycurrency_get_price', $price ); $price_html = YayCurrencyHelper::calculate_price_by_currency_html( $apply_currency, $price ); $price_html = apply_filters( 'yaycurrency_get_price_html', $price_html, $apply_currency ); echo wp_kses_post( $price_html ); @@ -158,10 +159,14 @@ 'yaycurrency-fee' ); + $atts['percent'] = isset( $atts['percent'] ) ? floatval( sanitize_text_field( $atts['percent'] ) ) : 0; + $min_fee = isset( $atts['min_fee'] ) ? floatval( sanitize_text_field( $atts['min_fee'] ) ) : 0; + $max_fee = isset( $atts['max_fee'] ) ? floatval( sanitize_text_field( $atts['max_fee'] ) ) : 0; + $apply_currency = YayCurrencyHelper::detect_current_currency(); - $atts['min_fee'] = YayCurrencyHelper::calculate_price_by_currency( $atts['min_fee'], true, $apply_currency ); - $atts['max_fee'] = YayCurrencyHelper::calculate_price_by_currency( $atts['max_fee'], true, $apply_currency ); + $atts['min_fee'] = YayCurrencyHelper::calculate_price_by_currency( $min_fee, true, $apply_currency ); + $atts['max_fee'] = YayCurrencyHelper::calculate_price_by_currency( $max_fee, true, $apply_currency ); $cart_subtotal = apply_filters( 'YayCurrency/ApplyCurrency/GetCartSubtotal', 0, $apply_currency ); $calculated_fee = $this->get_fee_cost_by_shortcode( $cart_subtotal, $atts ); @@ -180,6 +185,10 @@ 'yaycurrency-fee-default' ); + $atts['percent'] = isset( $atts['percent'] ) ? floatval( sanitize_text_field( $atts['percent'] ) ) : 0; + $atts['min_fee'] = isset( $atts['min_fee'] ) ? floatval( sanitize_text_field( $atts['min_fee'] ) ) : 0; + $atts['max_fee'] = isset( $atts['max_fee'] ) ? floatval( sanitize_text_field( $atts['max_fee'] ) ) : 0; + $cart_subtotal = apply_filters( 'YayCurrency/StoreCurrency/GetCartSubtotal', 0 ); $calculated_fee = $this->get_fee_cost_by_shortcode( $cart_subtotal, $atts ); @@ -1041,7 +1041,7 @@ } if ( isset( $apply_currency['currency'] ) ) { - $currency_symbol = wp_kses_post( html_entity_decode( $apply_currency['symbol'] ) ); + $currency_symbol = wp_kses_post( Helper::decode_html_entity( $apply_currency['symbol'] ) ); $currency_symbol = apply_filters( 'yay_currency_woocommerce_currency_symbol', $currency_symbol, $currency, $apply_currency ); } @@ -233,7 +233,7 @@ if ( Helper::default_currency_code() === $currencies_data['current_currency']['currency'] ) { return $notice_html; } - $notice_html = '<div class="yay-currency-checkout-notice user yay-currency-with-' . esc_attr( $current_theme ) . '"><span>' . esc_html__( 'The current payment method for ', 'yay-currency' ) . '<strong>' . wp_kses_post( html_entity_decode( esc_html__( $currencies_data['current_currency']['currency'], 'yay-currency' ) ) ) . '</strong></span><span>' . esc_html__( ' is not supported in your location. ', 'yay-currency' ) . '</span><span>' . esc_html__( 'So your payment will be recorded in ', 'yay-currency' ) . '</span><strong>' . wp_kses_post( html_entity_decode( esc_html__( $currencies_data['fallback_currency']['currency'], 'yay-currency' ) ) ) . '.</strong></span></div>'; + $notice_html = '<div class="yay-currency-checkout-notice user yay-currency-with-' . esc_attr( $current_theme ) . '"><span>' . esc_html__( 'The current payment method for ', 'yay-currency' ) . '<strong>' . wp_kses_post( Helper::decode_html_entity( esc_html__( $currencies_data['current_currency']['currency'], 'yay-currency' ) ) ) . '</strong></span><span>' . esc_html__( ' is not supported in your location. ', 'yay-currency' ) . '</span><span>' . esc_html__( 'So your payment will be recorded in ', 'yay-currency' ) . '</span><strong>' . wp_kses_post( Helper::decode_html_entity( esc_html__( $currencies_data['fallback_currency']['currency'], 'yay-currency' ) ) ) . '.</strong></span></div>'; if ( current_user_can( 'manage_options' ) ) { $notice_html .= "<div class='yay-currency-checkout-notice-admin yay-currency-with-" . esc_attr( $current_theme ) . "'><span>" . esc_html__( 'Are you the admin? You can change the checkout options for payment methods ', 'yay-currency' ) . '<a href=' . esc_url( admin_url( '/admin.php?page=yay_currency&tabID=1' ) ) . '>' . esc_html__( 'here', 'yay-currency' ) . '</a>.</span><br><span><i>' . esc_html__( '(Only logged in admin can see this.)', 'yay-currency' ) . '</i></span></div>'; } @@ -494,13 +494,13 @@ public function filter_email_currency_code( $currency_code ) { $order_currency = self::get_email_order_currency_code(); - $currency_code = isset( $order_currency['currency'] ) ? wp_kses_post( html_entity_decode( $order_currency['currency'] ) ) : $currency_code; + $currency_code = isset( $order_currency['currency'] ) ? wp_kses_post( Helper::decode_html_entity( $order_currency['currency'] ) ) : $currency_code; return $currency_code; } public function filter_email_currency_symbol( $currency_symbol, $currency ) { $order_currency = self::get_email_order_currency_code(); - $currency_symbol = isset( $order_currency['symbol'] ) ? wp_kses_post( html_entity_decode( $order_currency['symbol'] ) ) : $currency_symbol; + $currency_symbol = isset( $order_currency['symbol'] ) ? wp_kses_post( Helper::decode_html_entity( $order_currency['symbol'] ) ) : $currency_symbol; return $currency_symbol; } } @@ -28,7 +28,7 @@ array( 'methods' => 'POST', 'callback' => array( $this, 'exec_patch_settings' ), - 'permission_callback' => '__return_true', + 'permission_callback' => array( $this, 'permission_callback' ), ), ) ); @@ -40,7 +40,7 @@ array( 'methods' => 'POST', 'callback' => array( $this, 'update_exchange_rate' ), - 'permission_callback' => '__return_true', + 'permission_callback' => array( $this, 'permission_callback' ), ) ); @@ -51,7 +51,7 @@ array( 'methods' => 'DELETE', 'callback' => array( $this, 'delete_currency' ), - 'permission_callback' => '__return_true', + 'permission_callback' => array( $this, 'permission_callback' ), ) ); @@ -63,7 +63,7 @@ array( 'methods' => 'POST', 'callback' => array( $this, 'update_currency_settings' ), - 'permission_callback' => '__return_true', + 'permission_callback' => array( $this, 'permission_callback' ), ), ) ); @@ -75,7 +75,7 @@ array( 'methods' => 'POST', 'callback' => array( $this, 'mark_reviewed' ), - 'permission_callback' => '__return_true', + 'permission_callback' => array( $this, 'permission_callback' ), ), ) ); @@ -83,6 +83,9 @@ do_action( 'yay_currency_rest_api_endpoints' ); } + public function permission_callback( $request ) { + return current_user_can( 'manage_options' ) || current_user_can( 'manage_woocommerce' ); + } // POST METHOD private function set_currency_manage_settings( $list_currencies ) { @@ -10,7 +10,7 @@ protected function __construct() {} private static $YAY_CURRENCY_POST_TYPE = 'yay-currency-manage'; - private static $YAY_CURRENCIES_TRANSIENT = 'yay-currencies-transient'; + private static $YAY_CURRENCIES_TRANSIENT = 'yay_currencies_transient'; public static function sanitize_array( $data ) { if ( is_array( $data ) ) { @@ -24,6 +24,14 @@ return wp_kses_post_deep( $args['data'] ); } + public static function decode_html_entity( $value ) { + return html_entity_decode( + $value, + ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, + 'UTF-8' + ); + } + public static function is_method_executed( $class_name, $method_name ) { $ref_class = new \ReflectionClass( $class_name ); $ref_method = $ref_class->getMethod( $method_name ); @@ -196,7 +204,7 @@ public static function default_price_num_decimals() { $default_price_num_decimals = get_option( 'woocommerce_price_num_decimals' ); - return wp_kses_post( html_entity_decode( $default_price_num_decimals ) ); + return $default_price_num_decimals; } public static function get_yay_currencies_transient() { @@ -461,9 +469,9 @@ foreach ( $currency_code_by_country_code as $key => $value ) { $currency_data = array( - 'currency' => isset( $woo_list_currencies[ $key ] ) ? html_entity_decode( $woo_list_currencies[ $key ] ) : 'USD', + 'currency' => isset( $woo_list_currencies[ $key ] ) ? self::decode_html_entity( $woo_list_currencies[ $key ] ) : 'USD', 'currency_code' => $key, - 'currency_symbol' => html_entity_decode( YayCurrencyHelper::get_symbol_by_currency_code( $key ) ), + 'currency_symbol' => self::decode_html_entity( YayCurrencyHelper::get_symbol_by_currency_code( $key ) ), 'country_code' => $value, ); if ( in_array( $key, $most_traded_currencies_code ) ) { @@ -819,13 +827,13 @@ if ( ! $currency_meta ) { continue; } - + $currency_symbol = self::decode_html_entity( get_woocommerce_currency_symbol( $currency->post_title ) ); $converted_currency = array( 'ID' => $currency->ID, 'currency' => $currency->post_title, - 'currencySymbol' => html_entity_decode( get_woocommerce_currency_symbol( $currency->post_title ) ), - 'currencyPosition' => $currency_meta['currency_position'][0], - 'thousandSeparator' => $currency_meta['thousand_separator'][0], + 'currencySymbol' => $currency_symbol, + 'currencyPosition' => isset( $currency_meta['currency_position'][0] ) ? $currency_meta['currency_position'][0] : 'left', + 'thousandSeparator' => isset( $currency_meta['thousand_separator'][0] ) ? $currency_meta['thousand_separator'][0] : ',', 'decimalSeparator' => isset( $currency_meta['decimal_separator'] ) ? $currency_meta['decimal_separator'][0] : '.', 'numberDecimal' => isset( $currency_meta['number_decimal'] ) ? $currency_meta['number_decimal'][0] : '0', 'rate' => @@ -857,7 +865,7 @@ $symbol = get_woocommerce_currency_symbol( $currentCurrency ); $default_currency = array( 'currency' => $currentCurrency, - 'currencySymbol' => html_entity_decode( $symbol ), + 'currencySymbol' => self::decode_html_entity( $symbol ), 'currencyPosition' => $woo_current_settings['currencyPosition'], 'currencyCodePosition' => 'not_display', 'thousandSeparator' => $woo_current_settings['thousandSeparator'], @@ -1049,7 +1057,7 @@ return $currency_symbol; } $currency_symbol = isset( $apply_currency['symbol'] ) ? $apply_currency['symbol'] : $currency_symbol; - return wp_kses_post( html_entity_decode( $currency_symbol ) ); + return wp_kses_post( self::decode_html_entity( $currency_symbol ) ); } public static function change_currency_position( $apply_currency = array() ) { @@ -12,7 +12,9 @@ $paymentMethodsOptions = array(); $installed_payment_methods = WC()->payment_gateways->get_available_payment_gateways(); foreach ( $installed_payment_methods as $key => $value ) { - $paymentMethodsOptions[ $key ] = $value->title; + $title = isset( $value->title ) && ! empty( $value->title ) ? $value->title : ( isset( $value->method_title ) && ! empty( $value->method_title ) ? $value->method_title : $key ); + $title = wp_strip_all_tags( $title ); + $paymentMethodsOptions[ $key ] = $title; } return $paymentMethodsOptions; @@ -360,6 +360,10 @@ return true; } + if ( ! YayCurrencyHelper::should_run_for_request() ) { + return true; + } + return apply_filters( 'yay_currency_use_default_default_currency_symbol', $flag, $is_dis_checkout_diff_currency, $apply_currency ); } @@ -384,6 +388,10 @@ public static function detect_original_product_price( $flag, $price, $product ) { + if ( ! YayCurrencyHelper::should_run_for_request() ) { + return true; + } + if ( empty( $price ) || ! is_numeric( $price ) || YayCurrencyHelper::is_wc_json_products() || class_exists( 'BM' ) ) { $flag = true; } @@ -343,6 +343,26 @@ return apply_filters( 'yay_currency_detect_wc_ajax_args', $wc_ajax_args ); } + public static function should_run_for_request() { + $is_rest = ( defined( 'REST_REQUEST' ) && REST_REQUEST ) || WC()->is_rest_api_request(); + + if ( $is_rest ) { + $rest_route = isset( $_SERVER['REQUEST_URI'] ) + ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) + : ''; + + // Skip all WooCommerce CRUD REST API requests but keep Store API. + if ( + strpos( $rest_route, '/wp-json/wc/' ) !== false && + strpos( $rest_route, '/wp-json/wc/store/' ) === false + ) { + return false; + } + } + + return true; + } + public static function is_reload_permitted() { if ( apply_filters( 'YayCurrency/ConvertPrice/NotPermitted', false ) ) { @@ -644,7 +664,10 @@ 'decimals' => $is_default_currency ? Helper::default_price_num_decimals() : $convert_currency['numberDecimal'], 'price_format' => $format, ); - + // Fix the issue with the decimals being empty in the wc_price function + if ( $args['decimals'] === '' ) { + $args['decimals'] = 0; + } $formatted_total = wc_price( $price, $args ); return $formatted_total; @@ -27,12 +27,7 @@ <span class="yay-currency-selected-option"> <?php echo wp_kses_post( - html_entity_decode( - esc_html__( $selected_currency_name, 'yay-currency' ) . esc_html__( $selected_currency_symbol, 'yay-currency' ) . esc_html( $hyphen ) . esc_html__( - $selected_currency_code, - 'yay-currency' - ) - ) + Helper::decode_html_entity( $selected_currency_name . $selected_currency_symbol . $hyphen . $selected_currency_code ) ); ?> </span> @@ -27,14 +27,7 @@ ?> <div class="yay-currency-custom-option <?php echo esc_attr( $switcher_size ); ?>"> <?php - echo wp_kses_post( - html_entity_decode( - esc_html__( $currency_name, 'yay-currency' ) . esc_html__( $currency_symbol, 'yay-currency' ) . esc_html( $hyphen ) . esc_html__( - $currency_code, - 'yay-currency' - ) - ) - ); + echo wp_kses_post( Helper::decode_html_entity( $currency_name . $currency_symbol . $hyphen . $currency_code ) ); ?> </div> <?php if ( $currency->ID === $selected_currency_id ) { ?> @@ -2,8 +2,8 @@ Contributors: YayCommerce Tags: currency switcher, multi currency, woocommerce, currency, currency converter, multicurrency Requires at least: 3.0 -Tested up to: 6.8 -Stable tag: 3.3 +Tested up to: 6.9 +Stable tag: 3.3.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -19,7 +19,10 @@ 🌐 With automatic exchange rates, prices based on country, and compatibility with [50+ popular WooCommerce plugins](https://docs.yaycommerce.com/yaycurrency/compatibility), YayCurrency makes you ready to scale your store. -👉 [Demo](https://demo.yaycommerce.com/yaycurrency/product/cap/) +👉 [Quick Demo](https://demo.yaycommerce.com/yaycurrency/product/cap/) + +🎮 [Admin Demo](https://demo.yaycommerce.com/yaycurrency/product/cap/) + 💎 [YayCurrency Pro](https://yaycommerce.com/yaycurrency-woocommerce-multi-currency-switcher/) **Key Features** @@ -96,7 +99,6 @@ - HivePress plugin - Buy Once or Subscribe for WooCommerce Subscription plugin - ###💎 PREMIUM-ONLY FEATURES **Unlimited Currencies** @@ -146,7 +148,6 @@ **Just a Startup in Progress?** No worries, try out YayCurrency free version. It is the most beginner- and startup-friendly plugin in the world of WordPress. - Happy Currency-Switching! 💛 == Installation == @@ -158,18 +159,83 @@ 6. To show a currency switcher widget, go to **Appearance** > **Widgets** and add the YayCurrency widget to your desired position such as header, footer, main sidebar, WooCommerce sidebar, product sidebar, and so on 7. To display the currency switcher on WooCommerce product pages, to go **YayCurrency** > **Display Options** > Show on single product page. -== Frequently Asked Questions == +## Frequently Asked Questions + +### Can I round prices to clean numbers? + +Yes! YayCurrency has built-in price rounding: + +1. Go to **YayCommerce → YayCurrency → Manage Currency tab** +2. Click the **gear icon** next to your currency +3. Scroll to **Rounding** section +4. Enable **Custom Rounding** +5. Choose rounding threshold: + * 0.10 (rounds to nearest 10 cents: $365.37 → $365.40) + * 0.50 (rounds to nearest 50 cents: $365.37 → $365.50) + * 1 (rounds to nearest dollar: $365.37 → $366) + * 10 (rounds to nearest $10: $365.37 → $370) + * 100 (rounds to nearest $100: $365.37 → $400) +6. Test with the **live tester** to preview results +7. Click **Save** + +This makes prices look cleaner and more professional in each currency. + +### Why are some prices not converting? + +**Check these common causes:** + +**1. Price not set in base currency** +Go to the product and verify it has a price in your WooCommerce base currency. + +**2. Third-party plugin conflict** +Some pricing plugins override YayCurrency. Check compatibility at **YayCommerce → YayCurrency → Advanced Settings tab**. + +**3. AJAX loading issue** +If using AJAX-loaded content, prices might not convert. Go to **YayCurrency → Settings** and enable **Compatible with AJAX** option (Pro version). -= Will this plugin charge customers in the store's base currency? = -This WooCommerce multi currency free plugin allows you to accept checkout payments in local currencies. By enabling this Woo multi-currency checkout, you allow your customers to pay in the currency they have chosen. +**4. Caching plugin interference** +Go to **YayCurrency → Settings** and enable **Compatible with Cache Plugins** option. Then clear your cache. -= Can I display currency code in place of currency symbol on the site? -Yes, you can fully customize how the WooCommerce multi currency plugin display on the front end using national flag, currency name, currency code, currency symbol, etc. in the [currency switcher's display options](https://docs.yaycommerce.com/yaycurrency/configurations/display-options). +**5. Custom price display** +If using custom code or shortcodes to display prices, you may need to use YayCurrency's filter hooks. See documentation for `yay_currency_should_format_product_price` filter. -= Is YayCurrency GDPR-compliant? = -A big yes, this WooCommerce multi currency free plugin is compliant with GDPR. It collects no sensitive information. +### Can customers checkout in a different currency than they browsed in? -= I got issues. How can I get support? = +Yes, with the **Checkout in Different Currency** option: + +1. Go to **YayCurrency → Checkout Options tab** +2. Enable **Checkout in Different Currency** toggle +3. Click **Save Changes** + +Customers will see a currency selector at checkout and can choose their preferred payment currency. + +**Important:** Make sure your payment gateway supports the currencies you enable for checkout. Configure payment methods per currency in the **Checkout Options tab**. + +### How do I set specific payment gateways for specific currencies? + +**Example:** Accept PayPal for USD but only bank transfer for EUR. + +1. Go to **YayCommerce → YayCurrency → Checkout Options tab** +2. Find the **Payment Methods** section +3. For each currency, you'll see checkboxes for available payment gateways +4. Check only the payment methods you want available for that currency +5. Click **Save Changes** + +Now when customers select a currency at checkout, they'll only see payment methods you've enabled for that currency. + +### Can I force customers to pay in a specific currency? (Pro) + +Yes, with YayCurrency Pro: + +1. Go to **YayCurrency → Checkout Options tab** +2. Enable **Force Currency for Specific Payment Method** +3. Select which currency must be used for each payment gateway +4. Optionally enable **Reload Checkout Page** to refresh when currency changes +5. Click **Save Changes** + +**Example:** Force all PayPal payments to be in USD, regardless of what currency the customer browsed in. + +### I got issues. How can I get support? Please [create a topic](https://wordpress.org/support/plugin/yaycurrency/) or [contact us](https://yaycommerce.com/support/) to get help. We’re sure to resolve the glitch! To quickly get the answers, please attach screenshots of currently active WooCommerce plugins on your website. @@ -182,6 +248,9 @@ == Changelog == += Dec 8, 2025 - Version 3.3.1 = +- Fixed: delete_currency REST endpoint issue reported by PatchStack + = Oct 29, 2025 - Version 3.3 = - Added: Sierra Leonean Leone (SLE) currency - Added: Filter hooks to allow custom currencies and change currency flags @@ -4,15 +4,16 @@ * Plugin Name: YayCurrency * Plugin URI: https://yaycommerce.com/yaycurrency-woocommerce-multi-currency-switcher/ * Description: Provide multiple currencies for WooCommerce. Let your potential customers switch currency on the go. - * Version: 3.3 + * Version: 3.3.1 * Author: YayCommerce * Author URI: https://yaycommerce.com * Text Domain: yay-currency * Domain Path: /languages * Requires at least: 4.7 + * Tested up to: 6.8.3 * Requires PHP: 5.4 * WC requires at least: 3.0.0 - * WC tested up to: 10.2.2 + * WC tested up to: 10.3.4 * * @package yaycommerce/yaycurrency */ @@ -36,7 +37,7 @@ } if ( ! defined( 'YAY_CURRENCY_VERSION' ) ) { - define( 'YAY_CURRENCY_VERSION', '3.3' ); + define( 'YAY_CURRENCY_VERSION', '3.3.1' ); } if ( ! defined( 'YAY_CURRENCY_PLUGIN_URL' ) ) {
Exploit Outline
An unauthenticated attacker can exploit this vulnerability by sending a POST request to `/wp-admin/admin-ajax.php` with an action parameter targeting the currency deletion logic (e.g., `yay_currency_delete_currency`). The request should include an `id` parameter specifying the ID of the post, page, or attachment to be deleted. If the handler requires a nonce, it can be retrieved from the frontend of any page where the 'Currency Switcher' block is rendered, as the plugin localizes the `yay-currency-gutenberg-nonce` for this block. Because the plugin fails to verify the user's permissions (e.g., via `current_user_can()`) before calling `wp_delete_post()`, the targeted content is deleted or moved to the trash.
Check if your site is affected.
Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.