/*!*********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-24.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-24.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-24.use[3]!./src/styles/element-theme.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* Element Plus 全局主题色 —— 取自 logo（苹果红吉祥物）配色 */
/* 基础色板 */
/* 按 Element Plus 官方规则生成色阶：light-N 混白，dark-2 混黑 */
:root {
  --el-color-primary: #e63329;
  --el-color-primary-light-3: rgb(93.137254902%, 44%, 41.2549019608%);
  --el-color-primary-light-5: rgb(95.0980392157%, 60%, 58.0392156863%);
  --el-color-primary-light-7: rgb(97.0588235294%, 76%, 74.8235294118%);
  --el-color-primary-light-8: rgb(98.0392156863%, 84%, 83.2156862745%);
  --el-color-primary-light-9: rgb(99.0196078431%, 92%, 91.6078431373%);
  --el-color-primary-dark-2: rgb(72.1568627451%, 16%, 12.862745098%);
  --el-color-success: #7ac142;
  --el-color-success-light-3: rgb(63.4901960784%, 82.9803921569%, 48.1176470588%);
  --el-color-success-light-5: rgb(73.9215686275%, 87.8431372549%, 62.9411764706%);
  --el-color-success-light-7: rgb(84.3529411765%, 92.7058823529%, 77.7647058824%);
  --el-color-success-light-8: rgb(89.568627451%, 95.137254902%, 85.1764705882%);
  --el-color-success-light-9: rgb(94.7843137255%, 97.568627451%, 92.5882352941%);
  --el-color-success-dark-2: rgb(38.2745098039%, 60.5490196078%, 20.7058823529%);
  --el-color-warning: #f5a623;
  --el-color-warning-light-3: rgb(97.2549019608%, 75.568627451%, 39.6078431373%);
  --el-color-warning-light-5: rgb(98.0392156863%, 82.5490196078%, 56.862745098%);
  --el-color-warning-light-7: rgb(98.8235294118%, 89.5294117647%, 74.1176470588%);
  --el-color-warning-light-8: rgb(99.2156862745%, 93.0196078431%, 82.7450980392%);
  --el-color-warning-light-9: rgb(99.6078431373%, 96.5098039216%, 91.3725490196%);
  --el-color-warning-dark-2: rgb(76.862745098%, 52.0784313725%, 10.9803921569%);
  --el-color-danger: #f04438;
  --el-color-danger-light-3: rgb(95.8823529412%, 48.6666666667%, 45.3725490196%);
  --el-color-danger-light-5: rgb(97.0588235294%, 63.3333333333%, 60.9803921569%);
  --el-color-danger-light-7: rgb(98.2352941176%, 78%, 76.5882352941%);
  --el-color-danger-light-8: rgb(98.8235294118%, 85.3333333333%, 84.3921568627%);
  --el-color-danger-light-9: rgb(99.4117647059%, 92.6666666667%, 92.1960784314%);
  --el-color-danger-dark-2: rgb(75.2941176471%, 21.3333333333%, 17.568627451%);
  --el-color-info: #909399;
  --el-color-info-light-3: rgb(69.5294117647%, 70.3529411765%, 72%);
  --el-color-info-light-5: rgb(78.2352941176%, 78.8235294118%, 80%);
  --el-color-info-light-7: rgb(86.9411764706%, 87.2941176471%, 88%);
  --el-color-info-light-8: rgb(91.2941176471%, 91.5294117647%, 92%);
  --el-color-info-light-9: rgb(95.6470588235%, 95.7647058824%, 96%);
  --el-color-info-dark-2: rgb(45.1764705882%, 46.1176470588%, 48%);
  /* logo 品牌点缀色（供自定义组件使用） */
  --brand-cheek: #f6a0a0;
  --brand-cream: #f7e9c9;
  --brand-brown: #5c3a21;
}
/*!*************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-24.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-24.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-24.use[3]!./src/styles/index.scss ***!
  \*************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #333;
  background-color: #f5f0ee;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: #d4d4d4;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #bbb;
}

::-moz-selection {
  background-color: var(--el-color-primary-light-7);
  color: #333;
}

::selection {
  background-color: var(--el-color-primary-light-7);
  color: #333;
}

.container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: calc(100vh - 50px);
  margin-top: 54px;
  background: linear-gradient(180deg, #fef7f7 0%, #f5f0ee 120px);
}
.container .content {
  flex: 1 0 auto;
  width: 1440px;
  margin: 0 auto;
  padding: 24px 20px 40px;
  box-sizing: border-box;
}

/* 接口全屏加载态（跟随主题色） */
.theme-loading .el-loading-spinner .circular .path {
  stroke: var(--el-color-primary);
}
.theme-loading .el-loading-text {
  color: var(--el-color-primary);
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/loginDialog/com/userAgreement.vue?vue&type=style&index=0&id=0396d493&scoped=true&lang=scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.agreement-content[data-v-0396d493] {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 8px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}
.agreement-content p[data-v-0396d493] {
  margin: 0 0 8px;
}
.agreement-content .section[data-v-0396d493] {
  margin: 20px 0 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--el-color-primary);
}
.agreement-content .clause[data-v-0396d493] {
  color: #333;
}
.agreement-content .clause b[data-v-0396d493] {
  color: #1a1a1a;
}
.agreement-content .list[data-v-0396d493] {
  padding-left: 16px;
  color: #555;
}
.agreement-content .notice[data-v-0396d493] {
  padding: 12px 16px;
  margin-bottom: 8px;
  background-color: var(--el-color-primary-light-9);
  border-radius: 8px;
}
.agreement-content .notice .notice-title[data-v-0396d493] {
  font-weight: 600;
  color: var(--el-color-primary);
}
.agreement-content .sign[data-v-0396d493] {
  margin-top: 20px;
  padding-top: 12px;
  border-top: 1px dashed #e0e0e0;
  color: #888;
  font-size: 13px;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/loginDialog/com/privacyPolicy.vue?vue&type=style&index=0&id=5b52836e&scoped=true&lang=scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.agreement-content[data-v-5b52836e] {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 8px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}
.agreement-content p[data-v-5b52836e] {
  margin: 0 0 8px;
}
.agreement-content .section[data-v-5b52836e] {
  margin: 20px 0 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--el-color-primary);
}
.agreement-content .sub[data-v-5b52836e] {
  margin-top: 12px;
  font-weight: 600;
  color: #1a1a1a;
}
.agreement-content .clause b[data-v-5b52836e] {
  color: #1a1a1a;
}
.agreement-content .list[data-v-5b52836e] {
  padding-left: 16px;
  color: #555;
}
.agreement-content .notice[data-v-5b52836e] {
  padding: 12px 16px;
  margin-bottom: 8px;
  background-color: var(--el-color-primary-light-9);
  border-radius: 8px;
}
.agreement-content .notice .notice-title[data-v-5b52836e] {
  font-weight: 600;
  color: var(--el-color-primary);
}
.agreement-content .sign[data-v-5b52836e] {
  margin-top: 20px;
  padding-top: 12px;
  border-top: 1px dashed #e0e0e0;
  color: #888;
  font-size: 13px;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/loginDialog/index.vue?vue&type=style&index=0&id=9acf8d18&scoped=true&lang=scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.login-dialog[data-v-9acf8d18] {
  border-radius: 12px;
  overflow: hidden;
}
.login-dialog[data-v-9acf8d18] .el-dialog__header {
  padding: 0;
  margin: 0;
}
.login-dialog[data-v-9acf8d18] .el-dialog__body {
  padding: 24px 32px 32px;
}
.login-dialog .login-header[data-v-9acf8d18] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 12px;
}
.login-dialog .login-header .login-logo[data-v-9acf8d18] {
  height: 56px;
  margin-bottom: 12px;
}
.login-dialog .login-header .login-title[data-v-9acf8d18] {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}
.login-dialog .login-header .login-subtitle[data-v-9acf8d18] {
  margin-top: 6px;
  font-size: 13px;
  color: #999;
}
.login-dialog .login-tabs[data-v-9acf8d18] {
  margin-bottom: 4px;
}
.login-dialog .login-tabs[data-v-9acf8d18] .el-tabs__header {
  margin-bottom: 0;
}
.login-dialog .login-tabs[data-v-9acf8d18] .el-tabs__nav-wrap::after {
  height: 1px;
}
.login-dialog .login-submit[data-v-9acf8d18] {
  width: 100%;
  height: 42px;
  margin-top: 8px;
  font-size: 16px;
  letter-spacing: 4px;
  border-radius: 8px;
}
.login-dialog .agreement[data-v-9acf8d18] {
  display: flex;
  align-items: center;
  margin: 4px 0 4px;
  font-size: 13px;
  color: #666;
}
.login-dialog .agreement .agreement-text[data-v-9acf8d18] {
  margin-left: 6px;
  line-height: 1.4;
}
.login-dialog .agreement .link[data-v-9acf8d18] {
  color: var(--el-color-primary);
  cursor: pointer;
}
.login-dialog .agreement .link[data-v-9acf8d18]:hover {
  color: var(--el-color-primary-light-3);
}
.login-dialog .code-row[data-v-9acf8d18] {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
}
.login-dialog .code-row .code-btn[data-v-9acf8d18] {
  flex-shrink: 0;
  width: 120px;
  padding: 0;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/navigationBar/index.vue?vue&type=style&index=0&id=b488cd7c&scoped=true&lang=scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.navigationBar[data-v-b488cd7c] {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 54px;
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: none;
  box-sizing: border-box;
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.06);
}
.navigationBar .navigation-box[data-v-b488cd7c] {
  width: 1440px;
  height: 54px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.navigationBar .navigation-list[data-v-b488cd7c] {
  display: flex;
  align-items: center;
  height: 100%;
}
.navigationBar .navigation-list .logo[data-v-b488cd7c] {
  height: 32px;
  margin-right: 16px;
}
.navigationBar .navigation-list .navigation-item[data-v-b488cd7c] {
  position: relative;
  height: 100%;
  padding: 0 22px;
  display: flex;
  align-items: center;
  font-size: 15px;
  color: #555;
  cursor: pointer;
  transition: color 0.25s, background-color 0.25s;
  border-radius: 0;
}
.navigationBar .navigation-list .navigation-item[data-v-b488cd7c]:hover {
  color: var(--el-color-primary);
  background-color: var(--el-color-primary-light-9);
}
.navigationBar .navigation-list .navigation-item.active[data-v-b488cd7c] {
  color: var(--el-color-primary);
  font-weight: 600;
}
.navigationBar .navigation-list .navigation-item.active[data-v-b488cd7c]::after {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background-color: var(--el-color-primary);
  transition: all 0.25s;
}
.navigationBar .userInfo-box[data-v-b488cd7c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.navigationBar .userInfo-box .user-profile[data-v-b488cd7c] {
  display: flex;
  align-items: center;
}
.navigationBar .userInfo-box .user-profile .avatar[data-v-b488cd7c] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  margin-right: 8px;
}
.navigationBar .userInfo-box .user-profile .nickname[data-v-b488cd7c] {
  font-size: 14px;
  color: #333;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.navigationBar .userInfo-box[data-v-b488cd7c] .el-button--primary:not(.is-plain) {
  color: #fff;
  font-weight: 500;
  background-color: var(--el-color-primary);
  border-color: var(--el-color-primary);
}
.navigationBar .userInfo-box[data-v-b488cd7c] .el-button--primary:not(.is-plain):hover {
  background-color: var(--el-color-primary-light-3);
  border-color: var(--el-color-primary-light-3);
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/customerServiceFloatingWindow/index.vue?vue&type=style&index=0&id=0191aa60&lang=scss&scoped=true ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.customer-service-float[data-v-0191aa60] {
  position: fixed;
  right: 24px;
  bottom: 200px;
  z-index: 999;
  cursor: pointer;
}
.float-icon[data-v-0191aa60] {
  width: 50px;
  padding: 8px 0;
  border-radius: 25px;
  background: var(--el-color-primary);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s, box-shadow 0.3s;
}
.float-icon .icon-text[data-v-0191aa60] {
  font-size: 12px;
  line-height: 1;
}
.float-icon[data-v-0191aa60]:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.float-tooltip[data-v-0191aa60] {
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  white-space: nowrap;
}
.tooltip-title[data-v-0191aa60] {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
}
.tooltip-phone[data-v-0191aa60] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--el-color-primary);
}
.tooltip-phone .el-icon[data-v-0191aa60] {
  font-size: 16px;
}
.fade-enter-active[data-v-0191aa60],
.fade-leave-active[data-v-0191aa60] {
  transition: opacity 0.2s;
}
.fade-enter-from[data-v-0191aa60],
.fade-leave-to[data-v-0191aa60] {
  opacity: 0;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
* {
  margin: 0;
  padding: 0;
}
