.language-switcher[data-v-e1b51839]{align-items:center;display:flex}.language-switcher .el-dropdown-link[data-v-e1b51839]{cursor:pointer;color:var(--el-text-color-primary);align-items:center;gap:.5rem;transition:color .3s;display:flex}.language-switcher .el-dropdown-link[data-v-e1b51839]:hover{color:var(--el-color-primary)}.language-switcher .el-dropdown-link svg[data-v-e1b51839]{width:1.2rem;height:1.2rem}.language-switcher .active[data-v-e1b51839]{color:var(--el-color-primary);font-weight:700}.user-dropdown[data-v-0af3549c]{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;transition:background-color .2s;display:flex}.user-dropdown[data-v-0af3549c]:hover{background-color:#0000000d}.user-dropdown__avatar[data-v-0af3549c]{border:2px solid #0000;flex-shrink:0;transition:border-color .2s}.user-dropdown__avatar--guest[data-v-0af3549c]{color:#909399;background-color:#e0e0e0}.user-dropdown:hover .user-dropdown__avatar[data-v-0af3549c]{border-color:var(--el-color-primary)}.user-dropdown__name[data-v-0af3549c]{color:var(--el-text-color-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:14px;overflow:hidden}.user-dropdown__login-link[data-v-0af3549c]{color:var(--el-color-primary);margin-left:4px;font-size:14px;text-decoration:none}.user-dropdown__login-link[data-v-0af3549c]:hover{text-decoration:underline}.user-dropdown--guest .user-dropdown__name[data-v-0af3549c]{color:var(--el-text-color-secondary)}.customer-service-fab[data-v-f27495a1]{z-index:1000;position:fixed;bottom:24px;right:24px}.fab-button[data-v-f27495a1]{background:linear-gradient(135deg,var(--primary-color)0%,#1a73e8 100%);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:0 4px 20px rgba(var(--primary-color-rgb),.4);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.fab-button[data-v-f27495a1]:hover{box-shadow:0 6px 28px rgba(var(--primary-color-rgb),.5);transform:scale(1.05)}.fab-button.is-active[data-v-f27495a1]{background:#f56c6c}.service-menu[data-v-f27495a1]{background:var(--bg-primary);border-radius:var(--radius-lg);width:280px;position:absolute;bottom:70px;right:0;overflow:hidden;box-shadow:0 8px 32px #00000026}.service-menu__header[data-v-f27495a1]{background:linear-gradient(135deg,var(--primary-color)0%,#1a73e8 100%);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.service-menu__header .close-btn[data-v-f27495a1]{cursor:pointer;opacity:.8;transition:opacity .2s}.service-menu__header .close-btn[data-v-f27495a1]:hover{opacity:1}.service-menu__list[data-v-f27495a1]{flex-direction:column;gap:4px;padding:12px;display:flex}.service-item[data-v-f27495a1]{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.service-item[data-v-f27495a1]:hover{background:var(--bg-tertiary)}.service-item__icon[data-v-f27495a1]{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.service-item__icon svg[data-v-f27495a1]{width:20px;height:20px}.service-item__icon .el-icon[data-v-f27495a1]{font-size:20px}.service-item__icon--qq[data-v-f27495a1]{background:linear-gradient(135deg,#12b7f5 0%,#1da1f2 100%)}.service-item__icon--wechat[data-v-f27495a1]{background:linear-gradient(135deg,#07c160 0%,#1aad19 100%)}.service-item__icon--whatsapp[data-v-f27495a1]{background:linear-gradient(135deg,#25d366 0%,#128c7e 100%)}.service-item__icon--telegram[data-v-f27495a1]{background:linear-gradient(135deg,#08c 0%,#229ed9 100%)}.service-item__icon--facebook[data-v-f27495a1]{background:linear-gradient(135deg,#0084ff 0%,#06c 100%)}.service-item__icon--email[data-v-f27495a1]{background:linear-gradient(135deg,#ea4335 0%,#d93025 100%)}.service-item__name[data-v-f27495a1]{color:var(--text-primary);font-size:14px;font-weight:500}.wechat-qrcode[data-v-f27495a1]{text-align:center;padding:8px}.wechat-qrcode img[data-v-f27495a1]{border-radius:8px;width:150px;height:150px;margin-bottom:8px}.wechat-qrcode p[data-v-f27495a1]{color:var(--text-secondary);margin:0 0 8px;font-size:13px}.wechat-qrcode .wechat-id[data-v-f27495a1]{color:var(--text-tertiary);justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.fade-enter-active[data-v-f27495a1],.fade-leave-active[data-v-f27495a1]{transition:all .3s}.fade-enter-from[data-v-f27495a1],.fade-leave-to[data-v-f27495a1]{opacity:0;transform:translateY(10px)}@media (max-width:768px){.customer-service-fab[data-v-f27495a1]{bottom:16px;right:16px}.fab-button[data-v-f27495a1]{width:50px;height:50px}.service-menu[data-v-f27495a1]{width:260px;bottom:60px;right:-8px}}.portal-layout[data-v-2e2ef20d]{flex-direction:column;min-height:100vh;display:flex}.header[data-v-2e2ef20d]{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);background:#fffc;height:64px;position:fixed;top:0;left:0;right:0}.header__container[data-v-2e2ef20d]{align-items:center;gap:48px;max-width:1280px;height:100%;margin:0 auto;padding:0 24px;display:flex}.header__logo[data-v-2e2ef20d]{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.header__nav[data-v-2e2ef20d]{align-items:center;gap:8px;display:flex}.header__actions[data-v-2e2ef20d]{align-items:center;gap:16px;margin-left:auto;display:flex}.header__mobile-btn[data-v-2e2ef20d]{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;margin-left:auto;padding:8px;display:none}.logo-icon[data-v-2e2ef20d]{width:32px;height:32px;color:var(--primary-color)}.logo-image[data-v-2e2ef20d]{align-items:center;width:auto;height:40px;display:flex}.logo-image img[data-v-2e2ef20d]{object-fit:contain;max-width:200px;max-height:100%}.logo-text[data-v-2e2ef20d]{color:var(--text-primary);font-size:18px;font-weight:700}.nav-link[data-v-2e2ef20d]{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);cursor:pointer;align-items:center;gap:4px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.nav-link[data-v-2e2ef20d]:hover,.nav-link.active[data-v-2e2ef20d]{color:var(--primary-color);background:var(--primary-light)}.nav-dropdown-icon[data-v-2e2ef20d]{margin-left:2px;font-size:12px}.search-input[data-v-2e2ef20d]{width:200px}.search-input[data-v-2e2ef20d] .el-input__wrapper{background:var(--bg-tertiary);border:none}.search-input[data-v-2e2ef20d] .el-input__wrapper.is-focus{background:var(--bg-primary);border:1px solid var(--primary-color)}.drawer-header[data-v-2e2ef20d]{padding:0 8px}.drawer-nav[data-v-2e2ef20d]{flex-direction:column;gap:8px;padding:16px;display:flex}.drawer-link[data-v-2e2ef20d]{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);padding:12px 16px;font-size:15px;font-weight:500;text-decoration:none}.drawer-link[data-v-2e2ef20d]:hover{background:var(--bg-tertiary);color:var(--primary-color)}.drawer-link--child[data-v-2e2ef20d]{padding-left:32px;font-size:14px}.drawer-group-title[data-v-2e2ef20d]{color:var(--text-tertiary);text-transform:uppercase;padding:12px 16px 4px;font-size:12px;font-weight:600}.drawer-user[data-v-2e2ef20d]{margin-top:16px;padding:0 16px}.main[data-v-2e2ef20d]{flex:1;padding-top:64px}.footer[data-v-2e2ef20d]{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:24px 0}.footer__container[data-v-2e2ef20d]{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:0 24px;display:flex}.footer__copyright a[data-v-2e2ef20d]{color:var(--text-tertiary);font-size:13px;text-decoration:none}.footer__copyright a[data-v-2e2ef20d]:hover{color:var(--primary-color)}.footer__brand[data-v-2e2ef20d]{color:var(--text-tertiary);font-size:13px}@media (max-width:768px){.header__nav[data-v-2e2ef20d],.header__actions[data-v-2e2ef20d]{display:none}.header__mobile-btn[data-v-2e2ef20d]{display:flex}.footer__container[data-v-2e2ef20d]{text-align:center;flex-direction:column;gap:8px}}.admin-layout[data-v-f4529613]{min-height:100vh;display:flex}.admin-aside[data-v-f4529613]{background-color:#304156;flex-direction:column;transition:width .3s;display:flex}.admin-aside__logo[data-v-f4529613]{color:#fff;background-color:#263445;justify-content:center;align-items:center;gap:8px;height:60px;font-weight:600;display:flex;overflow:hidden}.admin-aside__logo .el-icon[data-v-f4529613]{flex-shrink:0}.admin-aside__title[data-v-f4529613]{white-space:nowrap;font-size:16px}.admin-aside__scrollbar[data-v-f4529613]{flex:1;overflow:hidden}.admin-menu[data-v-f4529613]{border-right:none}.admin-menu[data-v-f4529613]:not(.el-menu--collapse){width:220px}.admin-container[data-v-f4529613]{flex-direction:column;flex:1;min-width:0;display:flex}.admin-header[data-v-f4529613]{background-color:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:flex;box-shadow:0 1px 4px #00000014}.admin-header__left[data-v-f4529613]{align-items:center;gap:12px;display:flex}.admin-header__breadcrumb[data-v-f4529613]{margin-left:8px}.admin-header__right[data-v-f4529613]{align-items:center;gap:8px;display:flex}.admin-header__badge[data-v-f4529613]{margin-right:8px}.admin-header__user[data-v-f4529613]{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;transition:background-color .2s;display:flex}.admin-header__user[data-v-f4529613]:hover{background-color:#f5f7fa}.admin-header__username[data-v-f4529613]{color:#606266;font-size:14px}.admin-main[data-v-f4529613]{background-color:#f0f2f5;padding:20px;overflow-x:hidden}.admin-footer[data-v-f4529613]{text-align:center;color:#909399;background-color:#fff;border-top:1px solid #ebeef5;justify-content:center;align-items:center;height:48px;font-size:13px;display:flex}.fade-enter-active[data-v-f4529613],.fade-leave-active[data-v-f4529613]{transition:opacity .2s}.fade-enter-from[data-v-f4529613],.fade-leave-to[data-v-f4529613]{opacity:0}:root{--primary-color:#0f4c81;--primary-hover:#0a3d68;--primary-light:#e8f4fc;--accent-color:#1a73e8;--text-primary:#1a1a2e;--text-secondary:#4a5568;--text-tertiary:#718096;--bg-primary:#fff;--bg-secondary:#f7f9fc;--bg-tertiary:#edf2f7;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition:all .2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px;line-height:1.6}body{color:var(--text-primary);background-color:var(--bg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--primary-color);transition:var(--transition);text-decoration:none}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.el-button{--el-button-border-radius:var(--radius-sm);font-weight:500}.el-button--primary{--el-button-bg-color:var(--primary-color);--el-button-border-color:var(--primary-color);--el-button-hover-bg-color:var(--primary-hover);--el-button-hover-border-color:var(--primary-hover)}.el-input__wrapper{border-radius:var(--radius-sm);box-shadow:none;border:1px solid var(--border-color);transition:var(--transition)}.el-input__wrapper:hover{border-color:var(--text-tertiary)}.el-input__wrapper.is-focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.el-card{border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:none;transition:var(--transition)}.el-card:hover{box-shadow:var(--shadow-lg)}.el-menu{border:none!important}.el-menu--horizontal>.el-menu-item,.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:none!important}.container{max-width:1280px;margin:0 auto;padding:0 24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s forwards fadeInUp}