.auth-page[data-v-6e04a7a3]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:24px;position:relative;overflow:hidden}.auth-bg[data-v-6e04a7a3]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-bg-shape[data-v-6e04a7a3]{position:absolute;border-radius:50%;background:linear-gradient(135deg,#10b9810f,#06b6d40f)}.auth-bg-shape.shape-1[data-v-6e04a7a3]{width:80vw;height:80vw;max-width:600px;max-height:600px;top:-20%;right:-15%;animation:float-6e04a7a3 8s ease-in-out infinite}.auth-bg-shape.shape-2[data-v-6e04a7a3]{width:60vw;height:60vw;max-width:400px;max-height:400px;bottom:-15%;left:-10%;animation:float-6e04a7a3 10s ease-in-out infinite reverse}.auth-bg-icon[data-v-6e04a7a3]{position:absolute;top:20%;right:15%;font-size:120px;opacity:.06;animation:float-6e04a7a3 6s ease-in-out infinite}@keyframes float-6e04a7a3{0%,to{transform:translate(0)}50%{transform:translate(10px,-15px)}}.auth-card[data-v-6e04a7a3]{width:100%;max-width:420px;background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f,0 0 0 1px #0000000a;padding:40px 32px;position:relative;z-index:1;animation:cardIn-6e04a7a3 .5s ease-out}@keyframes cardIn-6e04a7a3{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-brand[data-v-6e04a7a3]{text-align:center;margin-bottom:32px}.brand-mark[data-v-6e04a7a3]{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;animation:logoPulse-6e04a7a3 2.2s ease-in-out infinite}.brand-mark svg[data-v-6e04a7a3]{width:100%;height:100%}.brand-logo-img[data-v-6e04a7a3]{width:100%;height:100%;object-fit:contain}@keyframes logoPulse-6e04a7a3{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-title[data-v-6e04a7a3]{margin:0 0 8px;font-size:26px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em}.auth-subtitle[data-v-6e04a7a3]{margin:0;font-size:14px;color:#86868b}.auth-form[data-v-6e04a7a3]{margin-top:8px}.auth-form[data-v-6e04a7a3] .el-form-item{margin-bottom:20px}.captcha-row[data-v-6e04a7a3] .el-form-item__content{width:100%}.captcha-wrap[data-v-6e04a7a3]{display:flex;gap:12px;align-items:center;width:100%}.captcha-input[data-v-6e04a7a3]{flex:1;min-width:0}.captcha-img-wrap[data-v-6e04a7a3]{flex-shrink:0;width:120px;height:44px;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f5f5f7}.captcha-img[data-v-6e04a7a3]{width:100%;height:100%;object-fit:cover;display:block}.captcha-loading[data-v-6e04a7a3]{font-size:12px;color:#86868b}.auth-form[data-v-6e04a7a3] .el-input__wrapper{border-radius:14px;padding:12px 16px;box-shadow:0 0 0 1px #00000014;transition:box-shadow .2s,border-color .2s}.auth-form[data-v-6e04a7a3] .el-input__wrapper:hover,.auth-form[data-v-6e04a7a3] .el-input__wrapper.is-focus{box-shadow:0 0 0 2px #10b981}.auth-btn[data-v-6e04a7a3]{width:100%;height:48px;border-radius:14px;font-size:16px;font-weight:600;margin-top:8px;background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 14px #10b98159;transition:transform .2s,box-shadow .2s}.auth-btn[data-v-6e04a7a3]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.auth-error[data-v-6e04a7a3]{margin:12px 0 0;font-size:13px;color:#ef4444;text-align:center}.auth-switch[data-v-6e04a7a3]{margin:20px 0 0;font-size:14px;color:#86868b;text-align:center}.auth-switch a[data-v-6e04a7a3]{color:#10b981;font-weight:500;text-decoration:none}.auth-switch a[data-v-6e04a7a3]:hover{text-decoration:underline}@media (max-width: 600px){.auth-card[data-v-6e04a7a3]{padding:32px 24px}.auth-title[data-v-6e04a7a3]{font-size:22px}}.auth-page[data-v-a10369e9]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:24px;position:relative;overflow:hidden}.auth-bg[data-v-a10369e9]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.auth-bg-shape[data-v-a10369e9]{position:absolute;border-radius:50%;background:linear-gradient(135deg,#10b9810f,#06b6d40f)}.auth-bg-shape.shape-1[data-v-a10369e9]{width:80vw;height:80vw;max-width:600px;max-height:600px;top:-20%;right:-15%;animation:float-a10369e9 8s ease-in-out infinite}.auth-bg-shape.shape-2[data-v-a10369e9]{width:60vw;height:60vw;max-width:400px;max-height:400px;bottom:-15%;left:-10%;animation:float-a10369e9 10s ease-in-out infinite reverse}.auth-bg-icon[data-v-a10369e9]{position:absolute;top:20%;right:15%;font-size:120px;opacity:.06;animation:float-a10369e9 6s ease-in-out infinite}@keyframes float-a10369e9{0%,to{transform:translate(0)}50%{transform:translate(10px,-15px)}}.auth-card[data-v-a10369e9]{width:100%;max-width:420px;background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f,0 0 0 1px #0000000a;padding:40px 32px;position:relative;z-index:1;animation:cardIn-a10369e9 .5s ease-out}@keyframes cardIn-a10369e9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-brand[data-v-a10369e9]{text-align:center;margin-bottom:28px}.brand-mark[data-v-a10369e9]{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;animation:logoPulse-a10369e9 2.2s ease-in-out infinite}.brand-mark svg[data-v-a10369e9]{width:100%;height:100%}.brand-logo-img[data-v-a10369e9]{width:100%;height:100%;object-fit:contain}@keyframes logoPulse-a10369e9{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-title[data-v-a10369e9]{margin:0 0 8px;font-size:26px;font-weight:700;color:#1d1d1f;letter-spacing:-.02em}.auth-subtitle[data-v-a10369e9]{margin:0;font-size:14px;color:#86868b}.auth-form[data-v-a10369e9]{margin-top:8px}.auth-form[data-v-a10369e9] .el-form-item{margin-bottom:18px}.captcha-row[data-v-a10369e9] .el-form-item__content{width:100%}.captcha-wrap[data-v-a10369e9]{display:flex;gap:12px;align-items:center;width:100%}.captcha-input[data-v-a10369e9]{flex:1;min-width:0}.captcha-img-wrap[data-v-a10369e9]{flex-shrink:0;width:120px;height:44px;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f5f5f7}.captcha-img[data-v-a10369e9]{width:100%;height:100%;object-fit:cover;display:block}.captcha-loading[data-v-a10369e9]{font-size:12px;color:#86868b}.auth-form[data-v-a10369e9] .el-input__wrapper{border-radius:14px;padding:12px 16px;box-shadow:0 0 0 1px #00000014;transition:box-shadow .2s,border-color .2s}.auth-form[data-v-a10369e9] .el-input__wrapper:hover,.auth-form[data-v-a10369e9] .el-input__wrapper.is-focus{box-shadow:0 0 0 2px #10b981}.auth-btn[data-v-a10369e9]{width:100%;height:48px;border-radius:14px;font-size:16px;font-weight:600;margin-top:8px;background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 14px #10b98159;transition:transform .2s,box-shadow .2s}.auth-btn[data-v-a10369e9]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.auth-error[data-v-a10369e9]{margin:12px 0 0;font-size:13px;color:#ef4444;text-align:center}.auth-switch[data-v-a10369e9]{margin:20px 0 0;font-size:14px;color:#86868b;text-align:center}.auth-switch a[data-v-a10369e9]{color:#10b981;font-weight:500;text-decoration:none}.auth-switch a[data-v-a10369e9]:hover{text-decoration:underline}@media (max-width: 600px){.auth-card[data-v-a10369e9]{padding:32px 24px}.auth-title[data-v-a10369e9]{font-size:22px}}.user-home[data-v-cca60677]{width:100%;min-height:100%;background:#fff;animation:fadeIn-cca60677 .6s ease-out;padding-bottom:24px}@keyframes fadeIn-cca60677{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-grid[data-v-cca60677]{display:grid;grid-template-columns:1fr;gap:20px}.banner-section[data-v-cca60677]{border-radius:20px;overflow:hidden;background:#f5f5f5;box-shadow:0 2px 12px #0000000f;position:relative;height:180px}.home-search[data-v-cca60677]{position:absolute;z-index:2;top:16px;right:16px;display:none;align-items:center;gap:8px}.home-search-type[data-v-cca60677] .el-input__wrapper,.home-search-input[data-v-cca60677] .el-input__wrapper{border-radius:999px}.home-search-type[data-v-cca60677]{width:120px}.home-search-input[data-v-cca60677]{width:260px}.home-search-btn[data-v-cca60677]{border-radius:999px}.banner-section .banner-carousel[data-v-cca60677],.banner-section[data-v-cca60677] .el-carousel,.banner-section[data-v-cca60677] .el-carousel__container{height:100%!important;border-radius:20px;overflow:hidden}.banner-section[data-v-cca60677] .el-carousel-item{height:100%}.banner-section[data-v-cca60677] .el-carousel__view{border-radius:20px;overflow:hidden}.banner-section[data-v-cca60677] .el-carousel__indicators{bottom:16px;left:50%;transform:translate(-50%)}.banner-section[data-v-cca60677] .el-carousel__indicator{padding:0 4px}.banner-section[data-v-cca60677] .el-carousel__indicator button{width:8px;height:8px;border-radius:50%;background:#ffffff80;transition:all .3s cubic-bezier(.4,0,.2,1);border:none}.banner-section[data-v-cca60677] .el-carousel__indicator.is-active button{width:24px;border-radius:12px;background:#fffffff2;box-shadow:0 2px 8px #0003}.banner-section[data-v-cca60677] .el-carousel__arrow{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#1d1d1f;width:40px;height:40px;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1)}.banner-section[data-v-cca60677] .el-carousel__arrow:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.banner-item[data-v-cca60677]{position:relative;width:100%;height:100%;overflow:hidden;cursor:pointer}.banner-item img[data-v-cca60677]{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.banner-item:hover img[data-v-cca60677]{transform:scale(1.08)}.banner-overlay[data-v-cca60677]{position:absolute;bottom:0;left:0;right:0;padding:24px;background:linear-gradient(to top,#0009,#0000)}.banner-title[data-v-cca60677]{font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);line-height:1.4}.banner-placeholder[data-v-cca60677]{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:#fff;border-radius:20px;position:relative;overflow:hidden;border:1px solid #eee}.placeholder-icon[data-v-cca60677]{font-size:64px;margin-bottom:16px;position:relative;z-index:1;animation:float-cca60677 3s ease-in-out infinite}.placeholder-text[data-v-cca60677]{font-size:24px;font-weight:700;color:#1d1d1f;margin-bottom:8px;position:relative;z-index:1}.placeholder-desc[data-v-cca60677]{font-size:14px;color:#10b981;position:relative;z-index:1}@keyframes float-cca60677{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.module-card[data-v-cca60677]{background:#fff;border-radius:20px;padding:24px;border:1px solid #eee;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.module-card[data-v-cca60677]:hover{box-shadow:0 4px 20px #00000014}.module-header[data-v-cca60677]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.module-header-left[data-v-cca60677]{display:flex;flex-direction:column;gap:2px}.more-link[data-v-cca60677]{font-size:14px;font-weight:600;color:#667eea;text-decoration:none;white-space:nowrap;padding:6px 12px;border-radius:8px;transition:all .2s}.more-link[data-v-cca60677]:hover{background:#667eea1a;color:#4f46e5}.module-header h2[data-v-cca60677]{margin:0;font-size:20px;font-weight:700;color:#1f2937}.module-sub[data-v-cca60677]{font-size:13px;color:#6b7280;font-weight:500}.venue-list[data-v-cca60677]{display:grid;grid-template-columns:1fr;gap:12px}.venue-item[data-v-cca60677]{display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s ease;border:1px solid #eee}.venue-avatar[data-v-cca60677]{width:52px;height:52px;border-radius:12px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#e0e7ff,#f3e8ff);display:flex;align-items:center;justify-content:center}.venue-avatar .avatar-img[data-v-cca60677]{width:100%;height:100%;object-fit:cover}.venue-avatar .avatar-placeholder[data-v-cca60677]{font-size:20px;font-weight:700;color:#667eea}.venue-item[data-v-cca60677]:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1f}.venue-info[data-v-cca60677]{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.venue-name[data-v-cca60677]{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.venue-address[data-v-cca60677]{font-size:13px;color:#6b7280;margin-bottom:6px}.venue-meta[data-v-cca60677]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.venue-price[data-v-cca60677]{font-size:14px;font-weight:600;color:#667eea}.venue-rating[data-v-cca60677]{font-size:12px;color:#6b7280}.deal-scroll[data-v-cca60677]{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.deal-scroll[data-v-cca60677]::-webkit-scrollbar{height:6px}.deal-scroll[data-v-cca60677]::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.deal-scroll[data-v-cca60677]::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px}.deal-card[data-v-cca60677]{min-width:200px;max-width:220px;border-radius:16px;background:#fff;color:#1f2937;cursor:pointer;transition:all .3s ease;border:1px solid #eee;position:relative;overflow:hidden;display:flex;flex-direction:column}.deal-cover[data-v-cca60677]{width:100%;height:120px;background:#f3f4f6;flex-shrink:0}.deal-img[data-v-cca60677]{width:100%;height:100%;object-fit:cover}.deal-img-placeholder[data-v-cca60677]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px}.deal-body[data-v-cca60677]{padding:12px 14px;flex:1}.deal-merchant[data-v-cca60677]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.deal-merchant-logo[data-v-cca60677]{width:18px;height:18px;border-radius:50%;object-fit:cover}.deal-merchant-name[data-v-cca60677]{font-size:11px;color:#9ca3af}.deal-card[data-v-cca60677]:hover{border-color:#667eea;box-shadow:0 4px 20px #00000014}.deal-title[data-v-cca60677]{font-size:15px;font-weight:700;margin-bottom:6px;position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-venue[data-v-cca60677]{font-size:11px;color:#9ca3af;margin-bottom:8px}.deal-prices[data-v-cca60677]{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.deal-price[data-v-cca60677]{font-size:22px;font-weight:800;color:#f59e0b}.deal-origin[data-v-cca60677]{font-size:13px;text-decoration:line-through;color:#9ca3af}.deal-meta[data-v-cca60677]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.deal-tag[data-v-cca60677]{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.deal-stock[data-v-cca60677]{font-size:12px;color:#6b7280;font-weight:500}.deal-distance[data-v-cca60677]{font-size:12px;color:#6b7280;padding:4px 10px;border-radius:12px;background:#f3f4f6}.booking-list[data-v-cca60677]{display:flex;flex-direction:column;gap:12px}.booking-item[data-v-cca60677]{padding:16px;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s ease;border:1px solid #eee}.booking-item[data-v-cca60677]:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1f}.booking-title[data-v-cca60677]{font-size:15px;font-weight:600}.booking-venue[data-v-cca60677],.booking-time[data-v-cca60677]{font-size:13px;color:#4b5563;margin-top:4px}.booking-sub[data-v-cca60677]{font-size:13px;color:#6b7280;margin-top:4px}.empty-text[data-v-cca60677]{font-size:14px;color:#9ca3af;text-align:center;padding:32px 16px}.mall-entry[data-v-cca60677]{cursor:pointer;background:#fff;border:1px dashed #ddd;transition:all .3s ease}.mall-entry[data-v-cca60677]:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1a}.mall-desc[data-v-cca60677]{font-size:14px;color:#6b7280;margin-top:12px;line-height:1.6}.member-card[data-v-cca60677]{background:#fff;color:#1f2937;border:1px solid #eee;position:relative;overflow:hidden}.member-header[data-v-cca60677]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.member-level[data-v-cca60677]{display:flex;align-items:center;gap:12px}.level-badge[data-v-cca60677]{padding:8px 16px;border-radius:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:800;font-size:16px}.level-name[data-v-cca60677]{font-size:18px;font-weight:700;color:#1f2937}.member-points[data-v-cca60677]{font-size:15px;font-weight:600;color:#6b7280}.member-check-in-row[data-v-cca60677]{margin-bottom:16px}.member-check-in-row .check-in-btn[data-v-cca60677]{border-radius:20px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);border:none}.member-benefits[data-v-cca60677]{display:flex;flex-wrap:wrap;gap:10px}.benefit-item[data-v-cca60677]{padding:8px 16px;border-radius:20px;background:#f5f5f7;font-size:13px;font-weight:500;color:#374151;border:1px solid #eee;transition:all .3s}.benefit-item[data-v-cca60677]:hover{background:#eee}.desktop-only[data-v-cca60677]{display:none}@media (min-width: 1024px){.desktop-only[data-v-cca60677]{display:block}}@media (min-width: 1024px){.home-grid[data-v-cca60677]{grid-template-columns:1fr 340px;gap:20px 24px;max-width:1200px;margin:0 auto}.home-search[data-v-cca60677]{display:flex}.banner-section[data-v-cca60677]{grid-column:1 / -1;height:320px}.section-bookings[data-v-cca60677]{grid-column:1;min-width:0}.member-card[data-v-cca60677]{grid-column:2;grid-row:2;align-self:start}.section-venues[data-v-cca60677],.module-card.mall-entry[data-v-cca60677],.home-grid .module-card[data-v-cca60677]:not(.section-bookings):not(.member-card){grid-column:1 / -1}.banner-item[data-v-cca60677]{height:320px}.banner-title[data-v-cca60677]{font-size:24px}.banner-placeholder[data-v-cca60677]{min-height:320px}.placeholder-icon[data-v-cca60677]{font-size:80px}.placeholder-text[data-v-cca60677]{font-size:32px}.placeholder-desc[data-v-cca60677]{font-size:16px}.venue-list[data-v-cca60677]{grid-template-columns:repeat(2,1fr)}.deal-scroll[data-v-cca60677]{gap:24px}.deal-card[data-v-cca60677]{min-width:280px;max-width:300px;padding:28px}.module-header h2[data-v-cca60677]{font-size:24px}.module-sub[data-v-cca60677]{font-size:14px}.member-card .member-benefits[data-v-cca60677]{flex-direction:column}}@media (max-width: 1023px){.home-grid[data-v-cca60677]{gap:14px;padding:0 12px}.user-home[data-v-cca60677]{padding-bottom:16px}.banner-section[data-v-cca60677]{border-radius:16px;height:180px}.banner-item[data-v-cca60677]{height:100%}.module-card[data-v-cca60677]{padding:16px;border-radius:16px}.module-header[data-v-cca60677]{margin-bottom:14px}.module-header h2[data-v-cca60677]{font-size:17px}.module-sub[data-v-cca60677]{font-size:12px}.section-bookings .booking-item[data-v-cca60677]{padding:14px}.section-bookings .booking-title[data-v-cca60677]{font-size:14px}.section-bookings .booking-sub[data-v-cca60677]{font-size:12px}.venue-item[data-v-cca60677]{padding:14px}.deal-card[data-v-cca60677]{min-width:160px;max-width:180px;padding:14px}.deal-title[data-v-cca60677]{font-size:14px}.deal-price[data-v-cca60677]{font-size:18px}.mall-desc[data-v-cca60677]{font-size:13px;margin-top:8px}}.notification-bell-wrapper[data-v-23c93b85]{position:relative}.notification-bell[data-v-23c93b85]{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .3s ease;color:#667eea}.notification-bell[data-v-23c93b85]:hover{background:#667eea1a;transform:scale(1.05)}.notification-bell svg[data-v-23c93b85]{width:22px;height:22px}.badge[data-v-23c93b85]{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466;animation:pulse-23c93b85 2s ease-in-out infinite}@keyframes pulse-23c93b85{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-popover-content[data-v-23c93b85]{max-height:500px;display:flex;flex-direction:column}.notification-header[data-v-23c93b85]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(0,0,0,.06)}.notification-title[data-v-23c93b85]{font-size:16px;font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.notification-loading[data-v-23c93b85],.notification-empty[data-v-23c93b85]{padding:40px 20px;text-align:center;color:#86868b}.notification-loading[data-v-23c93b85]{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-icon[data-v-23c93b85]{font-size:48px;margin-bottom:12px}.empty-text[data-v-23c93b85]{font-size:14px}.notification-list[data-v-23c93b85]{max-height:400px;overflow-y:auto;padding:8px 0}.notification-item[data-v-23c93b85]{display:flex;gap:12px;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.notification-item[data-v-23c93b85]:hover{background:#667eea0d}.notification-item.unread[data-v-23c93b85]{background:#667eea14;border-left-color:#667eea}.notification-icon[data-v-23c93b85]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#667eea1a;color:#667eea}.notification-icon.type-order[data-v-23c93b85]{background:#ef44441a;color:#ef4444}.notification-icon.type-booking[data-v-23c93b85]{background:#3b82f61a;color:#3b82f6}.notification-icon.type-system[data-v-23c93b85]{background:#667eea1a;color:#667eea}.notification-icon.type-finance[data-v-23c93b85]{background:#22c55e1a;color:#22c55e}.notification-icon svg[data-v-23c93b85]{width:18px;height:18px}.notification-content[data-v-23c93b85]{flex:1;min-width:0}.notification-title-row[data-v-23c93b85]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notification-item-title[data-v-23c93b85]{font-size:14px;font-weight:600;color:#1d1d1f;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-dot[data-v-23c93b85]{width:8px;height:8px;border-radius:50%;background:#ef4444;flex-shrink:0;animation:pulse-23c93b85 2s ease-in-out infinite}.notification-text[data-v-23c93b85]{font-size:12px;color:#6e6e73;margin:4px 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time[data-v-23c93b85]{font-size:11px;color:#86868b}.notification-footer[data-v-23c93b85]{padding:12px 16px;border-top:1px solid rgba(0,0,0,.06);text-align:center}.notification-popover{padding:0!important}.login-dialog[data-v-c8ace73b] .el-dialog__header{padding:24px 24px 0;margin-right:0}.login-dialog[data-v-c8ace73b] .el-dialog__body{padding:16px 24px 24px}.dialog-brand[data-v-c8ace73b]{text-align:center;margin-bottom:8px}.brand-mark[data-v-c8ace73b]{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:logoPulse-c8ace73b 2.2s ease-in-out infinite}.brand-mark svg[data-v-c8ace73b],.brand-logo-img[data-v-c8ace73b]{width:100%;height:100%;object-fit:contain}@keyframes logoPulse-c8ace73b{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.dialog-title[data-v-c8ace73b]{margin:0 0 4px;font-size:22px;font-weight:700;color:#1d1d1f}.dialog-subtitle[data-v-c8ace73b]{margin:0;font-size:13px;color:#86868b}.login-form[data-v-c8ace73b] .el-form-item{margin-bottom:18px}.captcha-row[data-v-c8ace73b] .el-form-item__content{width:100%}.captcha-wrap[data-v-c8ace73b]{display:flex;gap:12px;align-items:center;width:100%}.captcha-input[data-v-c8ace73b]{flex:1;min-width:0}.captcha-img-wrap[data-v-c8ace73b]{flex-shrink:0;width:110px;height:40px;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f5f5f7}.captcha-img[data-v-c8ace73b]{width:100%;height:100%;object-fit:cover;display:block}.captcha-loading[data-v-c8ace73b]{font-size:12px;color:#86868b}.login-form[data-v-c8ace73b] .el-input__wrapper{border-radius:12px;box-shadow:0 0 0 1px #00000014}.auth-btn[data-v-c8ace73b]{width:100%;height:44px;border-radius:12px;font-size:15px;font-weight:600;margin-top:4px;background:linear-gradient(135deg,#10b981,#059669);border:none}.auth-error[data-v-c8ace73b]{margin:10px 0 0;font-size:13px;color:#ef4444;text-align:center}.auth-switch[data-v-c8ace73b]{margin:16px 0 0;font-size:14px;color:#86868b;text-align:center}.auth-switch a[data-v-c8ace73b]{color:#10b981;font-weight:500;text-decoration:none}.auth-switch a[data-v-c8ace73b]:hover{text-decoration:underline}.register-dialog[data-v-99179072] .el-dialog__header{padding:24px 24px 0;margin-right:0}.register-dialog[data-v-99179072] .el-dialog__body{padding:16px 24px 24px}.dialog-brand[data-v-99179072]{text-align:center;margin-bottom:8px}.brand-mark[data-v-99179072]{width:64px;height:64px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:logoPulse-99179072 2.2s ease-in-out infinite}.brand-mark svg[data-v-99179072],.brand-logo-img[data-v-99179072]{width:100%;height:100%;object-fit:contain}@keyframes logoPulse-99179072{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.dialog-title[data-v-99179072]{margin:0 0 4px;font-size:22px;font-weight:700;color:#1d1d1f}.dialog-subtitle[data-v-99179072]{margin:0;font-size:13px;color:#86868b}.register-form[data-v-99179072] .el-form-item{margin-bottom:16px}.captcha-row[data-v-99179072] .el-form-item__content{width:100%}.captcha-wrap[data-v-99179072]{display:flex;gap:12px;align-items:center;width:100%}.captcha-input[data-v-99179072]{flex:1;min-width:0}.captcha-img-wrap[data-v-99179072]{flex-shrink:0;width:110px;height:40px;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,0,.08);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f5f5f7}.captcha-img[data-v-99179072]{width:100%;height:100%;object-fit:cover;display:block}.captcha-loading[data-v-99179072]{font-size:12px;color:#86868b}.register-form[data-v-99179072] .el-input__wrapper{border-radius:12px;box-shadow:0 0 0 1px #00000014}.auth-btn[data-v-99179072]{width:100%;height:44px;border-radius:12px;font-size:15px;font-weight:600;margin-top:4px;background:linear-gradient(135deg,#10b981,#059669);border:none}.auth-error[data-v-99179072]{margin:10px 0 0;font-size:13px;color:#ef4444;text-align:center}.auth-switch[data-v-99179072]{margin:16px 0 0;font-size:14px;color:#86868b;text-align:center}.auth-switch a[data-v-99179072]{color:#10b981;font-weight:500;text-decoration:none}.auth-switch a[data-v-99179072]:hover{text-decoration:underline}.user-layout[data-v-a77af424]{min-height:100vh;display:flex;flex-direction:column;background:#fff}.desktop-header[data-v-a77af424]{position:sticky;top:0;z-index:1000;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffb8;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000001a;display:none}.header-content[data-v-a77af424]{max-width:1400px;margin:0 auto;padding:0 32px;height:72px;display:flex;align-items:center;justify-content:space-between}.logo-area[data-v-a77af424]{display:flex;align-items:center;gap:12px;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logo-area[data-v-a77af424]:hover{transform:scale(1.05)}.logo-mark[data-v-a77af424]{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse-a77af424 2s ease-in-out infinite}@keyframes pulse-a77af424{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.logo-mark svg[data-v-a77af424]{width:24px;height:24px}.logo-img[data-v-a77af424]{width:100%;height:100%;object-fit:contain;border-radius:12px}.logo-text[data-v-a77af424]{font-size:20px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.desktop-nav[data-v-a77af424]{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.nav-link[data-v-a77af424]{position:relative;padding:10px 20px;color:#1f2937;text-decoration:none;font-size:15px;font-weight:500;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.nav-link[data-v-a77af424]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .3s;border-radius:12px}.nav-link[data-v-a77af424]:hover:before{opacity:1}.nav-link.router-link-active[data-v-a77af424]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.nav-link.router-link-active[data-v-a77af424]:before{display:none}.nav-text[data-v-a77af424]{position:relative;z-index:1}.nav-search-wrap[data-v-a77af424]{display:flex;align-items:center;gap:0;flex-shrink:0;width:320px;max-width:360px;background:#0000000a;border-radius:999px;overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:border-color .2s,box-shadow .2s}.nav-search-wrap[data-v-a77af424]:hover,.nav-search-wrap[data-v-a77af424]:focus-within{border-color:#667eea66;box-shadow:0 0 0 2px #667eea1a}.nav-search-type[data-v-a77af424]{flex-shrink:0;width:90px}.nav-search-type[data-v-a77af424] .el-input__wrapper{border-radius:999px 0 0 999px;border-right:1px solid rgba(0,0,0,.06);box-shadow:none;background:transparent;padding:0 12px}.nav-search-type[data-v-a77af424] .el-input__inner{font-size:14px;font-weight:500;color:#374151}.nav-search-type[data-v-a77af424] .el-select__wrapper,.nav-search-type[data-v-a77af424] .el-select .el-input.is-focus .el-input__wrapper{box-shadow:none}.nav-search-input[data-v-a77af424]{flex:1;min-width:0}.nav-search-input[data-v-a77af424] .el-input__wrapper{border-radius:0;box-shadow:none;background:transparent}.nav-search-input[data-v-a77af424] .el-input__inner{font-size:14px}.nav-search-icon[data-v-a77af424]{width:16px;height:16px;color:#9ca3af}.nav-search-btn[data-v-a77af424]{flex-shrink:0;border-radius:0 999px 999px 0;height:36px;padding:0 16px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);border:none}.header-actions[data-v-a77af424]{display:flex;align-items:center;gap:12px}.action-btn[data-v-a77af424]{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#667eea1a;color:#667eea;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;text-decoration:none}.action-btn[data-v-a77af424]:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.action-btn svg[data-v-a77af424]{width:20px;height:20px}.mobile-header[data-v-a77af424]{position:sticky;top:0;z-index:1000;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 4px 16px #00000014;display:block}.mobile-header-content[data-v-a77af424]{padding:0 16px;height:60px;display:flex;align-items:center;justify-content:space-between}.mobile-header .logo-area[data-v-a77af424]{gap:10px}.mobile-header .logo-mark[data-v-a77af424]{width:36px;height:36px}.mobile-header .logo-text[data-v-a77af424]{font-size:18px}.mobile-actions[data-v-a77af424]{display:flex;align-items:center;gap:8px}.mobile-action-btn[data-v-a77af424]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#667eea1a;color:#667eea;text-decoration:none;transition:all .3s}.mobile-action-btn[data-v-a77af424]:active{transform:scale(.95);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mobile-action-btn svg[data-v-a77af424]{width:20px;height:20px}.content[data-v-a77af424]{flex:1;padding:16px;position:relative;background:#f5f5f7}.bottom-nav[data-v-a77af424]{position:fixed;bottom:0;left:0;right:0;height:72px;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffd9;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-around;z-index:1000;box-shadow:0 -4px 16px #00000014;padding-bottom:env(safe-area-inset-bottom);overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-item[data-v-a77af424]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;color:#9ca3af;text-decoration:none;font-size:11px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px;position:relative;flex:1;min-width:0;cursor:pointer}.nav-item[data-v-a77af424]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:0 0 3px 3px;transition:width .3s;pointer-events:none}.nav-item.router-link-active[data-v-a77af424]{color:#667eea}.nav-item.router-link-active[data-v-a77af424]:before{width:32px}.nav-icon-wrapper[data-v-a77af424]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .3s}.nav-item.router-link-active .nav-icon-wrapper[data-v-a77af424]{background:linear-gradient(135deg,#667eea26,#764ba226)}.nav-icon[data-v-a77af424]{width:22px;height:22px;stroke-width:2;transition:all .3s}.nav-item.router-link-active .nav-icon[data-v-a77af424]{transform:scale(1.1)}.nav-label[data-v-a77af424]{font-size:11px;font-weight:500;transition:all .3s}.nav-item.router-link-active .nav-label[data-v-a77af424]{font-weight:600}.mobile-only[data-v-a77af424]{display:flex}.desktop-only[data-v-a77af424]{display:none}.content[data-v-a77af424]{padding-bottom:88px}@media (min-width: 1024px){.desktop-header[data-v-a77af424]{display:block}.mobile-header[data-v-a77af424],.mobile-only[data-v-a77af424]{display:none}.desktop-only[data-v-a77af424]{display:block}.content[data-v-a77af424]{padding:24px 48px;max-width:1400px;margin:0 auto;width:100%;background:#f5f5f7}}@media (max-width: 1023px){.content[data-v-a77af424]{padding:12px;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}.nav-search-popper.el-select-dropdown{border-radius:12px;box-shadow:0 8px 24px #0000001f;border:1px solid rgba(0,0,0,.06);padding:6px 0}.nav-search-popper .el-select-dropdown__item{padding:10px 16px;font-size:14px;font-weight:500}.nav-search-popper .el-select-dropdown__item.selected{color:#667eea;font-weight:600}.nav-search-popper .el-select-dropdown__item.hover{background:#667eea14}.user-main .back-btn-wrap{display:flex;flex-shrink:0}@media (min-width: 1024px){.user-main .back-btn-wrap{display:none!important}}.user-main .back-btn,.user-main button.back-btn{background:#fff!important;color:#64748b!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 8px #0000000f}.user-main .back-btn:hover,.user-main button.back-btn:hover{color:#667eea!important;border-color:#667eea4d!important}.user-main .back-btn svg,.user-main button.back-btn svg{display:block;width:20px;height:20px;margin:0 auto;color:inherit}
