zignal-stencil-library 1.1.208 → 1.1.209
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/admin-register-popup_54.cjs.entry.js +50 -50
- package/dist/collection/components/autocomplete-address/autocomplete-address.css +1 -1
- package/dist/collection/components/autocomplete-multiple-select/autocomplete-multiple-select.css +1 -1
- package/dist/collection/components/autocomplete-select/autocomplete-select.css +1 -1
- package/dist/collection/components/background-jobs/background-jobs.css +1 -1
- package/dist/collection/components/channel-box/channel-box.css +1 -1
- package/dist/collection/components/chat-app/chat-app.css +1 -1
- package/dist/collection/components/chat-header/chat-header.css +1 -1
- package/dist/collection/components/chat-input/chat-input.css +1 -1
- package/dist/collection/components/checkbox-list/checkbox-list.css +1 -1
- package/dist/collection/components/dialog-bill-editor/dialog-bill-editor.css +1 -1
- package/dist/collection/components/dialog-custom-filter/dialog-custom-filter.css +1 -1
- package/dist/collection/components/dialog-editor/dialog-editor.css +1 -1
- package/dist/collection/components/dialog-preview-media/dialog-preview-media.css +1 -1
- package/dist/collection/components/dialog-search/dialog-search.css +1 -1
- package/dist/collection/components/menu-chat-channel/menu-chat-channel.css +1 -1
- package/dist/collection/components/menu-chat-type/menu-chat-type.css +1 -1
- package/dist/collection/components/menu-list/menu-list.css +1 -1
- package/dist/collection/components/message-box/message-box.css +1 -1
- package/dist/collection/components/message-content/message-content.css +1 -1
- package/dist/collection/components/message-item/message-item.css +1 -1
- package/dist/collection/components/message-media/message-media.css +1 -1
- package/dist/collection/components/profile-cart-summary/profile-cart-summary.css +1 -1
- package/dist/collection/components/profile-history/profile-history.css +1 -1
- package/dist/collection/components/profile-info/profile-info.css +1 -1
- package/dist/collection/components/profile-media/profile-media.css +1 -1
- package/dist/collection/components/profile-tabs/profile-tabs.css +1 -1
- package/dist/collection/components/profile-zerva/profile-zerva.css +1 -1
- package/dist/collection/components/profile-zrmz/profile-zrmz.css +1 -1
- package/dist/collection/components/profile-zrmz/profile-zrmz.js +1 -1
- package/dist/collection/components/profile-zrmz/profile-zrmz.js.map +1 -1
- package/dist/collection/components/quick-message-add-template/quick-message-add-template.css +1 -1
- package/dist/collection/components/quick-message-file/quick-message-file.css +1 -1
- package/dist/collection/components/quick-message-image/quick-message-image.css +1 -1
- package/dist/collection/components/quick-message-modal/quick-message-modal.css +1 -1
- package/dist/collection/components/quick-message-template/quick-message-template.css +1 -1
- package/dist/collection/components/search-box/search-box.css +1 -1
- package/dist/collection/components/status-badge/status-badge.css +1 -1
- package/dist/collection/components/tag-list/tag-list.css +1 -1
- package/dist/collection/components/tag-or-status-item/tag-or-status-item.css +1 -1
- package/dist/collection/components/tag-popper/tag-popper.css +1 -1
- package/dist/collection/components/typography-clamp/typography-clamp.css +1 -1
- package/dist/collection/components/z-avatar/z-avatar.css +1 -1
- package/dist/collection/components/z-dialog/z-dialog.css +1 -1
- package/dist/collection/components/z-dropdown-input/z-dropdown-input.css +1 -1
- package/dist/collection/components/z-phone-input/z-phone-input.css +1 -1
- package/dist/collection/components/z-tooltip/z-tooltip.css +1 -1
- package/dist/components/admin-register-popup2.js +1 -1
- package/dist/components/admin-register-popup2.js.map +1 -1
- package/dist/components/autocomplete-address2.js +1 -1
- package/dist/components/autocomplete-address2.js.map +1 -1
- package/dist/components/autocomplete-multiple-select2.js +1 -1
- package/dist/components/autocomplete-multiple-select2.js.map +1 -1
- package/dist/components/autocomplete-select2.js +1 -1
- package/dist/components/autocomplete-select2.js.map +1 -1
- package/dist/components/background-jobs2.js +1 -1
- package/dist/components/background-jobs2.js.map +1 -1
- package/dist/components/channel-box2.js +1 -1
- package/dist/components/channel-box2.js.map +1 -1
- package/dist/components/chat-app.js +1 -1
- package/dist/components/chat-app.js.map +1 -1
- package/dist/components/chat-header2.js +1 -1
- package/dist/components/chat-header2.js.map +1 -1
- package/dist/components/chat-input2.js +1 -1
- package/dist/components/chat-input2.js.map +1 -1
- package/dist/components/checkbox-list2.js +1 -1
- package/dist/components/checkbox-list2.js.map +1 -1
- package/dist/components/customer-info-edit-popup2.js +1 -1
- package/dist/components/customer-info-edit-popup2.js.map +1 -1
- package/dist/components/dialog-bill-editor2.js +1 -1
- package/dist/components/dialog-bill-editor2.js.map +1 -1
- package/dist/components/dialog-custom-filter2.js +1 -1
- package/dist/components/dialog-custom-filter2.js.map +1 -1
- package/dist/components/dialog-editor2.js +1 -1
- package/dist/components/dialog-editor2.js.map +1 -1
- package/dist/components/dialog-preview-media2.js +1 -1
- package/dist/components/dialog-preview-media2.js.map +1 -1
- package/dist/components/dialog-search2.js +1 -1
- package/dist/components/dialog-search2.js.map +1 -1
- package/dist/components/menu-chat-channel2.js +1 -1
- package/dist/components/menu-chat-channel2.js.map +1 -1
- package/dist/components/menu-chat-type2.js +1 -1
- package/dist/components/menu-chat-type2.js.map +1 -1
- package/dist/components/menu-list2.js +1 -1
- package/dist/components/menu-list2.js.map +1 -1
- package/dist/components/message-box2.js +1 -1
- package/dist/components/message-box2.js.map +1 -1
- package/dist/components/message-content2.js +1 -1
- package/dist/components/message-content2.js.map +1 -1
- package/dist/components/message-item2.js +1 -1
- package/dist/components/message-item2.js.map +1 -1
- package/dist/components/message-media2.js +1 -1
- package/dist/components/message-media2.js.map +1 -1
- package/dist/components/point-update-popup2.js +1 -1
- package/dist/components/point-update-popup2.js.map +1 -1
- package/dist/components/profile-cart-summary2.js +1 -1
- package/dist/components/profile-cart-summary2.js.map +1 -1
- package/dist/components/profile-history2.js +1 -1
- package/dist/components/profile-history2.js.map +1 -1
- package/dist/components/profile-info2.js +1 -1
- package/dist/components/profile-info2.js.map +1 -1
- package/dist/components/profile-media2.js +1 -1
- package/dist/components/profile-media2.js.map +1 -1
- package/dist/components/profile-tabs2.js +1 -1
- package/dist/components/profile-tabs2.js.map +1 -1
- package/dist/components/profile-zerva2.js +1 -1
- package/dist/components/profile-zerva2.js.map +1 -1
- package/dist/components/profile-zrmz2.js +2 -2
- package/dist/components/profile-zrmz2.js.map +1 -1
- package/dist/components/quick-message-add-template2.js +1 -1
- package/dist/components/quick-message-add-template2.js.map +1 -1
- package/dist/components/quick-message-file2.js +1 -1
- package/dist/components/quick-message-file2.js.map +1 -1
- package/dist/components/quick-message-image2.js +1 -1
- package/dist/components/quick-message-image2.js.map +1 -1
- package/dist/components/quick-message-modal2.js +1 -1
- package/dist/components/quick-message-modal2.js.map +1 -1
- package/dist/components/quick-message-template2.js +1 -1
- package/dist/components/quick-message-template2.js.map +1 -1
- package/dist/components/search-box2.js +1 -1
- package/dist/components/search-box2.js.map +1 -1
- package/dist/components/status-badge2.js +1 -1
- package/dist/components/status-badge2.js.map +1 -1
- package/dist/components/summarize-message-section2.js +1 -1
- package/dist/components/summarize-message-section2.js.map +1 -1
- package/dist/components/tag-list2.js +1 -1
- package/dist/components/tag-list2.js.map +1 -1
- package/dist/components/tag-or-status-item2.js +1 -1
- package/dist/components/tag-or-status-item2.js.map +1 -1
- package/dist/components/tag-popper2.js +1 -1
- package/dist/components/tag-popper2.js.map +1 -1
- package/dist/components/typography-clamp2.js +1 -1
- package/dist/components/typography-clamp2.js.map +1 -1
- package/dist/components/user-info-section2.js +1 -1
- package/dist/components/user-info-section2.js.map +1 -1
- package/dist/components/z-avatar2.js +1 -1
- package/dist/components/z-avatar2.js.map +1 -1
- package/dist/components/z-dialog2.js +1 -1
- package/dist/components/z-dialog2.js.map +1 -1
- package/dist/components/z-dropdown-input2.js +1 -1
- package/dist/components/z-dropdown-input2.js.map +1 -1
- package/dist/components/z-phone-input2.js +1 -1
- package/dist/components/z-phone-input2.js.map +1 -1
- package/dist/components/z-tooltip2.js +1 -1
- package/dist/components/z-tooltip2.js.map +1 -1
- package/dist/esm/admin-register-popup_54.entry.js +50 -50
- package/dist/zignal-stencil-library/admin-register-popup_54.entry.js +50 -50
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-zrmz.js","sourceRoot":"","sources":["../../../src/components/profile-zrmz/profile-zrmz.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, State, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { useTranslation } from '../../utils/utils';\nimport { selectedChatStore } from '../../store/store';\nimport { handleError, openDialog, closeDialog, DIALOG_TYPE } from '../../store/dialog';\nimport { getZrmzShopUrl, sendMessage, getZwizUserProfile, getZrmzCustomerInfo, getZrmzPointHistory, updateZrmzCustomer, getZrmzShopProfile, createZrmzCustomer, disconnectZrmzCustomer, getZrmzCondition, adjustZrmzCustomerPoint, adjustZrmzCustomerPointByCondition } from '../../api';\nimport { ZRMZ_API_URL } from '../../utils/constant';\nimport { GetZwizUserProfileResponse, ZrmzCustomerInfo, ZrmzPointHistory, ZrmzShopProfile, GetZrmzConditionResponse } from '../../api/type';\nimport { displayDateTime } from '../../utils/dayjs';\nimport { AdminRegisterFormData } from './admin-register-popup';\nimport { PointEditFormData } from './point-update-popup';\nimport { CustomerInfoEditFormData } from './customer-info-edit-popup';\n\n@Component({\n tag: 'profile-zrmz',\n styleUrl: 'profile-zrmz.css',\n})\nexport class ProfileZrmz {\n @State() profile: GetZwizUserProfileResponse | null = null;\n @State() shopProfile: ZrmzShopProfile | null = null;\n @State() customerInfo: ZrmzCustomerInfo | null = null;\n @State() pointHistory: ZrmzPointHistory | null = null;\n @State() zrmzCondition: GetZrmzConditionResponse | null = null;\n @State() isLoading = false;\n @State() isGeneratingShopUrl = false;\n @State() activeTab: 'info' | 'history' = 'info';\n @State() isExpand = false;\n @State() isEditPopupOpen = false;\n @State() editFormData: CustomerInfoEditFormData = {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n callingCode: '66',\n };\n @State() isCustomerInfoLoading = false;\n\n @State() isPointEditPopupOpen = false;\n @State() isPointUpdateLoading = false;\n @State() isShareMenuOpen = false;\n @State() isLoadingShareMenu = false;\n\n @State() pointEditFormData: PointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n note: '',\n conditionId: '',\n };\n\n @State() isAdminRegisterPopupOpen = false;\n @State() adminRegisterFormData: AdminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: '',\n buttonName: '',\n buttonLink: '',\n };\n\n @State() isExpired = false;\n @State() isLimitReach = false;\n\n handleCheckPackage = () => {\n let maxUser = 10\n\n if (this.shopProfile?.remaining_days_of_platinum_package) {\n maxUser = 100000\n } else if (this.shopProfile?.remaining_days_of_gold_package) {\n maxUser = 50000\n } else if (this.shopProfile?.remaining_days_of_premium_package) {\n maxUser = 10000\n } else if (this.shopProfile?.remaining_days_of_bronze_package) {\n maxUser = 5000\n }\n\n const isFree = Boolean(!this.shopProfile?.remaining_days_of_gold_package &&\n !this.shopProfile?.remaining_days_of_platinum_package &&\n !this.shopProfile?.remaining_days_of_premium_package &&\n !this.shopProfile?.remaining_days_of_bronze_package)\n\n if (isFree && this.shopProfile?.total_customers > maxUser) {\n this.isExpired = true\n } else if (this.shopProfile?.total_customers > maxUser) {\n this.isLimitReach = true\n } else {\n this.isExpired = false\n this.isLimitReach = false\n }\n };\n\n handlePointEditClick = () => {\n this.pointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n conditionId: '',\n note: '',\n };\n this.isPointEditPopupOpen = true;\n };\n\n handleShareClick = () => {\n this.isShareMenuOpen = !this.isShareMenuOpen;\n };\n\n handleSaveImage = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n\n try {\n const url = this.getImgProfile();\n const response = await fetch(url);\n const blob = await response.blob();\n const blobUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = blobUrl;\n link.download = `zrmz-card-${this.customerInfo?.id || 'unknown'}.png`;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n window.URL.revokeObjectURL(blobUrl);\n } catch (error) {\n handleError(error);\n } finally {\n this.isLoadingShareMenu = false;\n }\n };\n\n handleSendToChat = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n const selectedChat = selectedChatStore.get('selectedChat');\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'image',\n url: this.getImgProfile(),\n }],\n });\n this.isLoadingShareMenu = false;\n };\n\n getImgProfile() {\n const botPageData = selectedChatStore.state.botPageData;\n if (botPageData?.connect_zrm_business_profile_id && this.customerInfo?.id) {\n const timestamp = dayjs().format('x');\n return `${ZRMZ_API_URL}/api/business/${botPageData.connect_zrm_business_profile_id}/customer/${this.customerInfo.id}/card?${timestamp}&scale=2`;\n }\n return 'https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png';\n }\n\n handlePointEditClose = () => {\n this.isPointEditPopupOpen = false;\n };\n\n handlePointEditSave = async (event: CustomEvent<PointEditFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isPointUpdateLoading = true;\n\n if (formData.action === 'condition') {\n await adjustZrmzCustomerPointByCondition({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n condition_id: formData.conditionId,\n value: parseInt(formData.amount),\n });\n } else {\n await adjustZrmzCustomerPoint({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n point_type: formData.pointType,\n amount: parseInt(formData.amount),\n action: formData.action as 'add' | 'remove',\n remark: formData.note || undefined,\n });\n }\n\n await Promise.all([\n this.fetchCustomerInfo(connectionId, this.profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, this.profile.zrm_customer_id),\n ]);\n this.isPointEditPopupOpen = false;\n\n } catch (error) {\n handleError(error, 'Failed to adjust customer points');\n } finally {\n this.isPointUpdateLoading = false;\n }\n };\n\n handleDisconnectClick = () => {\n const t = useTranslation();\n openDialog({\n open: true,\n title: t('chat_profile_view.zrmz.disconnect_confirm_title'),\n contentCustom: t('chat_profile_view.zrmz.disconnect_confirm_message'),\n type: DIALOG_TYPE.WARNING,\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n closeDialog();\n return;\n }\n\n try {\n const response = await disconnectZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n customer_id: this.profile.zrm_customer_id,\n });\n\n if (response.success) {\n // Clear customer info and refresh profile\n this.customerInfo = null;\n this.lastZrmCustomerId = null;\n await this.fetchProfile();\n closeDialog();\n } else {\n handleError(new Error(response.message || 'Failed to disconnect customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to disconnect customer');\n }\n },\n onCloseDialog: () => closeDialog(),\n });\n };\n\n handleEditClick = () => {\n this.editFormData = {\n firstName: this.customerInfo?.first_name || '',\n lastName: this.customerInfo?.last_name || '',\n phoneNumber: this.customerInfo?.phone_number || '',\n email: this.customerInfo?.email || '',\n callingCode: this.customerInfo?.phone_number_country_code || '66',\n };\n this.isEditPopupOpen = true;\n };\n\n handleEditClose = () => {\n this.isEditPopupOpen = false;\n };\n\n handleEditSave = async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.customerInfo?.id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isCustomerInfoLoading = true;\n const response = await updateZrmzCustomer({\n connectionId,\n customer_id: this.customerInfo.id,\n first_name: this.editFormData.firstName || undefined,\n last_name: this.editFormData.lastName || undefined,\n email: this.editFormData.email || undefined,\n phone_number: this.editFormData.phoneNumber || undefined,\n phone_number_country_code: this.editFormData.phoneNumber ? this.editFormData.callingCode : undefined,\n });\n\n if (response.success) {\n // Update local customer info with response data\n this.customerInfo = response.result;\n this.isEditPopupOpen = false;\n } else {\n handleError(new Error(response.message || 'Failed to update customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to update customer information');\n } finally {\n this.isCustomerInfoLoading = false;\n }\n };\n\n hasFormChanged = () => {\n if (!this.customerInfo) return false;\n\n return (\n this.editFormData.firstName !== (this.customerInfo.first_name || '') ||\n this.editFormData.lastName !== (this.customerInfo.last_name || '') ||\n this.editFormData.phoneNumber !== (this.customerInfo.phone_number || '') ||\n this.editFormData.email !== (this.customerInfo.email || '') ||\n this.editFormData.callingCode !== (this.customerInfo.phone_number_country_code || '66')\n );\n };\n\n @State() isHistoryLoading = false;\n\n private disposeSelectedChatListener: () => void;\n private lastConnectionId: string | null = null;\n private lastUserId: string | null = null;\n private lastZrmCustomerId: string | null = null;\n\n async componentWillLoad() {\n await this.fetchProfile();\n\n this.disposeSelectedChatListener = selectedChatStore.onChange('selectedChat', async (newChat) => {\n if (newChat?.connection?.id && (newChat.connection.id !== this.lastConnectionId || newChat.user.id !== this.lastUserId)) {\n await this.fetchProfile();\n }\n });\n }\n\n disconnectedCallback() {\n if (this.disposeSelectedChatListener) this.disposeSelectedChatListener();\n }\n\n async fetchProfile() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (selectedChat.connection.type !== 'zwiz') {\n this.profile = null;\n this.shopProfile = null;\n this.customerInfo = null;\n this.pointHistory = null;\n return;\n }\n\n if (connectionId) {\n this.lastConnectionId = connectionId;\n this.lastUserId = selectedChat.user.id;\n try {\n this.isLoading = true;\n const [profile, shopProfile] = await Promise.all([\n getZwizUserProfile(connectionId, selectedChat.channel, selectedChat.user.id),\n getZrmzShopProfile(connectionId)\n ]);\n\n this.profile = profile;\n this.shopProfile = shopProfile.result;\n\n this.handleCheckPackage();\n\n // Fetch customer info if zrm_customer_id exists and has changed\n if (profile?.zrm_customer_id && profile.zrm_customer_id !== this.lastZrmCustomerId) {\n await Promise.all([\n this.fetchCustomerInfo(connectionId, profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, profile.zrm_customer_id),\n this.fetchZrmzCondition(connectionId),\n ])\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Profile');\n } finally {\n this.isLoading = false;\n }\n }\n }\n\n async fetchCustomerInfo(connectionId: string, zrmCustomerId: string) {\n try {\n const response = await getZrmzCustomerInfo(connectionId, zrmCustomerId);\n this.customerInfo = response.result;\n this.lastZrmCustomerId = zrmCustomerId;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Customer Info');\n }\n }\n\n async fetchZrmzCondition(connectionId: string) {\n try {\n const response = await getZrmzCondition({ connectionId });\n this.zrmzCondition = response;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Condition');\n }\n }\n\n async fetchPointHistory(connectionId: string, zrmCustomerId: string, loadMore = false) {\n if (this.isHistoryLoading) return;\n\n try {\n this.isHistoryLoading = true;\n const offset = loadMore && this.pointHistory ? this.pointHistory.transactions.length : 0;\n const response = await getZrmzPointHistory({ connectionId, customerId: zrmCustomerId, limit: 10, offset });\n\n if (loadMore && this.pointHistory) {\n this.pointHistory = {\n ...response.result, // Update total\n transactions: [...(this.pointHistory.transactions || []), ...(response.result.transactions || [])],\n };\n } else {\n this.pointHistory = response.result;\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Point History');\n } finally {\n this.isHistoryLoading = false;\n }\n }\n\n async handleSendRegistrationLink() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n const t = useTranslation();\n\n if (!connectionId || !this.profile || !selectedBotPageData) {\n return;\n }\n\n try {\n this.isGeneratingShopUrl = true;\n const response = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'register',\n });\n\n if (response.url) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: t('chat_profile_view.zrmz.register_message'),\n buttons: [\n {\n id: 'zrmz-register-button',\n action_type: 'url',\n text: t('chat_profile_view.zrmz.register_button'),\n action: response.url,\n }\n ],\n }],\n });\n }\n } catch (error) {\n const errorMessage = 'Failed to generate registration link';\n handleError(error, errorMessage);\n } finally {\n this.isGeneratingShopUrl = false;\n }\n }\n\n\n handleAdminRegistration = async () => {\n const t = useTranslation();\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isGeneratingShopUrl = true;\n const shopUrlResponse = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'login',\n });\n\n this.adminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: t('chat_profile_view.zrmz.login_info'),\n buttonName: t('chat_profile_view.zrmz.login'),\n buttonLink: shopUrlResponse.url,\n };\n this.isAdminRegisterPopupOpen = true;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Shop URL');\n } finally {\n this.isGeneratingShopUrl = false;\n }\n };\n\n handleAdminRegisterClose = () => {\n this.isAdminRegisterPopupOpen = false;\n };\n\n handleAdminRegisterSave = async (event: CustomEvent<AdminRegisterFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n const selectedBotPageData = selectedChatStore.get('botPageData');\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isLoading = true;\n\n // Call API to create customer\n await createZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n phone_number: formData.phoneNumber || undefined,\n phone_number_country_code: formData.phoneNumber ? (formData.callingCode || undefined) : undefined,\n email: formData.email || undefined,\n });\n\n // Send login link if selected\n if (formData.isSendLoginLink && formData.buttonLink) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: formData.buttonTitle,\n buttons: [{\n id: 'login-btn',\n action_type: 'url',\n text: formData.buttonName,\n action: formData.buttonLink\n }]\n }]\n });\n }\n\n this.isAdminRegisterPopupOpen = false;\n this.adminRegisterFormData = formData;\n\n // Refresh profile to update UI\n await this.fetchProfile();\n\n } catch (error) {\n handleError(error, 'Failed to register admin');\n } finally {\n this.isLoading = false;\n }\n };\n\n\n renderAdminRegisterPopup() {\n return (\n <admin-register-popup\n isOpen={this.isAdminRegisterPopupOpen}\n data={this.adminRegisterFormData}\n registerType={this.shopProfile?.register_type}\n onPopupClose={() => this.isAdminRegisterPopupOpen = false}\n onPopupSave={this.handleAdminRegisterSave}\n onFormDataChange={(e) => this.adminRegisterFormData = e.detail}\n />\n );\n }\n\n renderMemberView() {\n const t = useTranslation();\n const pointOptions = this.shopProfile?.membership_format_value?.map(p => ({ label: p, value: p })) || [];\n const pointConditionOptions = this.zrmzCondition?.result.conditions?.filter(c => c.is_active).map(c => ({ label: c.name, value: c.id })) || [];\n\n return (\n <div>\n\n <customer-info-edit-popup\n isOpen={this.isEditPopupOpen}\n data={this.editFormData}\n saveEnabled={this.hasFormChanged()}\n isLoading={this.isCustomerInfoLoading}\n onPopupClose={this.handleEditClose}\n onPopupSave={this.handleEditSave}\n onFormDataChange={(e) => this.editFormData = e.detail}\n />\n\n <div class=\"zrmz-card relative\">\n <img\n src={this.getImgProfile()}\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.handleShareClick()}>\n {this.isLoadingShareMenu ? <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" /> : <Icon name=\"Share2\" addClass=\"text-primary size-5\" />}\n </div>\n {this.isShareMenuOpen && (\n <div class=\"zrmz-share-menu\">\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSaveImage()}>\n {t('chat_profile_view.zrmz.save_image')}\n </div>\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSendToChat()}>\n {t('chat_profile_view.zrmz.send_to_chat')}\n </div>\n </div>\n )}\n </div>\n {/* Point Section */}\n <div class=\"zrmz-point-section\">\n <point-update-popup\n isOpen={this.isPointEditPopupOpen}\n data={this.pointEditFormData}\n pointOptions={pointOptions}\n pointConditionOptions={pointConditionOptions}\n isLoading={this.isPointUpdateLoading}\n onPopupClose={this.handlePointEditClose}\n onPopupSave={this.handlePointEditSave}\n onFormDataChange={(e) => this.pointEditFormData = e.detail}\n />\n\n <div class=\"zrmz-point-edit-link underline cursor-pointer\" onClick={() => this.handlePointEditClick()}>\n {t('chat_profile_view.zrmz.update_point')}\n </div>\n {\n this.customerInfo?.points?.map((point) => (\n <div class=\"zrmz-point-content\">\n <div class=\"zrmz-point-label\">{point.point_type}</div>\n <div class=\"zrmz-point-value\">{point.amount}</div>\n </div>\n ))\n }\n </div>\n\n {/* Tabs */}\n <div class=\"zrmz-tabs\">\n <div\n class={`zrmz-tab ${this.activeTab === 'info' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'info'}\n >\n {t('chat_profile_view.zrmz.customer_info')}\n </div>\n <div\n class={`zrmz-tab ${this.activeTab === 'history' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'history'}\n >\n {t('chat_profile_view.zrmz.point_history')}\n </div>\n </div>\n\n {/* Tab Content */}\n <div class=\"zrmz-tab-content\">\n {this.activeTab === 'info' ? (\n <div class=\"zrmz-info-content\">\n <div class=\"zrmz-info-edit-icon\" onClick={() => this.handleEditClick()}>\n <Icon name=\"Edit\" addClass=\"text-primary size-5\" />\n </div>\n <div class=\"zrmz-info-content-inner\">\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.name_surname')}</div>\n <div class=\"zrmz-info-value\">{[this.customerInfo?.first_name, this.customerInfo?.last_name].filter(Boolean).join(' ') || '-'}</div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.phone_number')}</div>\n <div class=\"zrmz-info-value\">\n {this.customerInfo?.phone_number ? `+${this.customerInfo?.phone_number_country_code || ''}${this.customerInfo?.phone_number}` : '-'}\n </div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.email')}</div>\n <div class=\"zrmz-info-value\">{this.customerInfo?.email || '-'}</div>\n </div>\n </div>\n <div class=\"zrmz-expand-icon\">\n <div class=\"zrmz-expand-circle\" onClick={() => this.isExpand = !this.isExpand}>\n <Icon name={this.isExpand ? 'ChevronUp' : 'ChevronDown'} addClass=\"text-white size-5\" />\n </div>\n </div>\n {this.isExpand && <div class=\"zrmz-disconnect-wrapper\">\n <ZButton\n variant=\"outlined\"\n fullWidth\n onClick={() => this.handleDisconnectClick()}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.disconnect_member')}</span>}\n />\n </div>}\n </div>\n ) : (\n <div class=\"zrmz-history-content\">\n {this.pointHistory?.transactions?.map((transaction) => (\n <div class=\"zrmz-history-item\">\n <div class=\"zrmz-history-row\">\n <div class=\"zrmz-history-action\">\n {transaction.action === 'add' ? t('add') : t('chat_profile_view.zrmz.remove')}\n </div>\n <div class=\"zrmz-history-point\">\n {transaction.amount} {transaction.point_type}\n </div>\n </div>\n <p class=\"zrmz-history-remark\">{transaction.remark}</p>\n <div class=\"zrmz-history-date\">\n {displayDateTime(new Date(transaction.created_at))}\n </div>\n </div>\n ))}\n {this.pointHistory && (this.pointHistory.transactions?.length || 0) < this.pointHistory.total && (\n <div class=\"zrmz-load-more\" onClick={() => this.fetchPointHistory(this.lastConnectionId, this.lastZrmCustomerId, true)}>\n {this.isHistoryLoading ? t('chat_profile_view.zrmz.loading') : t('chat_profile_view.zrmz.load_more')}\n </div>\n )}\n {!this.pointHistory?.transactions?.length && !this.isHistoryLoading && (\n <div class=\"text-center text-gray-500 py-4\">{t('chat_profile_view.zrmz.no_history')}</div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n renderLockOverlay() {\n const t = useTranslation();\n if (!this.isExpired && (!this.isLimitReach || this.getIsMember())) return null;\n\n return (\n <div class=\"zrmz-lock-overlay\">\n <div class=\"zrmz-lock-content\">\n <div class=\"zrmz-lock-icon\">\n <Icon name=\"AlertCircle\" addClass=\"text-red-500 w-16 h-16\" />\n </div>\n <div class=\"zrmz-lock-title\">{this.isExpired ? t('chat_profile_view.zrmz.package_expired') : t('chat_profile_view.zrmz.package_limit_reach')}</div>\n <div class=\"zrmz-lock-desc\" innerHTML={this.isExpired ? t('chat_profile_view.zrmz.upgrade_package_description') : t('chat_profile_view.zrmz.upgrade_package_description')}></div>\n <ZButton\n variant=\"primary\"\n label={<span class=\"text-white\">{this.isExpired ? t('chat_profile_view.zrmz.upgrade_package') : t('chat_profile_view.zrmz.upgrade_package')}</span>}\n fullWidth\n onClick={() => window.open('https://zwiz.app/login', '_blank')}\n />\n </div>\n </div>\n );\n }\n\n getIsMember() {\n return this.profile?.zrm_customer_id != null;\n }\n\n render() {\n const t = useTranslation();\n\n if (this.isLoading) {\n return (\n <Host>\n <div class=\"flex justify-center items-center h-40\">\n <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" />\n </div>\n </Host>\n );\n }\n\n if (!this.profile) {\n return <Host></Host>;\n }\n\n if (this.getIsMember()) {\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderMemberView()}\n {this.renderLockOverlay()}\n </div>\n </Host>\n )\n }\n\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderLockOverlay()}\n {this.renderAdminRegisterPopup()}\n <div class=\"zrmz-card\">\n <img\n src=\"https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png\"\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.fetchProfile()}>\n <Icon name=\"RotateCw\" addClass=\"text-primary size-5\" />\n </div>\n </div>\n\n <div class=\"zrmz-content\">\n <div class=\"zrmz-status-text\">\n {t('chat_profile_view.zrmz.not_member')}\n </div>\n\n <div class=\"zrmz-actions\">\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.send_registration_link')}</span>}\n fullWidth\n onClick={() => this.handleSendRegistrationLink()}\n />\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.admin_register')}</span>}\n fullWidth\n onClick={() => this.handleAdminRegistration()}\n />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"profile-zrmz.js","sourceRoot":"","sources":["../../../src/components/profile-zrmz/profile-zrmz.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, State, h } from '@stencil/core';\nimport dayjs from 'dayjs';\nimport { ZButton } from '../internal-component/z-button';\nimport { Icon } from '../internal-component/icon';\nimport { useTranslation } from '../../utils/utils';\nimport { selectedChatStore } from '../../store/store';\nimport { handleError, openDialog, closeDialog, DIALOG_TYPE } from '../../store/dialog';\nimport { getZrmzShopUrl, sendMessage, getZwizUserProfile, getZrmzCustomerInfo, getZrmzPointHistory, updateZrmzCustomer, getZrmzShopProfile, createZrmzCustomer, disconnectZrmzCustomer, getZrmzCondition, adjustZrmzCustomerPoint, adjustZrmzCustomerPointByCondition } from '../../api';\nimport { ZRMZ_API_URL } from '../../utils/constant';\nimport { GetZwizUserProfileResponse, ZrmzCustomerInfo, ZrmzPointHistory, ZrmzShopProfile, GetZrmzConditionResponse } from '../../api/type';\nimport { displayDateTime } from '../../utils/dayjs';\nimport { AdminRegisterFormData } from './admin-register-popup';\nimport { PointEditFormData } from './point-update-popup';\nimport { CustomerInfoEditFormData } from './customer-info-edit-popup';\n\n@Component({\n tag: 'profile-zrmz',\n styleUrl: 'profile-zrmz.css',\n})\nexport class ProfileZrmz {\n @State() profile: GetZwizUserProfileResponse | null = null;\n @State() shopProfile: ZrmzShopProfile | null = null;\n @State() customerInfo: ZrmzCustomerInfo | null = null;\n @State() pointHistory: ZrmzPointHistory | null = null;\n @State() zrmzCondition: GetZrmzConditionResponse | null = null;\n @State() isLoading = false;\n @State() isGeneratingShopUrl = false;\n @State() activeTab: 'info' | 'history' = 'info';\n @State() isExpand = false;\n @State() isEditPopupOpen = false;\n @State() editFormData: CustomerInfoEditFormData = {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n callingCode: '66',\n };\n @State() isCustomerInfoLoading = false;\n\n @State() isPointEditPopupOpen = false;\n @State() isPointUpdateLoading = false;\n @State() isShareMenuOpen = false;\n @State() isLoadingShareMenu = false;\n\n @State() pointEditFormData: PointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n note: '',\n conditionId: '',\n };\n\n @State() isAdminRegisterPopupOpen = false;\n @State() adminRegisterFormData: AdminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: '',\n buttonName: '',\n buttonLink: '',\n };\n\n @State() isExpired = false;\n @State() isLimitReach = false;\n\n handleCheckPackage = () => {\n let maxUser = 10\n\n if (this.shopProfile?.remaining_days_of_platinum_package) {\n maxUser = 100000\n } else if (this.shopProfile?.remaining_days_of_gold_package) {\n maxUser = 50000\n } else if (this.shopProfile?.remaining_days_of_premium_package) {\n maxUser = 10000\n } else if (this.shopProfile?.remaining_days_of_bronze_package) {\n maxUser = 5000\n }\n\n const isFree = Boolean(!this.shopProfile?.remaining_days_of_gold_package &&\n !this.shopProfile?.remaining_days_of_platinum_package &&\n !this.shopProfile?.remaining_days_of_premium_package &&\n !this.shopProfile?.remaining_days_of_bronze_package)\n\n if (isFree && this.shopProfile?.total_customers > maxUser) {\n this.isExpired = true\n } else if (this.shopProfile?.total_customers >= maxUser) {\n this.isLimitReach = true\n } else {\n this.isExpired = false\n this.isLimitReach = false\n }\n };\n\n handlePointEditClick = () => {\n this.pointEditFormData = {\n action: 'add',\n amount: '',\n pointType: '',\n conditionId: '',\n note: '',\n };\n this.isPointEditPopupOpen = true;\n };\n\n handleShareClick = () => {\n this.isShareMenuOpen = !this.isShareMenuOpen;\n };\n\n handleSaveImage = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n\n try {\n const url = this.getImgProfile();\n const response = await fetch(url);\n const blob = await response.blob();\n const blobUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = blobUrl;\n link.download = `zrmz-card-${this.customerInfo?.id || 'unknown'}.png`;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n window.URL.revokeObjectURL(blobUrl);\n } catch (error) {\n handleError(error);\n } finally {\n this.isLoadingShareMenu = false;\n }\n };\n\n handleSendToChat = async () => {\n this.isShareMenuOpen = false;\n this.isLoadingShareMenu = true;\n const selectedChat = selectedChatStore.get('selectedChat');\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'image',\n url: this.getImgProfile(),\n }],\n });\n this.isLoadingShareMenu = false;\n };\n\n getImgProfile() {\n const botPageData = selectedChatStore.state.botPageData;\n if (botPageData?.connect_zrm_business_profile_id && this.customerInfo?.id) {\n const timestamp = dayjs().format('x');\n return `${ZRMZ_API_URL}/api/business/${botPageData.connect_zrm_business_profile_id}/customer/${this.customerInfo.id}/card?${timestamp}&scale=2`;\n }\n return 'https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png';\n }\n\n handlePointEditClose = () => {\n this.isPointEditPopupOpen = false;\n };\n\n handlePointEditSave = async (event: CustomEvent<PointEditFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isPointUpdateLoading = true;\n\n if (formData.action === 'condition') {\n await adjustZrmzCustomerPointByCondition({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n condition_id: formData.conditionId,\n value: parseInt(formData.amount),\n });\n } else {\n await adjustZrmzCustomerPoint({\n connectionId,\n customer_id: this.profile.zrm_customer_id,\n point_type: formData.pointType,\n amount: parseInt(formData.amount),\n action: formData.action as 'add' | 'remove',\n remark: formData.note || undefined,\n });\n }\n\n await Promise.all([\n this.fetchCustomerInfo(connectionId, this.profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, this.profile.zrm_customer_id),\n ]);\n this.isPointEditPopupOpen = false;\n\n } catch (error) {\n handleError(error, 'Failed to adjust customer points');\n } finally {\n this.isPointUpdateLoading = false;\n }\n };\n\n handleDisconnectClick = () => {\n const t = useTranslation();\n openDialog({\n open: true,\n title: t('chat_profile_view.zrmz.disconnect_confirm_title'),\n contentCustom: t('chat_profile_view.zrmz.disconnect_confirm_message'),\n type: DIALOG_TYPE.WARNING,\n buttonName: t('confirm'),\n cancelButtonName: t('cancel'),\n onSubmitDialog: async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.profile?.zrm_customer_id) {\n handleError(new Error('Missing connection ID or customer ID'));\n closeDialog();\n return;\n }\n\n try {\n const response = await disconnectZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n customer_id: this.profile.zrm_customer_id,\n });\n\n if (response.success) {\n // Clear customer info and refresh profile\n this.customerInfo = null;\n this.lastZrmCustomerId = null;\n await this.fetchProfile();\n closeDialog();\n } else {\n handleError(new Error(response.message || 'Failed to disconnect customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to disconnect customer');\n }\n },\n onCloseDialog: () => closeDialog(),\n });\n };\n\n handleEditClick = () => {\n this.editFormData = {\n firstName: this.customerInfo?.first_name || '',\n lastName: this.customerInfo?.last_name || '',\n phoneNumber: this.customerInfo?.phone_number || '',\n email: this.customerInfo?.email || '',\n callingCode: this.customerInfo?.phone_number_country_code || '66',\n };\n this.isEditPopupOpen = true;\n };\n\n handleEditClose = () => {\n this.isEditPopupOpen = false;\n };\n\n handleEditSave = async () => {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !this.customerInfo?.id) {\n handleError(new Error('Missing connection ID or customer ID'));\n return;\n }\n\n try {\n this.isCustomerInfoLoading = true;\n const response = await updateZrmzCustomer({\n connectionId,\n customer_id: this.customerInfo.id,\n first_name: this.editFormData.firstName || undefined,\n last_name: this.editFormData.lastName || undefined,\n email: this.editFormData.email || undefined,\n phone_number: this.editFormData.phoneNumber || undefined,\n phone_number_country_code: this.editFormData.phoneNumber ? this.editFormData.callingCode : undefined,\n });\n\n if (response.success) {\n // Update local customer info with response data\n this.customerInfo = response.result;\n this.isEditPopupOpen = false;\n } else {\n handleError(new Error(response.message || 'Failed to update customer'));\n }\n } catch (error) {\n handleError(error, 'Failed to update customer information');\n } finally {\n this.isCustomerInfoLoading = false;\n }\n };\n\n hasFormChanged = () => {\n if (!this.customerInfo) return false;\n\n return (\n this.editFormData.firstName !== (this.customerInfo.first_name || '') ||\n this.editFormData.lastName !== (this.customerInfo.last_name || '') ||\n this.editFormData.phoneNumber !== (this.customerInfo.phone_number || '') ||\n this.editFormData.email !== (this.customerInfo.email || '') ||\n this.editFormData.callingCode !== (this.customerInfo.phone_number_country_code || '66')\n );\n };\n\n @State() isHistoryLoading = false;\n\n private disposeSelectedChatListener: () => void;\n private lastConnectionId: string | null = null;\n private lastUserId: string | null = null;\n private lastZrmCustomerId: string | null = null;\n\n async componentWillLoad() {\n await this.fetchProfile();\n\n this.disposeSelectedChatListener = selectedChatStore.onChange('selectedChat', async (newChat) => {\n if (newChat?.connection?.id && (newChat.connection.id !== this.lastConnectionId || newChat.user.id !== this.lastUserId)) {\n await this.fetchProfile();\n }\n });\n }\n\n disconnectedCallback() {\n if (this.disposeSelectedChatListener) this.disposeSelectedChatListener();\n }\n\n async fetchProfile() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n\n if (selectedChat.connection.type !== 'zwiz') {\n this.profile = null;\n this.shopProfile = null;\n this.customerInfo = null;\n this.pointHistory = null;\n return;\n }\n\n if (connectionId) {\n this.lastConnectionId = connectionId;\n this.lastUserId = selectedChat.user.id;\n try {\n this.isLoading = true;\n const [profile, shopProfile] = await Promise.all([\n getZwizUserProfile(connectionId, selectedChat.channel, selectedChat.user.id),\n getZrmzShopProfile(connectionId)\n ]);\n\n this.profile = profile;\n this.shopProfile = shopProfile.result;\n\n this.handleCheckPackage();\n\n // Fetch customer info if zrm_customer_id exists and has changed\n if (profile?.zrm_customer_id && profile.zrm_customer_id !== this.lastZrmCustomerId) {\n await Promise.all([\n this.fetchCustomerInfo(connectionId, profile.zrm_customer_id),\n this.fetchPointHistory(connectionId, profile.zrm_customer_id),\n this.fetchZrmzCondition(connectionId),\n ])\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Profile');\n } finally {\n this.isLoading = false;\n }\n }\n }\n\n async fetchCustomerInfo(connectionId: string, zrmCustomerId: string) {\n try {\n const response = await getZrmzCustomerInfo(connectionId, zrmCustomerId);\n this.customerInfo = response.result;\n this.lastZrmCustomerId = zrmCustomerId;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Customer Info');\n }\n }\n\n async fetchZrmzCondition(connectionId: string) {\n try {\n const response = await getZrmzCondition({ connectionId });\n this.zrmzCondition = response;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Condition');\n }\n }\n\n async fetchPointHistory(connectionId: string, zrmCustomerId: string, loadMore = false) {\n if (this.isHistoryLoading) return;\n\n try {\n this.isHistoryLoading = true;\n const offset = loadMore && this.pointHistory ? this.pointHistory.transactions.length : 0;\n const response = await getZrmzPointHistory({ connectionId, customerId: zrmCustomerId, limit: 10, offset });\n\n if (loadMore && this.pointHistory) {\n this.pointHistory = {\n ...response.result, // Update total\n transactions: [...(this.pointHistory.transactions || []), ...(response.result.transactions || [])],\n };\n } else {\n this.pointHistory = response.result;\n }\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Point History');\n } finally {\n this.isHistoryLoading = false;\n }\n }\n\n async handleSendRegistrationLink() {\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n const t = useTranslation();\n\n if (!connectionId || !this.profile || !selectedBotPageData) {\n return;\n }\n\n try {\n this.isGeneratingShopUrl = true;\n const response = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'register',\n });\n\n if (response.url) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: t('chat_profile_view.zrmz.register_message'),\n buttons: [\n {\n id: 'zrmz-register-button',\n action_type: 'url',\n text: t('chat_profile_view.zrmz.register_button'),\n action: response.url,\n }\n ],\n }],\n });\n }\n } catch (error) {\n const errorMessage = 'Failed to generate registration link';\n handleError(error, errorMessage);\n } finally {\n this.isGeneratingShopUrl = false;\n }\n }\n\n\n handleAdminRegistration = async () => {\n const t = useTranslation();\n const selectedChat = selectedChatStore.get('selectedChat');\n const selectedBotPageData = selectedChatStore.get('botPageData');\n const connectionId = selectedChat?.connection?.id;\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isGeneratingShopUrl = true;\n const shopUrlResponse = await getZrmzShopUrl(connectionId, {\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n zrmz_shop_profile_id: selectedBotPageData.connect_zrm_shop_profile_setting_id,\n url_type: 'login',\n });\n\n this.adminRegisterFormData = {\n phoneNumber: '',\n email: '',\n callingCode: '66',\n isSendLoginLink: true,\n buttonTitle: t('chat_profile_view.zrmz.login_info'),\n buttonName: t('chat_profile_view.zrmz.login'),\n buttonLink: shopUrlResponse.url,\n };\n this.isAdminRegisterPopupOpen = true;\n } catch (error) {\n handleError(error, 'Failed to get ZRMZ Shop URL');\n } finally {\n this.isGeneratingShopUrl = false;\n }\n };\n\n handleAdminRegisterClose = () => {\n this.isAdminRegisterPopupOpen = false;\n };\n\n handleAdminRegisterSave = async (event: CustomEvent<AdminRegisterFormData>) => {\n const formData = event.detail;\n const selectedChat = selectedChatStore.get('selectedChat');\n const connectionId = selectedChat?.connection?.id;\n const selectedBotPageData = selectedChatStore.get('botPageData');\n\n if (!connectionId || !selectedBotPageData) return;\n\n try {\n this.isLoading = true;\n\n // Call API to create customer\n await createZrmzCustomer({\n connectionId,\n channel: selectedChat.channel,\n user_id: selectedChat.user.id,\n phone_number: formData.phoneNumber || undefined,\n phone_number_country_code: formData.phoneNumber ? (formData.callingCode || undefined) : undefined,\n email: formData.email || undefined,\n });\n\n // Send login link if selected\n if (formData.isSendLoginLink && formData.buttonLink) {\n await sendMessage({\n sessionId: selectedChat.id,\n messages: [{\n type: 'button',\n text: formData.buttonTitle,\n buttons: [{\n id: 'login-btn',\n action_type: 'url',\n text: formData.buttonName,\n action: formData.buttonLink\n }]\n }]\n });\n }\n\n this.isAdminRegisterPopupOpen = false;\n this.adminRegisterFormData = formData;\n\n // Refresh profile to update UI\n await this.fetchProfile();\n\n } catch (error) {\n handleError(error, 'Failed to register admin');\n } finally {\n this.isLoading = false;\n }\n };\n\n\n renderAdminRegisterPopup() {\n return (\n <admin-register-popup\n isOpen={this.isAdminRegisterPopupOpen}\n data={this.adminRegisterFormData}\n registerType={this.shopProfile?.register_type}\n onPopupClose={() => this.isAdminRegisterPopupOpen = false}\n onPopupSave={this.handleAdminRegisterSave}\n onFormDataChange={(e) => this.adminRegisterFormData = e.detail}\n />\n );\n }\n\n renderMemberView() {\n const t = useTranslation();\n const pointOptions = this.shopProfile?.membership_format_value?.map(p => ({ label: p, value: p })) || [];\n const pointConditionOptions = this.zrmzCondition?.result.conditions?.filter(c => c.is_active).map(c => ({ label: c.name, value: c.id })) || [];\n\n return (\n <div>\n\n <customer-info-edit-popup\n isOpen={this.isEditPopupOpen}\n data={this.editFormData}\n saveEnabled={this.hasFormChanged()}\n isLoading={this.isCustomerInfoLoading}\n onPopupClose={this.handleEditClose}\n onPopupSave={this.handleEditSave}\n onFormDataChange={(e) => this.editFormData = e.detail}\n />\n\n <div class=\"zrmz-card relative\">\n <img\n src={this.getImgProfile()}\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.handleShareClick()}>\n {this.isLoadingShareMenu ? <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" /> : <Icon name=\"Share2\" addClass=\"text-primary size-5\" />}\n </div>\n {this.isShareMenuOpen && (\n <div class=\"zrmz-share-menu\">\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSaveImage()}>\n {t('chat_profile_view.zrmz.save_image')}\n </div>\n <div class=\"zrmz-share-menu-item\" onClick={() => this.handleSendToChat()}>\n {t('chat_profile_view.zrmz.send_to_chat')}\n </div>\n </div>\n )}\n </div>\n {/* Point Section */}\n <div class=\"zrmz-point-section\">\n <point-update-popup\n isOpen={this.isPointEditPopupOpen}\n data={this.pointEditFormData}\n pointOptions={pointOptions}\n pointConditionOptions={pointConditionOptions}\n isLoading={this.isPointUpdateLoading}\n onPopupClose={this.handlePointEditClose}\n onPopupSave={this.handlePointEditSave}\n onFormDataChange={(e) => this.pointEditFormData = e.detail}\n />\n\n <div class=\"zrmz-point-edit-link underline cursor-pointer\" onClick={() => this.handlePointEditClick()}>\n {t('chat_profile_view.zrmz.update_point')}\n </div>\n {\n this.customerInfo?.points?.map((point) => (\n <div class=\"zrmz-point-content\">\n <div class=\"zrmz-point-label\">{point.point_type}</div>\n <div class=\"zrmz-point-value\">{point.amount}</div>\n </div>\n ))\n }\n </div>\n\n {/* Tabs */}\n <div class=\"zrmz-tabs\">\n <div\n class={`zrmz-tab ${this.activeTab === 'info' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'info'}\n >\n {t('chat_profile_view.zrmz.customer_info')}\n </div>\n <div\n class={`zrmz-tab ${this.activeTab === 'history' ? 'active' : ''}`}\n onClick={() => this.activeTab = 'history'}\n >\n {t('chat_profile_view.zrmz.point_history')}\n </div>\n </div>\n\n {/* Tab Content */}\n <div class=\"zrmz-tab-content\">\n {this.activeTab === 'info' ? (\n <div class=\"zrmz-info-content\">\n <div class=\"zrmz-info-edit-icon\" onClick={() => this.handleEditClick()}>\n <Icon name=\"Edit\" addClass=\"text-primary size-5\" />\n </div>\n <div class=\"zrmz-info-content-inner\">\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.name_surname')}</div>\n <div class=\"zrmz-info-value\">{[this.customerInfo?.first_name, this.customerInfo?.last_name].filter(Boolean).join(' ') || '-'}</div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.phone_number')}</div>\n <div class=\"zrmz-info-value\">\n {this.customerInfo?.phone_number ? `+${this.customerInfo?.phone_number_country_code || ''}${this.customerInfo?.phone_number}` : '-'}\n </div>\n </div>\n <div class=\"zrmz-info-item\">\n <div class=\"zrmz-info-label\">{t('chat_profile_view.zrmz.email')}</div>\n <div class=\"zrmz-info-value\">{this.customerInfo?.email || '-'}</div>\n </div>\n </div>\n <div class=\"zrmz-expand-icon\">\n <div class=\"zrmz-expand-circle\" onClick={() => this.isExpand = !this.isExpand}>\n <Icon name={this.isExpand ? 'ChevronUp' : 'ChevronDown'} addClass=\"text-white size-5\" />\n </div>\n </div>\n {this.isExpand && <div class=\"zrmz-disconnect-wrapper\">\n <ZButton\n variant=\"outlined\"\n fullWidth\n onClick={() => this.handleDisconnectClick()}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.disconnect_member')}</span>}\n />\n </div>}\n </div>\n ) : (\n <div class=\"zrmz-history-content\">\n {this.pointHistory?.transactions?.map((transaction) => (\n <div class=\"zrmz-history-item\">\n <div class=\"zrmz-history-row\">\n <div class=\"zrmz-history-action\">\n {transaction.action === 'add' ? t('add') : t('chat_profile_view.zrmz.remove')}\n </div>\n <div class=\"zrmz-history-point\">\n {transaction.amount} {transaction.point_type}\n </div>\n </div>\n <p class=\"zrmz-history-remark\">{transaction.remark}</p>\n <div class=\"zrmz-history-date\">\n {displayDateTime(new Date(transaction.created_at))}\n </div>\n </div>\n ))}\n {this.pointHistory && (this.pointHistory.transactions?.length || 0) < this.pointHistory.total && (\n <div class=\"zrmz-load-more\" onClick={() => this.fetchPointHistory(this.lastConnectionId, this.lastZrmCustomerId, true)}>\n {this.isHistoryLoading ? t('chat_profile_view.zrmz.loading') : t('chat_profile_view.zrmz.load_more')}\n </div>\n )}\n {!this.pointHistory?.transactions?.length && !this.isHistoryLoading && (\n <div class=\"text-center text-gray-500 py-4\">{t('chat_profile_view.zrmz.no_history')}</div>\n )}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n renderLockOverlay() {\n const t = useTranslation();\n if (!this.isExpired && (!this.isLimitReach || this.getIsMember())) return null;\n\n return (\n <div class=\"zrmz-lock-overlay\">\n <div class=\"zrmz-lock-content\">\n <div class=\"zrmz-lock-icon\">\n <Icon name=\"AlertCircle\" addClass=\"text-red-500 w-16 h-16\" />\n </div>\n <div class=\"zrmz-lock-title\">{this.isExpired ? t('chat_profile_view.zrmz.package_expired') : t('chat_profile_view.zrmz.package_limit_reach')}</div>\n <div class=\"zrmz-lock-desc\" innerHTML={this.isExpired ? t('chat_profile_view.zrmz.upgrade_package_description') : t('chat_profile_view.zrmz.upgrade_package_description')}></div>\n <ZButton\n variant=\"primary\"\n label={<span class=\"text-white\">{this.isExpired ? t('chat_profile_view.zrmz.upgrade_package') : t('chat_profile_view.zrmz.upgrade_package')}</span>}\n fullWidth\n onClick={() => window.open('https://zwiz.app/login', '_blank')}\n />\n </div>\n </div>\n );\n }\n\n getIsMember() {\n return this.profile?.zrm_customer_id != null;\n }\n\n render() {\n const t = useTranslation();\n\n if (this.isLoading) {\n return (\n <Host>\n <div class=\"flex justify-center items-center h-40\">\n <Icon name=\"Loader2\" addClass=\"text-primary size-5 animate-spin\" />\n </div>\n </Host>\n );\n }\n\n if (!this.profile) {\n return <Host></Host>;\n }\n\n if (this.getIsMember()) {\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderMemberView()}\n {this.renderLockOverlay()}\n </div>\n </Host>\n )\n }\n\n return (\n <Host>\n <div class=\"zrmz-container\">\n {this.renderLockOverlay()}\n {this.renderAdminRegisterPopup()}\n <div class=\"zrmz-card\">\n <img\n src=\"https://zwizai-platform.s3.ap-southeast-1.amazonaws.com/zignal-package/zrmz_card.png\"\n alt=\"ZRMZ Card\"\n class=\"zrmz-card-image\"\n loading=\"lazy\"\n />\n <div class=\"zrmz-icon-button\" onClick={() => this.fetchProfile()}>\n <Icon name=\"RotateCw\" addClass=\"text-primary size-5\" />\n </div>\n </div>\n\n <div class=\"zrmz-content\">\n <div class=\"zrmz-status-text\">\n {t('chat_profile_view.zrmz.not_member')}\n </div>\n\n <div class=\"zrmz-actions\">\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.send_registration_link')}</span>}\n fullWidth\n onClick={() => this.handleSendRegistrationLink()}\n />\n <ZButton\n variant=\"outlined\"\n disabled={this.isGeneratingShopUrl}\n label={<span class=\"text-primary\">{t('chat_profile_view.zrmz.admin_register')}</span>}\n fullWidth\n onClick={() => this.handleAdminRegistration()}\n />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|
package/dist/collection/components/quick-message-add-template/quick-message-add-template.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer base{*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-space-x-reverse:0;--tw-drop-shadow-alpha:100%;border:0 solid;box-sizing:border-box;margin:0;padding:0}}/*! tailwindcss v4.1.17 | 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)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-space-x-reverse:0;--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}}}@layer theme{:host,:root{--text-xl:1.25rem;--text-xl--line-height:1.4;--color-yellow-500:oklch(79.5% .184 86.047);--container-xl:36rem;--container-3xs:16rem;--container-sm:24rem;--color-yellow-300:oklch(90.5% .182 98.111);--color-gray-600:oklch(44.6% .03 256.802);--color-slate-500:oklch(55.4% .046 257.417);--leading-relaxed:1.625;--color-red-700:oklch(50.5% .213 27.518);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-blue-500:oklch(62.3% .214 259.815);--color-pink-100:oklch(94.8% .028 342.258);--color-gray-400:oklch(70.7% .022 261.325);--font-weight-bold:700;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--leading-snug:1.375;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Kanit",var(--default-font);--default-mono-font-family:var(--font-mono);--default-font:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-surface:#000;--color-paper:#f3f4f6;--color-divider:#e5e7eb;--color-theme-gray:#6b7280;--color-overlay:#0000004d;--color-selected:#fdeef1}}@layer base{::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;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);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{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-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::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;min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-meridiem-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-color:oklch(55.1% .027 264.364);border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}:is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);border-color:oklch(54.6% .245 262.881);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{appearance:none;color:oklch(54.6% .245 262.881);print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-color:oklch(55.1% .027 264.364);border-width:1px;display:inline-block;flex-shrink:0;height:1rem;padding:0;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components{.dialog-backdrop{align-items:center;background-color:#0006;display:flex;inset:calc(var(--spacing)*0);justify-content:center;position:fixed;z-index:50}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.chat-item{align-items:flex-start;border-radius:var(--radius-xl);cursor:pointer;display:flex;margin-block:calc(var(--spacing)*1);margin-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);position:relative;--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)}:where(.chat-item>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-pin{position:absolute;right:calc(var(--spacing)*-3);top:calc(var(--spacing)*1)}.chat-item .chat-item-pin-icon{fill:currentColor;height:calc(var(--spacing)*3);rotate:45deg;width:calc(var(--spacing)*3)}.chat-item .chat-item-content-container{display:flex;flex-direction:row;width:100%}:where(.chat-item .chat-item-content-container>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-avatar-wrapper{align-self:center;flex-shrink:0;position:relative}.chat-item .chat-item-avatar-badge{bottom:calc(var(--spacing)*-.5);position:absolute;right:calc(var(--spacing)*-.5)}.chat-item .chat-item-content-wrapper{min-height:calc(var(--spacing)*18);width:100%}.chat-item .chat-item-content-main{align-items:center;display:flex}:where(.chat-item .chat-item-content-main>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*1*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*1*var(--tw-space-x-reverse))}.chat-item .chat-item-content-main-image{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.chat-item .chat-item-content-main-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-main-time{color:var(--color-gray-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-secondary{align-items:flex-start;display:flex;flex-direction:row;width:100%}.chat-item .chat-item-content-secondary-nickname{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.chat-item .chat-item-content-secondary-message,.chat-item .chat-item-content-secondary-nickname{color:var(--color-surface);-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-secondary-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-unread{background-color:var(--color-primary);border-radius:3.40282e+38px;color:var(--color-white);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-unread-mark{display:inline-block;height:calc(var(--spacing)*2.5);width:calc(var(--spacing)*2.5)}.chat-item .chat-item-content-unread-count{padding-block:calc(var(--spacing)*.5);padding-inline:calc(var(--spacing)*2)}.z-icon-button{cursor:pointer;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-icon-button:focus{--tw-outline-style:none;outline-style:none}.z-icon-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-icon-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-icon-button-disabled{cursor:not-allowed;opacity:.5}.z-button{cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button:focus{--tw-outline-style:none;outline-style:none}.z-button-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px;color:var(--color-primary)}.z-button-disabled{cursor:not-allowed;opacity:.5}.z-button-text{margin-inline:calc(var(--spacing)*2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.z-input-area-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input-area-input,.z-input-area-label{color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input-area-input{background-color:var(--color-background);border-color:var(--color-divider);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary)}.z-input-area-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-area-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input,.z-input-label{color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input{background-color:var(--color-background);border-color:var(--color-divider);border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary)}.z-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-select-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-tag-or-status-item{align-items:center;border-radius:var(--radius-2xl);gap:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);--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);display:inline-flex}.z-tag-or-status-item .z-tag-or-status-item-name{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));max-width:calc(var(--spacing)*20)}.z-tag-or-status-item .z-tag-or-status-item-icon{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-context-input{align-items:stretch;display:flex;flex-direction:row;margin-block:calc(var(--spacing)*1)}.z-context-input-key{background-color:var(--color-background);border-bottom-left-radius:var(--radius-3xl);border-color:var(--color-divider);border-style:var(--tw-border-style);border-top-left-radius:var(--radius-3xl);border-width:1px;color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));max-height:6.4rem;min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);resize:none;width:100%;--tw-ring-color:var(--color-primary);flex:1}.z-context-input-key:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-context-input-value{background-color:var(--color-background);border-bottom-right-radius:var(--radius-3xl);border-color:var(--color-primary);border-style:var(--tw-border-style);border-top-right-radius:var(--radius-3xl);border-width:1px;color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));max-height:6.4rem;min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);resize:none;width:100%;--tw-ring-color:var(--color-primary);flex:1}.z-context-input-value:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-text-with-link{color:var(--color-blue-600);text-decoration-line:underline}.z-button-group{display:inline-flex}.z-button-group-tab{border-radius:var(--radius-md);display:flex;gap:calc(var(--spacing)*1);padding:calc(var(--spacing)*.5)!important}.z-button-group-tab-overlay{background-color:var(--color-overlay)}.z-button-group-item{border-style:var(--tw-border-style);cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-width:1px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button-group-item:focus{--tw-outline-style:none;outline-style:none}.z-button-group-item-tab{align-items:center;border-radius:var(--radius-sm);display:flex;flex:1;flex-direction:column;gap:calc(var(--spacing)*2);justify-content:center;padding:calc(var(--spacing)*1)!important}.z-button-group-item-tab,.z-button-group-item-tab-selected{border-style:var(--tw-border-style)!important;border-width:0!important}.z-button-group-item-tab-selected{background-color:var(--color-white);--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)}.z-button-group-item-tab-unselected{border-style:var(--tw-border-style)!important;border-width:0!important}.z-button-group-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-group-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-group-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-group-item-first{border-bottom-left-radius:3.40282e+38px;border-top-left-radius:3.40282e+38px}.z-button-group-item-last{border-bottom-right-radius:3.40282e+38px;border-top-right-radius:3.40282e+38px}.z-button-group-item-middle{border-radius:0}.z-button-group-item-primary-selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.z-button-group-item-primary-unselected{background-color:var(--color-white);border-color:var(--color-primary);color:var(--color-primary)}.z-button-group-item-outlined-selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.z-button-group-item-outlined-unselected{background-color:#0000;border-color:var(--color-primary);color:var(--color-primary)}.z-button-group-item-disabled{cursor:not-allowed;opacity:.5}.z-button-group-item:not(:first-child){margin-left:-1px}.z-avatar-error{align-items:center;display:flex;justify-content:center}.z-avatar-2x-small{height:calc(var(--spacing)*3);min-height:calc(var(--spacing)*3);min-width:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.z-avatar-x-small{height:calc(var(--spacing)*4);min-height:calc(var(--spacing)*4);min-width:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-avatar-small{height:calc(var(--spacing)*8);min-height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.z-avatar-medium{height:calc(var(--spacing)*16);min-height:calc(var(--spacing)*16);min-width:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.z-avatar-large{height:calc(var(--spacing)*32);min-height:calc(var(--spacing)*32);min-width:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.z-avatar-full{height:100%;width:100%}.z-avatar-group{background-color:#023761;border-radius:3.40282e+38px}}@layer utilities{.hidden\!{display:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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,)}}[data-theme=light]{--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-surface:#000;--color-paper:#f3f4f6;--color-divider:#e5e7eb;--color-theme-gray:#6b7280;--color-overlay:#0000004d;--color-selected:#fdeef1}[data-theme=dark]{--color-primary:#b50f30;--color-secondary:#fff;--color-background:#23292d;--color-surface:#fff;--color-paper:#374151;--color-divider:#4b5563;--color-theme-gray:#d1d5db;--color-overlay:#ffffff4d;--color-selected:#3a242e}.scroll-container::-webkit-scrollbar{background:#0000001a;height:8px;width:8px}.scroll-container:active::-webkit-scrollbar,.scroll-container:hover::-webkit-scrollbar{background:#0003}.scroll-container:active::-webkit-scrollbar-thumb,.scroll-container:hover::-webkit-scrollbar-thumb{background:#0006;border-radius:4px}.z-zwiz-max-height{height:100vh}.bg-time-badge{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-time-badge{background-color:color-mix(in srgb,var(--color-surface)30%,transparent)}}.placeholder-surface::placeholder{color:var(--color-text-gray)}.z-width-100{width:100%}.z-width-90{width:90%}.z-width-75{width:75%}.z-width-50{width:50%}.z-width-25{width:25%}.z-width-0{width:0}.z-animate-width{transition-duration:.5s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.z-animate-grid-template-cols{transition:grid-template-rows .5s}[type=checkbox]{background-color:var(--color-gray-300);border-color:var(--color-gray-300);border-radius:4px;cursor:pointer}[type=checkbox]:checked,[type=checkbox]:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);border-radius:4px;cursor:pointer}[type=checkbox]:focus{offset:0;outline-offset:0;--tw-ring-color:var(--color-primary);outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grid-cols-1{grid-template-columns:1fr}.grid-cols-1_3{grid-template-columns:1fr 3fr}.grid-cols-1_2_1{grid-template-columns:1fr 2fr 1fr}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.visible{visibility:visible}.mx-auto{margin-inline:auto}.size-18{height:calc(var(--spacing)*18);width:calc(var(--spacing)*18)}.text-theme-gray{color:var(--color-theme-gray)}.relative{position:relative}.size-5{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.rotate-45{rotate:45deg}.bg-background{background-color:var(--color-background)}.text-blue-500{color:var(--color-blue-500)}.text-green-500{color:var(--color-green-500)}.text-primary{color:var(--color-primary)}.text-surface{color:var(--color-surface)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-auto{margin-bottom:auto}.hidden{display:none}.px-1{padding-inline:calc(var(--spacing)*1)}.text-black{color:var(--color-black)}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.col-span-2{grid-column:span 2/span 2}.my-2{margin-block:calc(var(--spacing)*2)}.w-xl{width:var(--container-xl)}.w-xs{width:var(--container-xs)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.flex{display:flex}.size-4{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.w-full{width:100%}.flex-1{flex:1}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-divider{border-color:var(--color-divider)}.bg-primary\/10{background-color:#e028481a}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.underline{text-decoration-line:underline}}@keyframes spin{to{transform:rotate(1turn)}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.ml-1{margin-left:calc(var(--spacing)*1)}.inline-flex{display:inline-flex}.size-1\.5{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5)}.h-\[40px\]{height:40px}.w-1\/4{width:25%}.rotate-0{rotate:none}.rotate-180{rotate:180deg}.flex-col{flex-direction:column}.gap-2{gap:calc(var(--spacing)*2)}.fill-current{fill:currentColor}.container{width:100%}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.m-auto{margin:auto}.size-32{height:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.size-2{height:calc(var(--spacing)*2);width:calc(var(--spacing)*2)}.bg-pink-100{background-color:var(--color-pink-100)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.inline-block{display:inline-block}.p-4{padding:calc(var(--spacing)*4)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.size-3{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.size-8{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.max-w-3xs{max-width:var(--container-3xs)}.max-w-sm{max-width:var(--container-sm)}.resize{resize:both}.rounded-br-\[0\]{border-bottom-right-radius:0}.rounded-bl-\[0\]{border-bottom-left-radius:0}.bg-black{background-color:var(--color-black)}.bg-paper{background-color:var(--color-paper)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.px-3{padding-inline:calc(var(--spacing)*3)}.text-white{color:var(--color-white)}.size-42{height:calc(var(--spacing)*42);width:calc(var(--spacing)*42)}.h-20{height:calc(var(--spacing)*20)}.w-42{width:calc(var(--spacing)*42)}.absolute{position:absolute}.right-full{right:100%}.-bottom-2{bottom:calc(var(--spacing)*-2)}.left-full{left:100%}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.size-6{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6)}.flex-row{flex-direction:row}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.rounded-full{border-radius:3.40282e+38px}.bg-yellow-300{background-color:var(--color-yellow-300)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-left{text-align:left}.text-right{text-align:right}.-right-0\.5{right:calc(var(--spacing)*-.5)}.-bottom-0\.5{bottom:calc(var(--spacing)*-.5)}.col-span-3{grid-column:span 3/span 3}.flex-wrap{flex-wrap:wrap}.gap-y-1{row-gap:calc(var(--spacing)*1)}.border-b-\[0\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.border-primary{border-color:var(--color-primary)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.whitespace-nowrap{white-space:nowrap}.h-full{height:100%}.border-transparent{border-color:#0000}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.h-40{height:calc(var(--spacing)*40)}.gap-3{gap:calc(var(--spacing)*3)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-3{bottom:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-80{z-index:80}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.contents{display:contents}.grid{display:grid}.aspect-square{aspect-ratio:1}.size-12{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12)}.size-14{height:calc(var(--spacing)*14);width:calc(var(--spacing)*14)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-\[180px\]{height:180px}.h-\[220px\]{height:220px}.h-\[280px\]{height:280px}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:calc(var(--spacing)*1)}.gap-4{gap:calc(var(--spacing)*4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[18px\]{border-radius:18px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-\[1\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-current{border-color:currentColor}.border-red-500{border-color:var(--color-red-500)}.bg-primary{background-color:var(--color-primary)}.bg-slate-900\/40{background-color:#0f172b66}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities;/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/60{background-color:color-mix(in oklab,var(--color-slate-900)60%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-12{padding-block:calc(var(--spacing)*12)}.pr-16{padding-right:calc(var(--spacing)*16)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-\[13px\]{font-size:13px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.text-red-500{color:var(--color-red-500)}.text-slate-700{color:var(--color-slate-700)}.placeholder-surface::placeholder{color:var(--color-surface)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-primary{--tw-ring-color:var(--color-primary)}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));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-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}.focus\:ring-red-200:focus{--tw-ring-color:var(--color-red-200)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.h-10{height:calc(var(--spacing)*10)}.min-h-0{min-height:calc(var(--spacing)*0)}.w-10{width:calc(var(--spacing)*10)}.min-w-0{min-width:calc(var(--spacing)*0)}.-translate-y-1\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.overflow-y-auto{overflow-y:auto}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.pr-9{padding-right:calc(var(--spacing)*9)}.break-words{overflow-wrap:break-word}.text-gray-400{color:var(--color-gray-400)}.focus\:border-primary:focus{border-color:var(--color-primary)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.top-4{top:calc(var(--spacing)*4)}.h-4{height:calc(var(--spacing)*4)}.w-4{width:calc(var(--spacing)*4)}.line-through{text-decoration-line:line-through}.inset-y-0{inset-block:calc(var(--spacing)*0)}.size-10{height:calc(var(--spacing)*10);width:calc(var(--spacing)*10)}.h-\[200px\]{height:200px}.w-60{width:calc(var(--spacing)*60)}.shrink-0{flex-shrink:0}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.self-end{align-self:flex-end}.border-surface{border-color:var(--color-surface)}.py-1{padding-block:calc(var(--spacing)*1)}.py-10{padding-block:calc(var(--spacing)*10)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.whitespace-pre-line{white-space:pre-line}.text-slate-500{color:var(--color-slate-500)}.opacity-70{opacity:.7}.shadow-\[0_8px_24px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0f172a14)}.shadow-\[0_8px_24px_rgba\(15\,23\,42\,0\.08\)\],.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.col-span-full{grid-column:1/-1}.h-16{height:calc(var(--spacing)*16)}.w-16{width:calc(var(--spacing)*16)}.auto-rows-auto{grid-auto-rows:auto}.content-start{align-content:flex-start}.p-1\.5{padding:calc(var(--spacing)*1.5)}.text-background{color:var(--color-background)}.size-16{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.size-\[8px\]{height:8px;width:8px}.size-\[10px\]{height:10px;width:10px}.text-yellow-500{color:var(--color-yellow-500)}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.z-50{z-index:50}.block{display:block}.max-h-60{max-height:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-auto\!{width:auto!important}.min-w-\[100px\]{min-width:100px}.rounded{border-radius:.25rem}.rounded-md{border-radius:var(--radius-md)}.pr-8\!{padding-right:calc(var(--spacing)*8)!important}.text-surface\/50{color:#00000080}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.text-surface\/50{color:color-mix(in oklab,var(--color-surface)50%,transparent)}}.text-surface\/70{color:#000000b3}@supports (color:color-mix(in lab,red,red)){.text-surface\/70{color:color-mix(in oklab,var(--color-surface)70%,transparent)}}.opacity-50{opacity:.5}.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)}.outline-none{--tw-outline-style:none;outline-style:none}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.col-span-1{grid-column:span 1/span 1}.m-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.w-1\/2{width:50%}.max-w-32{max-width:calc(var(--spacing)*32)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%}.bg-selected{background-color:var(--color-selected)}.text-green-700{color:var(--color-green-700)}.text-red-700{color:var(--color-red-700)}.capitalize{text-transform:capitalize}.opacity-100{opacity:1}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@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}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}:host{display:block}.quick-message-add-template-overlay{--quick-message-modal-base-z-index:var(--quick-message-modal-z-index,2147480000);--quick-message-overlay-padding:clamp(16px,2vh,40px);background:#00000080;box-sizing:border-box;display:grid;inset:0;padding:var(--quick-message-overlay-padding);place-items:center;position:fixed;z-index:var(--quick-message-modal-base-z-index)}.quick-message-add-template-container{height:min(800px,88vh);max-height:min(88vh,calc(100vh - var(--quick-message-overlay-padding,0px)*2));width:min(920px,92vw);--quick-modal-surface:var(--color-background);--quick-modal-primary:var(--color-primary);--quick-modal-primary-soft:var(--quick-modal-primary);border-radius:16px;box-shadow:0 20px 45px #11182740;display:flex;flex-direction:column;--quick-modal-primary-border:var(--quick-modal-primary);--quick-modal-primary-shadow:var(--quick-modal-primary);--quick-modal-primary-ghost:var(--quick-modal-primary)}@supports (color:color-mix(in lab,red,red)){.quick-message-add-template-container{--quick-modal-primary-soft:color-mix(in srgb,var(--quick-modal-primary)14%,transparent);--quick-modal-primary-border:color-mix(in srgb,var(--quick-modal-primary)55%,transparent);--quick-modal-primary-shadow:color-mix(in srgb,var(--quick-modal-primary)22%,transparent);--quick-modal-primary-ghost:color-mix(in srgb,var(--quick-modal-primary)18%,var(--quick-modal-surface))}}.quick-message-add-template-container.theme-dark{--quick-modal-surface:var(--color-background-dark);--quick-modal-primary:var(--color-primary-dark)}.quick-message-button-content__dialog-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:var(--quick-message-modal-dialog-z-index,2147480000)}.quick-message-button-content__dialog{max-height:90vh;overflow-y:auto;width:min(420px,100%)}.quick-message-button-content__tab{border-color:#0000}.quick-message-button-content__dialog-body{min-height:250px}.quick-message-button-content__action{display:flex;flex-direction:column;min-height:82px}.quick-message-button-content__action--empty{visibility:hidden}@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-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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@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}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{appearance:auto}[type=checkbox]:indeterminate{appearance:auto}}@media (hover:hover){.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);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,)}.z-button-group-item-tab:hover{--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)}.z-button-group-item-tab-unselected:hover{background-color:var(--color-white)}.z-button-group-item-primary-unselected:hover{--tw-brightness:brightness(95%);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,)}.z-button-group-item-outlined-unselected:hover{background-color:#e028481a}@supports (color:color-mix(in lab,red,red)){.z-button-group-item-outlined-unselected:hover{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.hover\:bg-primary\/10:hover{background-color:#e028481a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-background:hover{background-color:var(--color-background)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:opacity-100:hover{opacity:1}.hover\:bg-surface\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-surface\/10:hover{background-color:color-mix(in oklab,var(--color-surface)10%,transparent)}}}@media screen and (min-width:0){.z-max-height{height:calc(100vh - 56px)}}@media screen and (min-width:600px){.z-max-height{height:calc(100vh - 64px)}}@media (min-width:40rem){.container{max-width:40rem}.sm\:min-w-0{min-width:calc(var(--spacing)*0)}.sm\:flex-row{flex-direction:row}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:48rem){.container{max-width:48rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.container{max-width:64rem}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}@media not all and (min-width:40rem){.max-sm\:hidden{display:none}}@media (max-width:768px){.quick-message-add-template-container{max-height:88vh;width:94vw}}
|
|
1
|
+
@layer base{*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-alpha:100%;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-space-x-reverse:0;--tw-drop-shadow-alpha:100%;border:0 solid;box-sizing:border-box;margin:0;padding:0}}/*! tailwindcss v4.1.17 | 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-duration:initial;--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-space-x-reverse:0;--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}}}@layer theme{:host,:root{--text-xl:1.25rem;--text-xl--line-height:1.4;--color-yellow-500:oklch(79.5% .184 86.047);--container-xl:36rem;--color-yellow-300:oklch(90.5% .182 98.111);--container-3xs:16rem;--container-sm:24rem;--color-gray-600:oklch(44.6% .03 256.802);--color-slate-500:oklch(55.4% .046 257.417);--leading-relaxed:1.625;--color-red-700:oklch(50.5% .213 27.518);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-blue-500:oklch(62.3% .214 259.815);--color-pink-100:oklch(94.8% .028 342.258);--color-gray-400:oklch(70.7% .022 261.325);--font-weight-bold:700;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:1.33333;--text-sm:.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--text-lg:1.125rem;--text-lg--line-height:1.55556;--text-2xl:1.5rem;--text-2xl--line-height:1.33333;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--leading-snug:1.375;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Kanit",var(--default-font);--default-mono-font-family:var(--font-mono);--default-font:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-surface:#000;--color-paper:#f3f4f6;--color-divider:#e5e7eb;--color-theme-gray:#6b7280;--color-overlay:#0000004d;--color-selected:#fdeef1}}@layer base{::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;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);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{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-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::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;min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-datetime-edit-meridiem-field{padding-block:0;padding-bottom:0;padding-top:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-color:oklch(55.1% .027 264.364);border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}:is([type=text],input:where(:not([type])),[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);border-color:oklch(54.6% .245 262.881);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{appearance:none;color:oklch(54.6% .245 262.881);print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-color:oklch(55.1% .027 264.364);border-width:1px;display:inline-block;flex-shrink:0;height:1rem;padding:0;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components{.dialog-backdrop{align-items:center;background-color:#0006;display:flex;inset:calc(var(--spacing)*0);justify-content:center;position:fixed;z-index:50}@supports (color:color-mix(in lab,red,red)){.dialog-backdrop{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.chat-item{align-items:flex-start;border-radius:var(--radius-xl);cursor:pointer;display:flex;margin-block:calc(var(--spacing)*1);margin-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4);position:relative;--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)}:where(.chat-item>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-pin{position:absolute;right:calc(var(--spacing)*-3);top:calc(var(--spacing)*1)}.chat-item .chat-item-pin-icon{fill:currentColor;height:calc(var(--spacing)*3);rotate:45deg;width:calc(var(--spacing)*3)}.chat-item .chat-item-content-container{display:flex;flex-direction:row;width:100%}:where(.chat-item .chat-item-content-container>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}.chat-item .chat-item-avatar-wrapper{align-self:center;flex-shrink:0;position:relative}.chat-item .chat-item-avatar-badge{bottom:calc(var(--spacing)*-.5);position:absolute;right:calc(var(--spacing)*-.5)}.chat-item .chat-item-content-wrapper{min-height:calc(var(--spacing)*18);width:100%}.chat-item .chat-item-content-main{align-items:center;display:flex}:where(.chat-item .chat-item-content-main>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*1*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*1*var(--tw-space-x-reverse))}.chat-item .chat-item-content-main-image{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.chat-item .chat-item-content-main-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-main-name,.chat-item .chat-item-content-main-time{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-main-time{color:var(--color-gray-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-secondary{align-items:flex-start;display:flex;flex-direction:row;width:100%}.chat-item .chat-item-content-secondary-nickname{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.chat-item .chat-item-content-secondary-message,.chat-item .chat-item-content-secondary-nickname{color:var(--color-surface);-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-item .chat-item-content-secondary-message{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.chat-item .chat-item-content-unread{background-color:var(--color-primary);border-radius:3.40282e+38px;color:var(--color-white);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-left:auto}.chat-item .chat-item-content-unread-mark{display:inline-block;height:calc(var(--spacing)*2.5);width:calc(var(--spacing)*2.5)}.chat-item .chat-item-content-unread-count{padding-block:calc(var(--spacing)*.5);padding-inline:calc(var(--spacing)*2)}.z-icon-button{cursor:pointer;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-icon-button:focus{--tw-outline-style:none;outline-style:none}.z-icon-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-icon-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px}.z-icon-button-outlined,.z-icon-button-text{color:var(--color-primary)}.z-icon-button-disabled{cursor:not-allowed;opacity:.5}.z-button{cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-radius:3.40282e+38px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button:focus{--tw-outline-style:none;outline-style:none}.z-button-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-primary{background-color:var(--color-primary);color:var(--color-white)}.z-button-outlined{border-color:var(--color-primary);border-style:var(--tw-border-style);border-width:1px;color:var(--color-primary)}.z-button-disabled{cursor:not-allowed;opacity:.5}.z-button-text{margin-inline:calc(var(--spacing)*2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.z-input-area-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input-area-input,.z-input-area-label{color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input-area-input{background-color:var(--color-background);border-color:var(--color-divider);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary)}.z-input-area-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-area-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-input-label{margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-input,.z-input-label{color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.z-input{background-color:var(--color-background);border-color:var(--color-divider);border-radius:var(--radius-md);border-style:var(--tw-border-style);border-width:1px;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);width:100%;--tw-ring-color:var(--color-primary)}.z-input:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-input-error{color:var(--color-red-500);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));margin-top:calc(var(--spacing)*1)}.z-select-input-label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));margin-bottom:calc(var(--spacing)*1);--tw-font-weight:var(--font-weight-medium);display:block;font-weight:var(--font-weight-medium)}.z-tag-or-status-item{align-items:center;border-radius:var(--radius-2xl);gap:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*3);--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);display:inline-flex}.z-tag-or-status-item .z-tag-or-status-item-name{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));max-width:calc(var(--spacing)*20)}.z-tag-or-status-item .z-tag-or-status-item-icon{border-radius:3.40282e+38px;height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-context-input{align-items:stretch;display:flex;flex-direction:row;margin-block:calc(var(--spacing)*1)}.z-context-input-key{background-color:var(--color-background);border-bottom-left-radius:var(--radius-3xl);border-color:var(--color-divider);border-style:var(--tw-border-style);border-top-left-radius:var(--radius-3xl);border-width:1px;color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));max-height:6.4rem;min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);resize:none;width:100%;--tw-ring-color:var(--color-primary);flex:1}.z-context-input-key:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-context-input-value{background-color:var(--color-background);border-bottom-right-radius:var(--radius-3xl);border-color:var(--color-primary);border-style:var(--tw-border-style);border-top-right-radius:var(--radius-3xl);border-width:1px;color:var(--color-surface);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));max-height:6.4rem;min-height:2.4rem;padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*4);resize:none;width:100%;--tw-ring-color:var(--color-primary);flex:1}.z-context-input-value:focus{border-color:var(--color-primary);--tw-outline-style:none;outline-style:none}.z-text-with-link{color:var(--color-blue-600);text-decoration-line:underline}.z-button-group{display:inline-flex}.z-button-group-tab{border-radius:var(--radius-md);display:flex;gap:calc(var(--spacing)*1);padding:calc(var(--spacing)*.5)!important}.z-button-group-tab-overlay{background-color:var(--color-overlay)}.z-button-group-item{border-style:var(--tw-border-style);cursor:pointer;--tw-font-weight:var(--font-weight-medium);align-items:center;border-width:1px;display:inline-flex;font-weight:var(--font-weight-medium);justify-content:center;transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.z-button-group-item:focus{--tw-outline-style:none;outline-style:none}.z-button-group-item-tab{align-items:center;border-radius:var(--radius-sm);display:flex;flex:1;flex-direction:column;gap:calc(var(--spacing)*2);justify-content:center;padding:calc(var(--spacing)*1)!important}.z-button-group-item-tab,.z-button-group-item-tab-selected{border-style:var(--tw-border-style)!important;border-width:0!important}.z-button-group-item-tab-selected{background-color:var(--color-white);--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)}.z-button-group-item-tab-unselected{border-style:var(--tw-border-style)!important;border-width:0!important}.z-button-group-small{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));padding-block:calc(var(--spacing)*1.5);padding-inline:calc(var(--spacing)*2)}.z-button-group-medium{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));padding-block:calc(var(--spacing)*2);padding-inline:calc(var(--spacing)*3)}.z-button-group-large{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));padding-block:calc(var(--spacing)*3);padding-inline:calc(var(--spacing)*4)}.z-button-group-item-first{border-bottom-left-radius:3.40282e+38px;border-top-left-radius:3.40282e+38px}.z-button-group-item-last{border-bottom-right-radius:3.40282e+38px;border-top-right-radius:3.40282e+38px}.z-button-group-item-middle{border-radius:0}.z-button-group-item-primary-selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.z-button-group-item-primary-unselected{background-color:var(--color-white);border-color:var(--color-primary);color:var(--color-primary)}.z-button-group-item-outlined-selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.z-button-group-item-outlined-unselected{background-color:#0000;border-color:var(--color-primary);color:var(--color-primary)}.z-button-group-item-disabled{cursor:not-allowed;opacity:.5}.z-button-group-item:not(:first-child){margin-left:-1px}.z-avatar-error{align-items:center;display:flex;justify-content:center}.z-avatar-2x-small{height:calc(var(--spacing)*3);min-height:calc(var(--spacing)*3);min-width:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.z-avatar-x-small{height:calc(var(--spacing)*4);min-height:calc(var(--spacing)*4);min-width:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.z-avatar-small{height:calc(var(--spacing)*8);min-height:calc(var(--spacing)*8);min-width:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.z-avatar-medium{height:calc(var(--spacing)*16);min-height:calc(var(--spacing)*16);min-width:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.z-avatar-large{height:calc(var(--spacing)*32);min-height:calc(var(--spacing)*32);min-width:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.z-avatar-full{height:100%;width:100%}.z-avatar-group{background-color:#023761;border-radius:3.40282e+38px}}@layer utilities{.hidden\!{display:none!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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,)}}[data-theme=light]{--color-primary:#e02848;--color-secondary:#023761;--color-background:#fff;--color-surface:#000;--color-paper:#f3f4f6;--color-divider:#e5e7eb;--color-theme-gray:#6b7280;--color-overlay:#0000004d;--color-selected:#fdeef1}[data-theme=dark]{--color-primary:#b50f30;--color-secondary:#fff;--color-background:#23292d;--color-surface:#fff;--color-paper:#374151;--color-divider:#4b5563;--color-theme-gray:#d1d5db;--color-overlay:#ffffff4d;--color-selected:#3a242e}.scroll-container::-webkit-scrollbar{background:#0000001a;height:8px;width:8px}.scroll-container:active::-webkit-scrollbar,.scroll-container:hover::-webkit-scrollbar{background:#0003}.scroll-container:active::-webkit-scrollbar-thumb,.scroll-container:hover::-webkit-scrollbar-thumb{background:#0006;border-radius:4px}.z-zwiz-max-height{height:100vh}.bg-time-badge{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-time-badge{background-color:color-mix(in srgb,var(--color-surface)30%,transparent)}}.placeholder-surface::placeholder{color:var(--color-text-gray)}.z-width-100{width:100%}.z-width-90{width:90%}.z-width-75{width:75%}.z-width-50{width:50%}.z-width-25{width:25%}.z-width-0{width:0}.z-animate-width{transition-duration:.5s;transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.z-animate-grid-template-cols{transition:grid-template-rows .5s}[type=checkbox]{background-color:var(--color-gray-300);border-color:var(--color-gray-300);border-radius:4px;cursor:pointer}[type=checkbox]:checked,[type=checkbox]:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);border-radius:4px;cursor:pointer}[type=checkbox]:focus{offset:0;outline-offset:0;--tw-ring-color:var(--color-primary);outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grid-cols-1{grid-template-columns:1fr}.grid-cols-1_3{grid-template-columns:1fr 3fr}.grid-cols-1_2_1{grid-template-columns:1fr 2fr 1fr}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.container{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-divider{border-color:var(--color-divider)}.bg-background{background-color:var(--color-background)}.text-primary{color:var(--color-primary)}.text-surface{color:var(--color-surface)}.focus\:border-primary:focus{border-color:var(--color-primary)}.cursor-pointer{cursor:pointer}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-theme-gray{color:var(--color-theme-gray)}.relative{position:relative}.z-50{z-index:50}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.flex{display:flex}.size-3{height:calc(var(--spacing)*3);width:calc(var(--spacing)*3)}.size-4{height:calc(var(--spacing)*4);width:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5)}.h-5,.size-5{height:calc(var(--spacing)*5)}.h-16{height:calc(var(--spacing)*16)}.h-40{height:calc(var(--spacing)*40)}.w-5{width:calc(var(--spacing)*5)}.w-16{width:calc(var(--spacing)*16)}.flex-1{flex:1}.animate-spin{animation:var(--animate-spin)}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-primary{border-color:var(--color-primary)}.bg-primary{background-color:var(--color-primary)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.transition-opacity{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}@keyframes spin{to{transform:rotate(1turn)}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.rotate-45{rotate:45deg}.text-blue-500{color:var(--color-blue-500)}.text-green-500{color:var(--color-green-500)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-2\.5{margin-bottom:calc(var(--spacing)*2.5)}.mb-auto{margin-bottom:auto}.hidden{display:none}.px-1{padding-inline:calc(var(--spacing)*1)}.text-black{color:var(--color-black)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transition-transform{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.visible{visibility:visible}.mx-auto{margin-inline:auto}.size-18{height:calc(var(--spacing)*18);width:calc(var(--spacing)*18)}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}@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-duration{syntax:"*";inherits:false}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-end:calc(var(--spacing)*2*(1 - var(--tw-space-y-reverse)));margin-block-start:calc(var(--spacing)*2*var(--tw-space-y-reverse))}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.col-span-2{grid-column:span 2/span 2}.my-2{margin-block:calc(var(--spacing)*2)}.w-xl{width:var(--container-xl)}.w-xs{width:var(--container-xs)}.size-2{height:calc(var(--spacing)*2);width:calc(var(--spacing)*2)}.bg-pink-100{background-color:var(--color-pink-100)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.m-auto{margin:auto}.size-32{height:calc(var(--spacing)*32);width:calc(var(--spacing)*32)}.-top-12{top:calc(var(--spacing)*-12)}.-top-24{top:calc(var(--spacing)*-24)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.inline-block{display:inline-block}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.absolute{position:absolute}.right-full{right:100%}.-bottom-2{bottom:calc(var(--spacing)*-2)}.left-full{left:100%}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.size-6{height:calc(var(--spacing)*6);width:calc(var(--spacing)*6)}.flex-col{flex-direction:column}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.rounded-full{border-radius:3.40282e+38px}.bg-yellow-300{background-color:var(--color-yellow-300)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-left{text-align:left}.text-right{text-align:right}.mt-4{margin-top:calc(var(--spacing)*4)}.w-full{width:100%}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-primary\/10{background-color:#e028481a}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{.size-42{height:calc(var(--spacing)*42);width:calc(var(--spacing)*42)}.h-20{height:calc(var(--spacing)*20)}.w-42{width:calc(var(--spacing)*42)}.bg-paper{background-color:var(--color-paper)}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.h-4{height:calc(var(--spacing)*4)}.w-4{width:calc(var(--spacing)*4)}.items-end{align-items:flex-end}.text-gray-400{color:var(--color-gray-400)}.line-through{text-decoration-line:line-through}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.-right-0\.5{right:calc(var(--spacing)*-.5)}.-bottom-0\.5{bottom:calc(var(--spacing)*-.5)}.col-span-3{grid-column:span 3/span 3}.size-8{height:calc(var(--spacing)*8);width:calc(var(--spacing)*8)}.flex-wrap{flex-wrap:wrap}.gap-y-1{row-gap:calc(var(--spacing)*1)}.border-b-\[0\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:.5px}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.whitespace-nowrap{white-space:nowrap}.mb-1{margin-bottom:calc(var(--spacing)*1)}.ml-1{margin-left:calc(var(--spacing)*1)}.inline-flex{display:inline-flex}.size-1\.5{height:calc(var(--spacing)*1.5);width:calc(var(--spacing)*1.5)}.h-\[40px\]{height:40px}.w-1\/4{width:25%}.rotate-0{rotate:none}.fill-current{fill:currentColor}.h-full{height:100%}.border-transparent{border-color:#0000}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.max-w-3xs{max-width:var(--container-3xs)}.max-w-sm{max-width:var(--container-sm)}.resize{resize:both}.rounded-br-\[0\]{border-bottom-right-radius:0}.rounded-bl-\[0\]{border-bottom-left-radius:0}.bg-black{background-color:var(--color-black)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.px-3{padding-inline:calc(var(--spacing)*3)}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.inset-0{inset:calc(var(--spacing)*0)}.top-3{top:calc(var(--spacing)*3)}.right-3{right:calc(var(--spacing)*3)}.bottom-3{bottom:calc(var(--spacing)*3)}.left-3{left:calc(var(--spacing)*3)}.z-10{z-index:10}.z-80{z-index:80}.mt-6{margin-top:calc(var(--spacing)*6)}.contents{display:contents}.grid{display:grid}.aspect-square{aspect-ratio:1}.size-12{height:calc(var(--spacing)*12);width:calc(var(--spacing)*12)}.size-14{height:calc(var(--spacing)*14);width:calc(var(--spacing)*14)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-\[180px\]{height:180px}.h-\[220px\]{height:220px}.h-\[280px\]{height:280px}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-shrink-0,.shrink-0{flex-shrink:0}.cursor-not-allowed{cursor:not-allowed}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-1{gap:calc(var(--spacing)*1)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[18px\]{border-radius:18px}.rounded-xl{border-radius:var(--radius-xl)}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-\[1\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-current{border-color:currentColor}.border-red-500{border-color:var(--color-red-500)}.bg-slate-900\/40{background-color:#0f172b66}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities;/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/40{background-color:color-mix(in oklab,var(--color-slate-900)40%,transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/60{background-color:color-mix(in oklab,var(--color-slate-900)60%,transparent)}}.bg-transparent{background-color:#0000}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-3{padding-block:calc(var(--spacing)*3)}.py-12{padding-block:calc(var(--spacing)*12)}.pr-16{padding-right:calc(var(--spacing)*16)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-\[13px\]{font-size:13px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.text-slate-700{color:var(--color-slate-700)}.placeholder-surface::placeholder{color:var(--color-surface)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-primary{--tw-ring-color:var(--color-primary)}.transition-all{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));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))}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}.focus\:ring-red-200:focus{--tw-ring-color:var(--color-red-200)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-slate-200:focus{--tw-ring-color:var(--color-slate-200)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.h-10{height:calc(var(--spacing)*10)}.min-h-0{min-height:calc(var(--spacing)*0)}.w-10{width:calc(var(--spacing)*10)}.min-w-0{min-width:calc(var(--spacing)*0)}.-translate-y-1\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.overflow-y-auto{overflow-y:auto}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.pr-9{padding-right:calc(var(--spacing)*9)}.break-words{overflow-wrap:break-word}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.col-span-full{grid-column:1/-1}.auto-rows-auto{grid-auto-rows:auto}.content-start{align-content:flex-start}.p-1\.5{padding:calc(var(--spacing)*1.5)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.size-10{height:calc(var(--spacing)*10);width:calc(var(--spacing)*10)}.h-\[200px\]{height:200px}.w-60{width:calc(var(--spacing)*60)}.shrink-0{flex-shrink:0}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.self-end{align-self:flex-end}.border-surface{border-color:var(--color-surface)}.py-1{padding-block:calc(var(--spacing)*1)}.py-10{padding-block:calc(var(--spacing)*10)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.whitespace-pre-line{white-space:pre-line}.text-slate-500{color:var(--color-slate-500)}.shadow-\[0_8px_24px_rgba\(15\,23\,42\,0\.08\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0f172a14)}.shadow-\[0_8px_24px_rgba\(15\,23\,42\,0\.08\)\],.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.text-background{color:var(--color-background)}.text-yellow-500{color:var(--color-yellow-500)}.block{display:block}.rounded-md{border-radius:var(--radius-md)}.text-surface\/50{color:#00000080}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.text-surface\/50{color:color-mix(in oklab,var(--color-surface)50%,transparent)}}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-none{--tw-outline-style:none;outline-style:none}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.max-h-60{max-height:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-auto\!{width:auto!important}.min-w-\[100px\]{min-width:100px}.pr-8\!{padding-right:calc(var(--spacing)*8)!important}.text-surface\/70{color:#000000b3}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{@supports (color:color-mix(in lab,red,red)){.text-surface\/70{color:color-mix(in oklab,var(--color-surface)70%,transparent)}}.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)}.size-16{height:calc(var(--spacing)*16);width:calc(var(--spacing)*16)}.size-\[8px\]{height:8px;width:8px}.size-\[10px\]{height:10px;width:10px}.col-span-1{grid-column:span 1/span 1}.m-2{margin:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.w-1\/2{width:50%}.max-w-32{max-width:calc(var(--spacing)*32)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0)}.translate-y-0,.translate-y-full{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%}.bg-selected{background-color:var(--color-selected)}.text-green-700{color:var(--color-green-700)}.text-red-700{color:var(--color-red-700)}.capitalize{text-transform:capitalize}.opacity-100{opacity:1}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer utilities{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@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}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}:host{display:block}.quick-message-add-template-overlay{--quick-message-modal-base-z-index:var(--quick-message-modal-z-index,2147480000);--quick-message-overlay-padding:clamp(16px,2vh,40px);background:#00000080;box-sizing:border-box;display:grid;inset:0;padding:var(--quick-message-overlay-padding);place-items:center;position:fixed;z-index:var(--quick-message-modal-base-z-index)}.quick-message-add-template-container{height:min(800px,88vh);max-height:min(88vh,calc(100vh - var(--quick-message-overlay-padding,0px)*2));width:min(920px,92vw);--quick-modal-surface:var(--color-background);--quick-modal-primary:var(--color-primary);--quick-modal-primary-soft:var(--quick-modal-primary);border-radius:16px;box-shadow:0 20px 45px #11182740;display:flex;flex-direction:column;--quick-modal-primary-border:var(--quick-modal-primary);--quick-modal-primary-shadow:var(--quick-modal-primary);--quick-modal-primary-ghost:var(--quick-modal-primary)}@supports (color:color-mix(in lab,red,red)){.quick-message-add-template-container{--quick-modal-primary-soft:color-mix(in srgb,var(--quick-modal-primary)14%,transparent);--quick-modal-primary-border:color-mix(in srgb,var(--quick-modal-primary)55%,transparent);--quick-modal-primary-shadow:color-mix(in srgb,var(--quick-modal-primary)22%,transparent);--quick-modal-primary-ghost:color-mix(in srgb,var(--quick-modal-primary)18%,var(--quick-modal-surface))}}.quick-message-add-template-container.theme-dark{--quick-modal-surface:var(--color-background-dark);--quick-modal-primary:var(--color-primary-dark)}.quick-message-button-content__dialog-backdrop{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:var(--quick-message-modal-dialog-z-index,2147480000)}.quick-message-button-content__dialog{max-height:90vh;overflow-y:auto;width:min(420px,100%)}.quick-message-button-content__tab{border-color:#0000}.quick-message-button-content__dialog-body{min-height:250px}.quick-message-button-content__action{display:flex;flex-direction:column;min-height:82px}.quick-message-button-content__action--empty{visibility:hidden}@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-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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@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}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{appearance:auto}[type=checkbox]:indeterminate{appearance:auto}}@media (hover:hover){.z-button-outlined:hover,.z-button-primary:hover,.z-icon-button-outlined:hover,.z-icon-button-primary:hover,.z-icon-button-text:hover{--tw-brightness:brightness(110%);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,)}.z-button-group-item-tab:hover{--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)}.z-button-group-item-tab-unselected:hover{background-color:var(--color-white)}.z-button-group-item-primary-unselected:hover{--tw-brightness:brightness(95%);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,)}.z-button-group-item-outlined-unselected:hover{background-color:#e028481a}@supports (color:color-mix(in lab,red,red)){.z-button-group-item-outlined-unselected:hover{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.hover\:opacity-90:hover{opacity:.9}.hover\:bg-primary\/10:hover{background-color:#e028481a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,var(--color-primary)10%,transparent)}}.hover\:text-primary:hover{color:var(--color-primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-background:hover{background-color:var(--color-background)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:opacity-100:hover{opacity:1}.hover\:bg-surface\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-surface\/10:hover{background-color:color-mix(in oklab,var(--color-surface)10%,transparent)}}}@media screen and (min-width:0){.z-max-height{height:calc(100vh - 56px)}}@media screen and (min-width:600px){.z-max-height{height:calc(100vh - 64px)}}@media (min-width:40rem){.container{max-width:40rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:min-w-0{min-width:calc(var(--spacing)*0)}.sm\:flex-row{flex-direction:row}}@media (min-width:48rem){.container{max-width:48rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.container{max-width:64rem}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}@media not all and (min-width:40rem){.max-sm\:hidden{display:none}}@media (max-width:768px){.quick-message-add-template-container{max-height:88vh;width:94vw}}
|