:root,
:root[theme] {
  --dy8-blue: #2164e8;
  --dy8-blue-dark: #1654cf;
  --dy8-bg: #edf4fd;
  --dy8-panel: #ffffff;
  --dy8-navy: #141925;
  --dy8-navy-2: #1b2230;
  --dy8-ink: #111827;
  --dy8-text: #4b5565;
  --dy8-muted: #8a96a8;
  --dy8-line: #d9e3ef;
  --dy8-orange: #ef4423;
  --dy8-green: #0db37e;
  --color-primary: var(--dy8-blue) !important;
  --color-price-text: var(--dy8-orange) !important;
}

/* 会员中心：按参考站的深色侧栏、深色顶栏和白色数据面板重建。 */
.template > .el-container {
  min-height: 100vh;
}

.el-aside {
  width: 206px !important;
  padding: 0 !important;
  color: #b9c2d1 !important;
  background: var(--dy8-navy) !important;
  box-shadow: none !important;
}

.ali-logo {
  width: auto !important;
  max-width: 154px !important;
  height: 54px !important;
  margin: 5px 20px !important;
  filter: brightness(0) invert(1);
  object-fit: contain;
}

.dy8-menu-label {
  padding: 13px 24px 6px;
  color: #768196;
  font-size: 11px;
  line-height: 1;
}

.menu-top {
  margin-top: 0 !important;
  padding: 0 10px !important;
  background: transparent !important;
}

.menu-top .el-menu-item,
.menu-top .el-submenu__title {
  height: 42px !important;
  margin: 3px 0 !important;
  padding: 0 14px !important;
  color: #b9c2d1 !important;
  border-radius: 7px !important;
  line-height: 42px !important;
}

.menu-top .el-menu-item.is-active,
.menu-top .el-submenu.is-active > .el-submenu__title {
  color: #fff !important;
  background: #1c3157 !important;
  box-shadow: none !important;
}

.menu-top .iconfont {
  width: 23px;
  color: inherit !important;
  font-size: 17px !important;
  text-align: center;
}

.aside-menu-text {
  display: inline-block !important;
  margin-left: 9px !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

.el-aside > .line {
  margin: 10px 18px !important;
  border-color: #252c39 !important;
}

.el-header {
  left: 206px !important;
  width: calc(100% - 206px) !important;
  height: 64px !important;
  padding: 0 24px !important;
  color: #fff;
  background: var(--dy8-navy) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.el-header .header-left {
  min-width: 0;
  height: 64px;
}

.dy8-console-page-title {
  color: #fff;
  font-size: 18px;
  line-height: 64px;
}

.el-header .right-item,
.el-header .el-dropdown-header {
  color: #d8deea !important;
}

.el-header .header-right-item img {
  filter: brightness(0) invert(1);
  opacity: .84;
}

.el-main {
  min-width: 0 !important;
  padding: 74px 20px 50px !important;
  background: #f1f4fa !important;
}

.main-card,
.qqg-console-head {
  width: 100% !important;
  max-width: none !important;
}

.home-main {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.home-main > .qqg-console-head {
  display: none !important;
}

.dy8-console-welcome {
  display: grid;
  min-height: 154px;
  grid-template-columns: minmax(0, 1fr) 324px;
  margin-bottom: 14px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.99), rgba(245,251,255,.96)),
    #fff;
  border: 1px solid #d8e6f5;
  border-radius: 3px;
}

.dy8-console-welcome-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 27px 22px;
}

.dy8-console-welcome h2 {
  margin: 0;
  color: var(--dy8-ink);
  font-size: 21px;
}

.dy8-console-quick {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}

.dy8-console-quick button,
.dy8-console-quick a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  color: var(--dy8-blue);
  background: #fff;
  border: 1px solid #b8cff4;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.dy8-console-quick button:first-child {
  color: #fff;
  background: var(--dy8-blue);
  border-color: var(--dy8-blue);
}

.dy8-console-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid #dce7f3;
}

.dy8-console-summary > div {
  display: flex;
  min-height: 58px;
  flex-direction: column;
  justify-content: center;
  padding: 10px 14px;
}

.dy8-console-summary > div:nth-child(odd) {
  border-right: 1px solid #e0e8f2;
}

.dy8-console-summary > div:nth-child(-n+2) {
  border-bottom: 1px solid #e0e8f2;
}

.dy8-console-summary span,
.dy8-account-strip span {
  color: var(--dy8-muted);
  font-size: 10px;
}

.dy8-console-summary strong {
  margin-top: 5px;
  color: var(--dy8-ink);
  font-size: 18px;
}

.dy8-console-summary > div:nth-child(1) strong { color: var(--dy8-orange); }
.dy8-console-summary > div:nth-child(2) strong { color: var(--dy8-green); }
.dy8-console-summary > div:nth-child(3) strong { color: var(--dy8-blue); }

.dy8-account-strip {
  display: grid;
  min-height: 116px;
  grid-template-columns: minmax(210px, 1.2fr) minmax(220px, 1.3fr) repeat(3, minmax(130px, .75fr));
  margin-bottom: 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--dy8-line);
  border-radius: 3px;
}

.dy8-account-strip > div {
  display: flex;
  min-width: 0;
  justify-content: center;
  flex-direction: column;
  padding: 20px;
  border-right: 1px solid #e6ebf2;
}

.dy8-account-strip > div:last-child {
  border-right: 0;
}

.dy8-account-user {
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  cursor: pointer;
}

.dy8-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  flex: 0 0 42px;
  color: #fff !important;
  background: var(--dy8-blue);
  border-radius: 50%;
  font-size: 16px !important;
  font-weight: 700;
}

.dy8-account-user div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.dy8-account-user strong {
  overflow: hidden;
  color: var(--dy8-ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dy8-account-user small {
  margin-top: 5px;
  color: var(--dy8-muted);
  font-size: 10px;
}

.dy8-account-balance > strong {
  margin: 7px 0 10px;
  color: var(--dy8-ink);
  font-size: 25px;
}

.dy8-account-balance > strong small {
  color: var(--dy8-muted);
  font-size: 9px;
  font-weight: 500;
}

.dy8-account-balance div {
  display: flex;
  gap: 8px;
}

.dy8-account-balance button,
.dy8-account-balance a {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 0 12px;
  color: var(--dy8-blue);
  background: #fff;
  border: 1px solid #bdd1f2;
  border-radius: 2px;
  font-size: 10px;
  cursor: pointer;
}

.dy8-account-balance button {
  color: #fff;
  background: var(--dy8-blue);
  border-color: var(--dy8-blue);
}

.dy8-account-metric strong {
  margin-top: 11px;
  font-size: 24px;
}

.dy8-account-metric.orange strong { color: var(--dy8-orange); }
.dy8-account-metric.green strong { color: var(--dy8-green); }
.dy8-account-metric.blue strong { color: var(--dy8-blue); }

.home-main .info-box,
.home-main .statistics-box {
  display: none !important;
}

.home-main .main-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 14px !important;
}

.home-main .left-box,
.home-main .right-box {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.home-main .product-list-box,
.home-main .notice-box,
.home-main .WorkOrder-box,
.home-main .recommend-box,
.home-main .recommend-box-open {
  margin: 0 0 14px !important;
  background: #fff !important;
  border: 1px solid var(--dy8-line) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

.home-main .title-text {
  margin: 0 !important;
  padding: 15px 16px !important;
  color: var(--dy8-ink) !important;
  border-bottom: 1px solid #e8edf3;
  font-size: 13px !important;
}

.home-main .goods-box {
  min-height: 260px;
  padding: 0 16px 18px;
}

/* 商城页面：取消会员侧栏，使用与参考站相同的公开顶部导航。 */
body.dy8-store-page {
  color: var(--dy8-ink);
  background: var(--dy8-bg) !important;
}

body.dy8-store-page .el-aside {
  display: none !important;
}

body.dy8-store-page .el-header {
  left: 0 !important;
  width: 100% !important;
  height: 64px !important;
  padding: 0 max(24px, calc((100vw - 1120px) / 2)) !important;
  color: var(--dy8-ink);
  background: rgba(244, 249, 255, .96) !important;
  border-bottom: 1px solid #dce6f2 !important;
}

body.dy8-store-page .el-header .header-left {
  display: flex;
  flex: 1;
}

body.dy8-store-page .el-header .header-right-item img {
  filter: none;
}

.dy8-store-nav {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 44px;
}

.dy8-store-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--dy8-ink);
  font-size: 18px;
}

.dy8-store-mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  background: var(--dy8-blue);
  border-radius: 10px;
}

.dy8-store-mark svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.dy8-store-nav nav {
  display: flex;
  align-items: center;
  gap: 34px;
}

.dy8-store-nav nav a {
  color: #526074;
  font-size: 13px;
}

.dy8-store-nav nav a.active {
  color: var(--dy8-blue);
  font-weight: 650;
}

body.dy8-store-page .el-main {
  padding: 106px max(20px, calc((100vw - 1120px) / 2)) 120px !important;
  background: var(--dy8-bg) !important;
}

body.dy8-store-page .main-card,
body.dy8-store-page .qqg-page-intro,
body.dy8-store-page .qqg-coupon-banner {
  width: 100% !important;
  max-width: 1120px !important;
}

body.dy8-store-page .qqg-page-intro {
  margin-bottom: 16px !important;
}

body.dy8-store-page .qqg-page-intro h1 {
  color: var(--dy8-ink) !important;
  font-size: 29px !important;
}

body.dy8-store-page .qqg-coupon-banner {
  min-height: 54px;
  margin-bottom: 16px !important;
  padding: 12px 16px !important;
  background: #e7f0ff !important;
  border: 1px solid #bdd4f8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

body.dy8-store-page .qqg-coupon-banner strong {
  font-size: 13px !important;
}

body.dy8-store-page .qqg-coupon-banner small {
  display: none;
}

/* 产品分类与套餐卡片 */
.dy-primary-groups button i svg,
.dy-product-badge svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dy-primary-groups button i.cloud svg,
.dy-product-badge.cloud svg {
  fill: currentColor;
  stroke: none;
}

.dy-spec-icon::before {
  content: none !important;
}

.dy-spec-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dy-spec-icon.speed svg {
  fill: currentColor;
  stroke: none;
}

.dy-category-panel {
  border-color: #d6e1ed !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 8px rgba(35, 62, 96, .08) !important;
}

.dy-category-row {
  min-height: 78px;
}

.dy-row-title {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.dy-primary-groups button,
.dy-secondary-groups button {
  font-weight: 500 !important;
}

.dy-primary-groups button.active {
  background: var(--dy8-blue) !important;
}

.second-desc {
  min-height: 50px !important;
  border-radius: 12px !important;
  line-height: 50px !important;
}

.shopping-item {
  min-height: 92px !important;
  border-radius: 16px !important;
}

.shopping-item .goods-content {
  min-height: 92px !important;
  grid-template-columns: minmax(205px, 1fr) minmax(420px, 2.15fr) minmax(210px, .8fr) !important;
  padding: 15px 20px !important;
}

.dy-product-badge {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border-radius: 10px !important;
}

.dy-spec-icon {
  width: 34px !important;
  height: 34px !important;
  flex-basis: 34px !important;
  border-radius: 10px !important;
}

.dy-spec-grid small {
  display: none;
}

.dy-spec-grid b {
  margin-top: 0 !important;
  font-size: 12px !important;
  font-weight: 500;
}

.shopping-item .item-price {
  color: var(--dy8-orange) !important;
  font-size: 27px !important;
}

.shopping-item .buy-btn {
  min-width: 105px;
  min-height: 38px;
  border-radius: 10px !important;
}

/* 购物车：保持原 Vue 数据和按钮，只重排为参考站的订单卡片。 */
.dy8-cart-page .main-card {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.dy8-cart-page .main-title,
.dy8-cart-page .search-box {
  display: none !important;
}

.dy8-cart-page .shopping-goods {
  overflow: hidden;
  margin-bottom: 14px !important;
  background: #fff !important;
  border: 1px solid var(--dy8-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(35,62,96,.06) !important;
}

.dy8-cart-page .shopping-goods .table-name {
  min-height: 66px;
  padding: 18px 22px !important;
  background: #fff !important;
}

.dy8-cart-page .goods-table thead {
  background: #fbfcfe !important;
}

.dy8-cart-page .goods-table .info-box {
  background: #fff !important;
}

.dy8-cart-page .el-footer {
  left: 0 !important;
  width: 100% !important;
  min-height: 104px !important;
  padding: 16px max(20px, calc((100vw - 1120px) / 2)) !important;
  background: #fff !important;
  border-top: 1px solid var(--dy8-line);
}

.dy8-cart-page .el-footer .footer-box {
  width: 100% !important;
  max-width: 1120px !important;
}

.dy8-cart-page .el-footer .total-price {
  color: var(--dy8-orange) !important;
  font-size: 28px !important;
}

@media (max-width: 1080px) {
  .dy8-account-strip {
    grid-template-columns: 1fr 1fr repeat(3, .6fr);
  }

  .home-main .main-content {
    grid-template-columns: 1fr !important;
  }

  .dy8-store-nav nav {
    gap: 18px;
  }

  .shopping-item .goods-content {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 750px) {
  .el-aside {
    width: 84vw !important;
    max-width: 330px !important;
  }

  .el-header,
  body.dy8-store-page .el-header {
    left: 0 !important;
    width: 100% !important;
    height: 60px !important;
    padding: 0 13px !important;
  }

  .dy8-console-page-title {
    margin-left: 10px;
    font-size: 16px;
    line-height: 60px;
  }

  .dy8-store-brand {
    margin-left: 8px;
    font-size: 15px;
  }

  .dy8-store-mark {
    width: 30px;
    height: 30px;
  }

  .dy8-store-nav nav {
    display: none;
  }

  .el-main,
  body.dy8-store-page .el-main {
    padding: 76px 12px 126px !important;
  }

  .dy8-console-welcome {
    grid-template-columns: 1fr;
  }

  .dy8-console-summary {
    margin-top: 0;
  }

  .dy8-account-strip {
    grid-template-columns: 1fr 1fr;
  }

  .dy8-account-user,
  .dy8-account-balance {
    grid-column: 1 / -1;
    border-bottom: 1px solid #e6ebf2;
  }

  .dy8-account-strip > div {
    min-height: 92px;
    border-right: 1px solid #e6ebf2;
  }

  .dy8-account-metric:last-child {
    grid-column: 1 / -1;
  }

  .dy-category-row,
  .dy-secondary-row {
    min-height: 0;
  }

  .shopping-item .goods-content {
    padding: 16px !important;
  }

  .dy8-cart-page .qqg-page-intro h1,
  body.dy8-store-page .qqg-page-intro h1 {
    font-size: 24px !important;
  }

  .dy8-cart-page .goods-table,
  .dy8-cart-page .goods-table tbody,
  .dy8-cart-page .goods-table tr,
  .dy8-cart-page .goods-table td {
    display: block !important;
    width: 100% !important;
  }

  .dy8-cart-page .goods-table thead {
    display: none !important;
  }
}
