.loading[data-v-be4206a2]{width:100%;height:100%;background-color:#ffffff80;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;z-index:9999}.loading div[data-v-be4206a2]{background-color:#000c;color:#fff;padding:6px 15px}.virtual-table[data-v-b0d7244c]{position:relative}.table-checkbox[data-v-b0d7244c]{position:absolute;z-index:4;top:9px;left:28px}[data-v-b0d7244c] .ant-table-body{position:relative;overflow:auto}[data-v-b0d7244c] .ant-table-body table{position:relative}[data-v-b0d7244c] .ant-table-body .virtual-table-scroll{position:absolute;top:0;width:100%;z-index:-1}.avatar-unread-dot[data-v-fd96b6b2]{position:absolute;top:10px;left:20px;width:9px;height:9px;background:#ff4d4f;border-radius:50%;border:1.5px solid #fff}.user-unread-dot[data-v-fd96b6b2]{position:absolute;top:15px;left:55px;width:9px;height:9px;background:#ff4d4f;border-radius:50%;border:1.5px solid #fff}.menu-unread-badge[data-v-fd96b6b2]{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff4d4f;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}@keyframes header-dot-blink-fd96b6b2{0%,to{opacity:1}50%{opacity:.3}}.header[data-v-fd96b6b2]{display:flex;align-items:center;background:#fff;padding:0 24px;box-shadow:0 2px 8px #0000000f;border-bottom:1px solid #f0f0f0;height:64px;width:100%!important;min-width:1200px!important}.header>div[data-v-fd96b6b2]{width:100%!important;background:#fff;overflow-x:hidden}.header .header-left[data-v-fd96b6b2]{display:flex;align-items:center;gap:16px}.header .header-left .trigger[data-v-fd96b6b2]{font-size:18px;cursor:pointer;transition:color .3s;color:#595959}.header .header-left .trigger[data-v-fd96b6b2]:hover{color:#1890ff}.header .header-left .logo-section[data-v-fd96b6b2]{display:flex;align-items:center;gap:12px}.header .header-left .logo-section .logo-image[data-v-fd96b6b2]{height:32px;width:auto}.header .header-left .logo-section .logo-text[data-v-fd96b6b2]{font-size:18px;font-weight:600;color:#262626;white-space:nowrap}.header .header-center-notice[data-v-fd96b6b2]{flex:1;min-width:0;display:flex;align-items:center;overflow:hidden;height:100%;padding:0 24px}.header .header-center-notice .notice-wrapper[data-v-fd96b6b2]{display:flex;align-items:center;gap:10px;width:100%;margin:0 auto;overflow:hidden;background:transparent;border:none;border-radius:0;padding:0}.header .header-center-notice .notice-wrapper .notice-icon[data-v-fd96b6b2]{font-size:17px;flex-shrink:0;animation:bell-shake-fd96b6b2 2s ease-in-out infinite}.header .header-center-notice .notice-wrapper .notice-marquee-container[data-v-fd96b6b2]{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%)}.header .header-center-notice .notice-wrapper .notice-marquee[data-v-fd96b6b2]{display:flex;white-space:nowrap;animation:marquee-scroll-fd96b6b2 linear infinite;width:-moz-max-content;width:max-content}.header .header-center-notice .notice-wrapper .notice-marquee .notice-item[data-v-fd96b6b2]{font-size:15px;color:#f33434;font-weight:500;letter-spacing:.02em;padding:0 8px;display:inline-flex;align-items:center}.header .header-center-notice .notice-wrapper .notice-marquee .notice-item .notice-separator[data-v-fd96b6b2]{color:#ffb74d;margin-left:8px;opacity:.6}.header .header-right[data-v-fd96b6b2]{display:flex;align-items:center;gap:20px;flex-shrink:0}.header .header-right .search-section .ant-input-search .ant-input[data-v-fd96b6b2]{border-radius:20px;background:#f5f5f5;border:1px solid transparent}.header .header-right .search-section .ant-input-search .ant-input[data-v-fd96b6b2]:focus{background:#fff;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.header .header-right .search-section .ant-input-search .ant-btn[data-v-fd96b6b2]{border-radius:0 20px 20px 0}.header .header-right .notification-section .notification-icon[data-v-fd96b6b2]{font-size:20px;color:#595959;cursor:pointer;transition:color .3s}.header .header-right .notification-section .notification-icon[data-v-fd96b6b2]:hover{color:#1890ff}.header .header-right .user-dropdown .user-info[data-v-fd96b6b2]{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:20px;transition:all .3s;color:#262626}.header .header-right .user-dropdown .user-info[data-v-fd96b6b2]:hover{background:#f5f5f5;color:#1890ff}.header .header-right .user-dropdown .user-info .user-avatar[data-v-fd96b6b2]{border:2px solid #f0f0f0}.header .header-right .user-dropdown .user-info .user-name[data-v-fd96b6b2]{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes marquee-scroll-fd96b6b2{0%{transform:translate(0)}to{transform:translate(calc(-1 * var(--marquee-width, 1000px)))}}@keyframes bell-shake-fd96b6b2{0%,to{transform:rotate(0)}10%{transform:rotate(-15deg)}20%{transform:rotate(15deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}50%{transform:rotate(0)}}.page-content[data-v-8b3948db]{background:#fff;min-width:1200px}.page-content-header[data-v-8b3948db]{padding:12px 24px 16px;margin-top:1px}.page-content-header .title[data-v-8b3948db]{display:block;float:left;margin-bottom:0;padding-right:12px;color:#000000d9;font-weight:600;font-size:20px;line-height:32px}.page-content-main[data-v-8b3948db]{padding:0}.chat-window-floating[data-v-77878c56]{position:fixed;right:24px;bottom:24px;width:360px;height:480px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.chat-window-header[data-v-77878c56]{background:#1f2937;color:#fff;padding:12px;display:flex;align-items:center;gap:8px}.header-btn[data-v-77878c56]{width:24px;height:24px;border-radius:4px;background:transparent;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.header-btn[data-v-77878c56]:hover{background:#ffffff1a}.chat-window-messages[data-v-77878c56]{flex:1;overflow-y:auto;padding:12px;background:#f7f9fb}.chat-msg[data-v-77878c56]{display:flex;flex-direction:column;margin-bottom:8px}.chat-msg.me[data-v-77878c56]{align-items:flex-end}.chat-msg.other[data-v-77878c56]{align-items:flex-start}.chat-bubble[data-v-77878c56]{max-width:80%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4;word-break:break-word}.chat-from-label[data-v-77878c56]{display:block;font-size:10px;opacity:.7;margin-bottom:2px;font-weight:600}.chat-msg.me .chat-bubble[data-v-77878c56]{background:#6fa94b;color:#fff;border-bottom-right-radius:4px}.chat-bubble.pending[data-v-77878c56]{opacity:.6}.chat-msg.other .chat-bubble[data-v-77878c56]{background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.chat-time[data-v-77878c56]{font-size:10px;color:#9ca3af;margin-top:2px}.cat-badge[data-v-77878c56]{display:inline-block;font-size:10px;font-weight:600;padding:1px 7px;border-radius:8px;background:#ffffff2e;color:#fff}.cat-change-btn[data-v-77878c56]{font-size:10px;color:#cbd5e1;background:transparent;border:none;text-decoration:underline;cursor:pointer;padding:0 2px}.cat-list[data-v-77878c56]{display:flex;flex-direction:column;gap:8px}.cat-item[data-v-77878c56]{text-align:left;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.cat-item[data-v-77878c56]:hover{border-color:#6fa94b;background:#f3f9ee}.cat-item.active[data-v-77878c56]{border-color:#6fa94b;background:#eaf5e1;font-weight:700}.chat-window-handle[data-v-77878c56]{display:flex;align-items:center;justify-content:flex-end;padding:6px 10px 0;background:#fff}.handle-btn[data-v-77878c56]{background:#fff;color:#6fa94b;border:1px solid #6fa94b;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.handle-btn[data-v-77878c56]:hover{background:#6fa94b;color:#fff}.handled-label[data-v-77878c56]{font-size:12px;font-weight:600;color:#52c41a}.chat-window-input[data-v-77878c56]{display:flex;align-items:center;gap:6px;padding:10px;border-top:1px solid #e5e7eb;background:#fff}.send-btn[data-v-77878c56]{background:#6fa94b;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.send-btn[data-v-77878c56]:disabled{background:#d1d5db;cursor:not-allowed}.role-badge[data-v-77878c56]{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;flex-shrink:0}.role-admin[data-v-77878c56]{background:#fde68a;color:#92400e}.role-customer[data-v-77878c56]{background:#bfdbfe;color:#1e3a8a}.chat-window-min-chip[data-v-77878c56]{position:fixed;right:24px;bottom:24px;background:#1f2937;color:#fff;padding:8px 14px;border-radius:24px;border:none;cursor:pointer;display:flex;align-items:center;font-size:13px;font-weight:600;box-shadow:0 4px 12px #0000002e;z-index:1000}.chat-window-fade-enter-active[data-v-77878c56],.chat-window-fade-leave-active[data-v-77878c56]{transition:opacity .2s ease,transform .2s ease}.chat-window-fade-enter-from[data-v-77878c56],.chat-window-fade-leave-to[data-v-77878c56]{opacity:0;transform:translateY(8px)}.layout[data-v-220acf8d]{height:100%}.booking-member-form[data-v-cb4e757d]{--text-main: #111827;--text-secondary: #4b5563;--text-third: rgba(0, 0, 0, .65);--bg-white: #ffffff;--bg-light: #f9fafb;--bg-hover: #f3f4f6;--border: #e5e7eb;--shadow: 0 4px 15px rgba(0, 0, 0, .06);--btn: #000000}.booking-member-form[data-v-cb4e757d] .ant-form-item-label{padding-bottom:.25rem}.booking-member-form[data-v-cb4e757d] .ant-form-item{margin-bottom:0;min-height:90px}.booking-member-form .input[data-v-cb4e757d]{width:100%;border-radius:.375rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.booking-member-form[data-v-cb4e757d] .ant-input{height:38px}.booking-member-form[data-v-cb4e757d] .ant-select.gender-select{width:100%!important}.booking-member-form[data-v-cb4e757d] .gender-select .ant-select-selector{width:100%!important;height:38px!important;padding:0 12px!important;border-radius:6px!important;font-size:.875rem}.booking-member-form[data-v-cb4e757d] .gender-select .ant-select-selection-item,.booking-member-form[data-v-cb4e757d] .gender-select .ant-select-selection-placeholder,.booking-member-form[data-v-cb4e757d] .gender-select .ant-select-selection-search-input{line-height:36px!important;width:150px!important}.booking-member-form[data-v-cb4e757d] .ant-form-item-required:after{display:inline-block;margin-left:4px;color:#ff4d4f;font-size:14px;line-height:1;content:"*"}.member-item[data-v-cb4e757d]{position:relative;margin-bottom:.75rem;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem;background:#fafafa}.member-row[data-v-cb4e757d]{display:flex;gap:.75rem}.member-field[data-v-cb4e757d]{margin-bottom:0;min-width:0px;flex:1 1 0%}.booking-member-form-actions[data-v-cb4e757d]{display:flex;flex-direction:row;justify-content:flex-end}.booking-member-form-actions[data-v-cb4e757d]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.booking-member-form-actions[data-v-cb4e757d]{padding-top:1.5rem}.booking-member-form-actions .action-btn[data-v-cb4e757d]{height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;border-radius:.375rem;padding:.5rem 1.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.booking-member-form-actions .btn-default[data-v-cb4e757d]:hover,.booking-member-form-actions .btn-default[data-v-cb4e757d]:focus{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));color:inherit;border-color:inherit}.booking-member-form-actions .btn-primary[data-v-cb4e757d]{background-color:var(--btn);border-color:var(--btn)}.booking-member-form-actions .btn-primary[data-v-cb4e757d]:hover,.booking-member-form-actions .btn-primary[data-v-cb4e757d]:focus{background-color:var(--btn);border-color:var(--btn)}.booking-hotel-member-form .w-full[data-v-cc511344]{width:100%}.gender-hint[data-v-cc511344]{color:#cf1322;font-size:12px;margin-bottom:8px}.form-actions[data-v-cc511344]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.pagination-bar[data-v-25e52a21]{padding:20px;background:#fff;border-top:1px solid #dde7d4;display:flex;justify-content:space-between;align-items:center;gap:16px}.pagination-info[data-v-25e52a21]{color:#555;font-size:14px}.pagination-controls[data-v-25e52a21]{display:flex;align-items:center;gap:16px}.jump-wrap[data-v-25e52a21]{display:flex;align-items:center;gap:8px}.jump-input[data-v-25e52a21]{width:56px;height:40px;text-align:center;border-radius:6px}.jump-button[data-v-25e52a21]{height:40px;border-radius:6px;background:#000;color:#fff}[data-v-25e52a21] .jump-button.ant-btn:hover,[data-v-25e52a21] .jump-button.ant-btn:active{background:#333!important;border-color:#333!important;color:#fff!important}[data-v-25e52a21] .jump-input.ant-input:hover{border-color:#dde7d4!important;box-shadow:none!important}[data-v-25e52a21] .jump-input.ant-input:focus,[data-v-25e52a21] .jump-input.ant-input-focused{border-color:#6fa94b!important;box-shadow:0 0 0 2px #6fa94b33!important}.page-size-select[data-v-25e52a21]{min-width:130px}[data-v-25e52a21] .page-size-select .ant-select-selector:hover{border-color:#dde7d4!important}[data-v-25e52a21] .page-size-select.ant-select-focused .ant-select-selector,[data-v-25e52a21] .page-size-select .ant-select-selector:focus,[data-v-25e52a21] .page-size-select .ant-select-selector:focus-within{border-color:#6fa94b!important;box-shadow:0 0 0 2px #6fa94b33!important}[data-v-25e52a21] .ant-pagination-item,[data-v-25e52a21] .ant-pagination-prev,[data-v-25e52a21] .ant-pagination-next{min-width:36px!important;height:36px!important;line-height:34px!important;border-radius:6px!important}[data-v-25e52a21] .ant-pagination-prev .ant-pagination-item-link,[data-v-25e52a21] .ant-pagination-next .ant-pagination-item-link{min-width:36px!important;height:36px!important;line-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:6px!important}[data-v-25e52a21] .ant-pagination-item-active{background:#000!important;border-color:#000!important}[data-v-25e52a21] .ant-pagination-item-active a{color:#fff!important}[data-v-25e52a21] .ant-pagination-item:hover,[data-v-25e52a21] .ant-pagination-prev:hover .ant-pagination-item-link,[data-v-25e52a21] .ant-pagination-next:hover .ant-pagination-item-link{border-color:#6fa94b!important}[data-v-25e52a21] .ant-pagination-item:hover a,[data-v-25e52a21] .ant-pagination-prev:hover .ant-pagination-item-link,[data-v-25e52a21] .ant-pagination-next:hover .ant-pagination-item-link{color:#333!important}[data-v-25e52a21] .ant-pagination-item-active:hover a{color:#fff!important}.chat-trigger[data-v-efa2087a]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#6fa94b;color:#fff;border:none;cursor:pointer;margin-left:6px;transition:background .2s ease}.chat-trigger[data-v-efa2087a]:hover{background:#5a8c3c}.chat-trigger.inactive[data-v-efa2087a]{background:#b0b0b0;cursor:default}.chat-trigger.blinking[data-v-efa2087a]{animation:chat-blink-efa2087a 1s infinite}@keyframes chat-blink-efa2087a{0%,to{box-shadow:0 0 #6fa94bb3}50%{box-shadow:0 0 0 6px #6fa94b00}}.chat-trigger-dot[data-v-efa2087a]{position:absolute;top:0;right:0;width:8px;height:8px;background:#ff4d4f;border-radius:50%;border:1.5px solid #fff;animation:chat-dot-blink-efa2087a 1s infinite}@keyframes chat-dot-blink-efa2087a{0%,to{opacity:1}50%{opacity:.3}}.icon-text-label[data-v-644a4620]{display:flex;align-items:center;gap:8px}.icon-text-label-icon[data-v-644a4620]{display:inline-flex;align-items:center;justify-content:center;color:#374151}.icon-text-label-icon[data-v-644a4620] svg,.icon-text-label-icon[data-v-644a4620] img{width:100%;height:100%;display:block;fill:currentColor}.icon-text-label-text[data-v-644a4620]{color:#374151;font-weight:600;font-size:18px}
