@charset "utf-8";
/*
 * lj-admin-151.css  v1.5.1（v1.4.6 起文件名带版本号，防止服务器/CDN 缓存旧皮肤）
 * 蓝鲸易支付 · 商户中心后台皮肤（企业商业型毛玻璃）
 * 浮岛侧栏 + 圆润玻璃卡片，与认证页 lj-auth-151.css 同一设计语言
 * v1.4.7：修复手机端横向出血/左右不均，仪表盘指标卡同行等高
 * v1.4.8/v1.4.9/v1.5.0：用户中心无样式变更，仅随主站版本同步文件名
 * v1.5.1：修复手机端滑到底再上滑时偶发的毛玻璃白块（滚动链锁定 + 关闭手机端背景光斑动画）
 * 仅覆盖外观，不改结构与逻辑；所有规则限定 html.lj-admin
 */

/* ============ 1. 设计变量 ============ */
html.lj-admin {
  --lj-brand: #2e7be8;
  --lj-brand-deep: #1b5fcb;
  --lj-brand-light: #4a97ff;
  --lj-ink: #22304d;
  --lj-ink-2: #3d4c6e;
  --lj-ink-3: #5d6b88;
  --lj-ink-4: #8a97b3;
  --lj-line: rgba(148, 172, 214, .22);
  --lj-line-strong: rgba(120, 148, 196, .38);
  --lj-glass: rgba(255, 255, 255, .66);
  --lj-glass-deep: rgba(255, 255, 255, .8);
  --lj-glass-soft: rgba(255, 255, 255, .5);
  --lj-radius-lg: 18px;
  --lj-radius-xl: 24px;
  --lj-shadow-card: 0 16px 38px -20px rgba(38, 66, 123, .25), 0 4px 12px -6px rgba(38, 66, 123, .09), inset 0 1px 0 rgba(255, 255, 255, .85);
  --lj-shadow-island: 0 26px 56px -26px rgba(38, 66, 123, .35), 0 6px 18px -8px rgba(38, 66, 123, .12), inset 0 1px 0 rgba(255, 255, 255, .9);
  --lj-blur: blur(22px) saturate(175%);
  --lj-blur-deep: blur(28px) saturate(185%);

  /* Element Plus 品牌主色（#2e7be8 派生） */
  --el-color-primary: #2e7be8;
  --el-color-primary-rgb: 46, 123, 232;
  --el-color-primary-light-3: #6ca3ef;
  --el-color-primary-light-5: #97bdf4;
  --el-color-primary-light-7: #c0d7f8;
  --el-color-primary-light-8: #d5e5fa;
  --el-color-primary-light-9: #eaf2fd;
  --el-color-primary-dark-2: #2563ba;
  --el-border-radius-base: 10px;
  --el-border-radius-small: 8px;
  --el-text-color-primary: #22304d;
  --el-text-color-regular: #3d4c6e;
  --el-text-color-secondary: #6b7896;
  --el-text-color-placeholder: #a3aec7;
  --el-border-color: #d9e2f2;
  --el-border-color-light: #e1e8f5;
  --el-border-color-lighter: #e8eef9;
  --el-border-color-extra-light: #f0f4fb;
  --el-fill-color: #eef3fb;
  --el-fill-color-light: #f3f7fd;
  --el-fill-color-lighter: #f7faff;
  --el-fill-color-blank: #fff;
  --el-box-shadow-light: 0 14px 34px -18px rgba(38, 66, 123, .22);

  /* ele-admin 布局变量 */
  --ele-layout-bg: transparent;
  --ele-sidebar-width: 222px;
  --ele-sidebar-bg: transparent;
  --ele-sidebar-shadow: none;
  --ele-sidebar-mobile-bg: linear-gradient(168deg, rgba(255,255,255,.94), rgba(244,248,255,.9));
  --ele-sidebar-mobile-backdrop-filter: blur(28px) saturate(185%);
  --ele-header-height: 60px;
  --ele-header-bg: transparent;
  --ele-header-shadow: none;
  --ele-header-tool-radius: 11px;
  --ele-header-tool-hover-bg: rgba(46, 123, 232, .1);
  --ele-page-padding: 16px 14px 22px;
  /* 菜单变量 */
  --ele-menu-item-height: 42px;
  --ele-menu-item-margin: 3px 10px;
  --ele-menu-item-radius: 12px;
  --ele-menu-item-color: #46536f;
  --ele-menu-item-hover-color: #2e7be8;
  --ele-menu-item-hover-bg: rgba(120, 150, 210, .13);
  --ele-menu-item-focus-bg: rgba(120, 150, 210, .1);
  --ele-menu-item-active-color: #1b5fcb;
  --ele-menu-item-active-bg: rgba(46, 123, 232, .11);
  --ele-menu-item-active-line: 0px;
  --ele-menu-child-bg: transparent;
  /* 卡片变量 */
  --ele-card-bg: var(--lj-glass);
  --ele-card-radius: 18px;
  --ele-card-border: 1px solid rgba(255, 255, 255, .78);
  --ele-card-shadow: var(--lj-shadow-card);
  --ele-card-padding: 20px 22px;
  --ele-card-header-border: 1px solid var(--lj-line);
  --ele-card-footer-border: 1px solid var(--lj-line);
  /* 表格透明化 */
  --el-table-bg-color: transparent;
  --el-table-tr-bg-color: transparent;
  --el-table-header-bg-color: rgba(232, 239, 251, .6);
  --el-table-header-text-color: #5d6b88;
  --el-table-text-color: #3d4c6e;
  --el-table-border-color: rgba(148, 172, 214, .18);
  --el-table-row-hover-bg-color: rgba(46, 123, 232, .06);
  --el-menu-bg-color: transparent;
  --el-menu-hover-bg-color: rgba(120, 150, 210, .12);
  --el-menu-active-color: #1b5fcb;
}

/* ============ 2. 页面背景（浅色渐变 + 柔光斑） ============ */
html.lj-admin,
html.lj-admin body {
  background: transparent;
}
html.lj-admin body {
  min-height: 100vh;
  background-image: linear-gradient(160deg, #e9f0fd 0%, #f1ecfc 48%, #e8f4f1 100%);
  background-attachment: fixed;
  background-size: cover;
  color: var(--lj-ink-2);
}
html.lj-admin body::before {
  content: "";
  position: fixed;
  inset: -12% -10%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(38% 42% at 78% 8%, rgba(74, 151, 255, .3), transparent 70%),
    radial-gradient(34% 38% at 12% 30%, rgba(139, 112, 246, .24), transparent 72%),
    radial-gradient(30% 34% at 88% 88%, rgba(96, 218, 194, .2), transparent 72%),
    radial-gradient(28% 30% at 30% 96%, rgba(255, 146, 166, .16), transparent 72%);
  filter: blur(10px);
  animation: ljAdminGlow 36s ease-in-out infinite alternate;
}
@keyframes ljAdminGlow {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(-1.5%, 1.2%, 0) scale(1.04); }
  100% { transform: translate3d(1.2%, -1%, 0) scale(1.02); }
}
html.lj-admin .ele-admin-layout {
  background: transparent !important;
  position: relative;
  z-index: 1;
}

/* ============ 3. 浮岛侧栏（桌面） ============ */
html.lj-admin .ele-admin-layout:not(.is-mobile) > .ele-admin-side,
html.lj-admin .ele-admin-layout:not(.is-mobile) > .ele-admin-main > .ele-admin-side {
  background: transparent;
  padding: 16px 0 16px 18px;
}
html.lj-admin .ele-admin-layout:not(.is-mobile) .ele-admin-sidebar,
html.lj-admin .ele-admin-layout:not(.is-mobile) .ele-admin-sidebox {
  background: linear-gradient(168deg, rgba(255,255,255,.8), rgba(255,255,255,.6) 52%, rgba(246,249,255,.66));
  -webkit-backdrop-filter: var(--lj-blur-deep);
  backdrop-filter: var(--lj-blur-deep);
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: var(--lj-radius-xl);
  box-shadow: var(--lj-shadow-island);
  overflow: hidden;
}
html.lj-admin .ele-admin-layout:not(.is-mobile) .ele-admin-sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.55), transparent 22%);
}
/* 主区域留边 */
html.lj-admin .ele-admin-layout:not(.is-mobile) > .ele-admin-main,
html.lj-admin .ele-admin-layout:not(.is-mobile) > .ele-admin-main > .ele-admin-body {
  background: transparent;
}
html.lj-admin .ele-admin-layout:not(.is-mobile) > .ele-admin-main {
  padding: 16px 24px 0;
}

/* Logo 区 */
html.lj-admin .ele-admin-logo {
  align-items: center;
  gap: 10px;
  min-height: 60px;
  margin: 0;
  padding: 10px 20px 12px;
}
html.lj-admin .ele-admin-logo img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px;
  box-shadow: 0 6px 14px -6px rgba(46, 123, 232, .55);
  filter: none !important;
}
html.lj-admin .ele-admin-logo h1 {
  color: var(--lj-ink);
  font-size: 16.5px;
  font-weight: 700;
  letter-spacing: .3px;
  white-space: nowrap;
}
html.lj-admin .ele-admin-logo + .ele-admin-menus,
html.lj-admin .ele-admin-sidebar .ele-admin-menus {
  margin: 2px 0 8px;
}

/* ============ 4. 菜单 ============ */
html.lj-admin .ele-menu,
html.lj-admin .ele-menu .el-sub-menu .el-menu {
  background: transparent !important;
  border: none !important;
}
html.lj-admin .ele-menu .el-menu-item,
html.lj-admin .ele-menu .el-sub-menu__title {
  height: var(--ele-menu-item-height);
  line-height: var(--ele-menu-item-height);
  margin: var(--ele-menu-item-margin);
  padding: 0 14px !important;
  border-radius: var(--ele-menu-item-radius);
  color: var(--ele-menu-item-color);
  font-size: 13.5px;
  font-weight: 500;
  transition: background .18s, color .18s, box-shadow .18s, transform .18s;
}
html.lj-admin .ele-menu .el-menu-item .el-icon,
html.lj-admin .ele-menu .el-sub-menu__title .el-icon {
  color: inherit;
  font-size: 17px;
  margin-right: 10px;
}
html.lj-admin .ele-menu .el-menu-item:hover,
html.lj-admin .ele-menu .el-sub-menu__title:hover {
  background: var(--ele-menu-item-hover-bg);
  color: var(--ele-menu-item-hover-color);
}
html.lj-admin .ele-menu .el-menu-item.is-active {
  position: relative;
  background: linear-gradient(135deg, rgba(74, 151, 255, .17), rgba(46, 123, 232, .1));
  color: var(--ele-menu-item-active-color);
  font-weight: 650;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 14px -8px rgba(46,123,232,.45);
}
html.lj-admin .ele-menu .el-menu-item.is-active::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 50%;
  width: 4px;
  height: 16px;
  border-radius: 4px;
  background: linear-gradient(180deg, #4a97ff, #2e7be8);
  transform: translateY(-50%);
}
html.lj-admin .ele-menu .el-menu-item.is-active .el-icon {
  color: var(--lj-brand);
}
/* 去掉框架自带激活竖条/底条 */
html.lj-admin .ele-menu .el-menu-item.is-active::after { display: none !important; }
/* 子菜单 */
html.lj-admin .ele-menu .el-sub-menu.is-active > .el-sub-menu__title {
  color: var(--lj-brand-deep);
}
html.lj-admin .ele-menu .el-sub-menu .el-menu .el-menu-item,
html.lj-admin .ele-menu .el-menu--inline .el-menu-item {
  margin-left: 18px;
  margin-right: 12px;
  font-size: 13px;
}
html.lj-admin .ele-menu .el-sub-menu .el-menu-item.is-active::before { left: 4px; }
html.lj-admin .el-menu--collapse .ele-menu .el-menu-item,
html.lj-admin .ele-admin-sidebar.is-collapse .el-menu-item,
html.lj-admin .ele-admin-sidebar.is-collapse .el-sub-menu__title {
  margin: 4px 8px;
  padding: 0 !important;
  justify-content: center;
}
html.lj-admin .ele-admin-sidebar.is-collapse .el-menu-item .el-icon,
html.lj-admin .ele-admin-sidebar.is-collapse .el-sub-menu__title .el-icon {
  margin-right: 0;
}
/* 菜单滚动条 */
html.lj-admin .ele-admin-sidebar .el-scrollbar__bar.is-vertical { width: 6px; }
/* 顶栏横向菜单是 is-night 暗色变量集：浅色皮肤下改写为深字浅胶囊 */
html.lj-admin .ele-admin-header.is-primary .ele-admin-menus > .ele-menu {
  --ele-menu-horizontal-dark-hover-bg: rgba(120, 150, 210, .14);
  --ele-menu-horizontal-dark-focus-bg: rgba(120, 150, 210, .12);
  --ele-menu-horizontal-dark-active-bg: linear-gradient(135deg, rgba(74, 151, 255, .18), rgba(46, 123, 232, .1));
}
html.lj-admin .ele-admin-header .ele-menu.is-night {
  --ele-menu-dark-color: #46536f;
  --ele-menu-dark-hover-color: #2e7be8;
  --ele-menu-dark-active-color: #1b5fcb;
}
html.lj-admin .ele-admin-header .ele-menu.is-night.el-menu--horizontal > .el-menu-item.is-active,
html.lj-admin .ele-admin-header .ele-menu.is-night.el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title {
  color: #1b5fcb !important;
  font-weight: 650;
}
html.lj-admin .ele-admin-header .ele-menu.is-night.el-menu--horizontal > .el-menu-item.is-active .el-icon,
html.lj-admin .ele-admin-header .ele-menu.is-night.el-menu--horizontal > .el-sub-menu.is-active > .el-sub-menu__title .el-icon {
  color: #2e7be8 !important;
}

/* ============ 5. 顶栏 ============ */
html.lj-admin .ele-admin-header {
  background: transparent !important;
  box-shadow: none !important;
  border: none;
}
html.lj-admin .ele-admin-header.is-primary,
html.lj-admin .ele-admin-layout .ele-admin-header.is-primary {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html.lj-admin .ele-admin-header.is-primary::before { display: none !important; }
/* 顶栏工具：玻璃圆片 */
html.lj-admin .ele-admin-tool {
  position: relative;
  width: 38px;
  height: 38px;
  margin: 0 2px;
  padding: 0 !important;
  border-radius: 12px;
  color: var(--lj-ink-2) !important;
  background: rgba(255, 255, 255, .55);
  border: 1px solid rgba(255, 255, 255, .75);
  box-shadow: 0 4px 10px -6px rgba(38, 66, 123, .2);
  transition: background .18s, color .18s, transform .18s, box-shadow .18s;
}
html.lj-admin .ele-admin-tool:hover {
  color: var(--lj-brand) !important;
  background: rgba(255, 255, 255, .92) !important;
  border-color: rgba(46, 123, 232, .35);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px -8px rgba(46, 123, 232, .4);
}
html.lj-admin .ele-admin-tool .el-icon { font-size: 18px; color: inherit; }
html.lj-admin .ele-admin-header.is-primary .ele-admin-tool,
html.lj-admin .ele-admin-header.is-primary .ele-admin-tool .el-icon {
  color: var(--lj-ink-2);
}
/* 面包屑 */
html.lj-admin .ele-admin-breadcrumb,
html.lj-admin .el-breadcrumb__inner,
html.lj-admin .el-breadcrumb__inner a {
  color: var(--lj-ink-3) !important;
  font-weight: 500;
}
html.lj-admin .el-breadcrumb__inner.is-link:hover,
html.lj-admin .el-breadcrumb__inner a:hover { color: var(--lj-brand) !important; }
/* 用户触发器：脱离 38px 圆片约束，胶囊自适应容纳头像+用户名+箭头
   注意：:has() 与 :last-child 分两条规则写，旧浏览器不认 :has 时不会连兜底规则一起丢弃 */
html.lj-admin .ele-admin-tools .ele-admin-tool:last-child {
  width: auto;
  min-width: 38px;
  padding: 0 6px !important;
}
html.lj-admin .ele-admin-tools .ele-admin-tool:has(.user-trigger) {
  width: auto;
  min-width: 38px;
  padding: 0 6px !important;
}
html.lj-admin .ele-admin-tool .el-dropdown.ele-dropdown-trigger { width: auto; }
html.lj-admin .ele-admin-tool .user-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  padding: 0 4px;
  cursor: pointer;
  outline: none;
}
html.lj-admin .ele-admin-tool .user-trigger .el-avatar { flex: 0 0 auto; }
html.lj-admin .user-trigger-name {
  color: var(--lj-ink-2);
  font-size: 13.5px;
  font-weight: 600;
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.lj-admin .user-trigger-arrow { color: var(--lj-ink-3); font-size: 12px; margin: 0; }
/* 手机态用户触发器同样自适应（窄屏下用户名由框架 hidden-sm-and-down 隐藏） */
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-tools .ele-admin-tool:last-child {
  width: auto;
  min-width: 36px;
  padding: 0 5px !important;
}
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-tool:has(.user-trigger) {
  width: auto;
  min-width: 36px;
  padding: 0 5px !important;
}

/* ============ 6. 卡片（ele-card / el-card） ============ */
html.lj-admin .ele-card {
  background: linear-gradient(160deg, rgba(255,255,255,.74), rgba(255,255,255,.52)) !important;
  -webkit-backdrop-filter: var(--lj-blur);
  backdrop-filter: var(--lj-blur);
  border: 1px solid rgba(255, 255, 255, .82) !important;
  border-radius: var(--lj-radius-lg) !important;
  box-shadow: var(--lj-shadow-card) !important;
  overflow: hidden;
}
html.lj-admin .ele-card-body { padding: var(--ele-card-padding); }
html.lj-admin .ele-card-header {
  padding: 14px 22px;
  border-bottom: 1px solid var(--lj-line) !important;
  color: var(--lj-ink);
  font-size: 15px;
  font-weight: 650;
}
html.lj-admin .ele-card-footer {
  border-top: 1px solid var(--lj-line) !important;
  padding: 12px 22px;
}
html.lj-admin .el-card {
  background: linear-gradient(160deg, rgba(255,255,255,.74), rgba(255,255,255,.52));
  -webkit-backdrop-filter: var(--lj-blur);
  backdrop-filter: var(--lj-blur);
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: var(--lj-radius-lg);
  box-shadow: var(--lj-shadow-card);
  color: var(--lj-ink-2);
  overflow: hidden;
}
html.lj-admin .el-card__header {
  padding: 14px 20px;
  border-bottom: 1px solid var(--lj-line);
  color: var(--lj-ink);
  font-weight: 650;
}
html.lj-admin .el-card__footer {
  padding: 12px 20px;
  border-top: 1px solid var(--lj-line);
}
/* 页面内垂直堆叠间距 */
html.lj-admin .ele-page .ele-fluid > * + * { margin-top: 14px; }

/* ============ 7. 表单控件 ============ */
html.lj-admin .el-input__wrapper,
html.lj-admin .el-textarea__inner {
  background: rgba(255, 255, 255, .88);
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(190, 205, 232, .65) inset;
  transition: box-shadow .18s, background .18s;
}
html.lj-admin .el-input__wrapper:hover,
html.lj-admin .el-textarea__inner:hover {
  box-shadow: 0 0 0 1px rgba(46, 123, 232, .45) inset;
}
html.lj-admin .el-input.is-active .el-input__wrapper,
html.lj-admin .el-input__wrapper.is-focus,
html.lj-admin .el-textarea__inner:focus {
  background: #fff;
  box-shadow: 0 0 0 1px var(--lj-brand) inset, 0 0 0 4px rgba(46, 123, 232, .12) !important;
}
html.lj-admin .el-input__inner { color: var(--lj-ink); height: 34px; }
html.lj-admin .el-input__inner::placeholder,
html.lj-admin .el-textarea__inner::placeholder { color: #aab5cc; }
html.lj-admin .el-input.is-disabled .el-input__wrapper,
html.lj-admin .el-input.is-disabled .el-input__inner {
  background: rgba(240, 244, 251, .8);
  color: var(--lj-ink-4);
}
html.lj-admin .el-select__wrapper {
  background: rgba(255, 255, 255, .88);
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(190, 205, 232, .65) inset !important;
}
html.lj-admin .el-select__wrapper.is-focused {
  box-shadow: 0 0 0 1px var(--lj-brand) inset, 0 0 0 4px rgba(46, 123, 232, .12) !important;
}
html.lj-admin .el-form-item__label { color: var(--lj-ink-3); font-weight: 500; }
html.lj-admin .el-radio__input.is-checked .el-radio__inner,
html.lj-admin .el-checkbox__input.is-checked .el-checkbox__inner {
  background: var(--lj-brand);
  border-color: var(--lj-brand);
}
html.lj-admin .el-radio__input.is-checked + .el-radio__label,
html.lj-admin .el-checkbox__input.is-checked + .el-checkbox__label { color: var(--lj-brand-deep); }
html.lj-admin .el-switch.is-checked .el-switch__core {
  background: linear-gradient(135deg, #4a97ff, #2e7be8);
  border-color: transparent;
}
/* 分段控制器（登录同款白底蓝选） */
html.lj-admin .el-segmented {
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(190, 205, 232, .55);
  border-radius: 12px;
  padding: 3px;
}
html.lj-admin .el-segmented__item { border-radius: 9px; }
html.lj-admin .el-segmented__item.is-selected {
  background: #fff;
  color: var(--lj-brand-deep);
  font-weight: 650;
  box-shadow: 0 4px 10px -4px rgba(46, 123, 232, .35);
}
html.lj-admin .el-segmented__item.is-selected .el-segmented__item-label { color: var(--lj-brand-deep); }

/* ============ 8. 按钮 ============ */
html.lj-admin .el-button {
  border-radius: 10px;
  font-weight: 550;
}
html.lj-admin .el-button--primary:not(.is-link):not(.is-text) {
  background: linear-gradient(135deg, #4a97ff 0%, #2e7be8 55%, #1f6bd6 100%) !important;
  border: none !important;
  box-shadow: 0 8px 18px -8px rgba(46, 123, 232, .55), inset 0 1px 0 rgba(255,255,255,.25);
}
html.lj-admin .el-button--primary:not(.is-link):not(.is-text):hover,
html.lj-admin .el-button--primary:not(.is-link):not(.is-text):focus {
  background: linear-gradient(135deg, #5ba4ff 0%, #3a86ef 55%, #2571de 100%) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 22px -8px rgba(46, 123, 232, .6), inset 0 1px 0 rgba(255,255,255,.3);
}
html.lj-admin .el-button--primary:not(.is-link):not(.is-text):active { transform: translateY(0); }
/* 文字 / 链接型按钮保持透明底 */
html.lj-admin .el-button.is-link,
html.lj-admin .el-button.is-text {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
html.lj-admin .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info):not(.is-text):not(.is-link) {
  background: rgba(255, 255, 255, .78);
  border-color: rgba(180, 198, 228, .65);
  color: var(--lj-ink-2);
}
html.lj-admin .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info):not(.is-text):not(.is-link):hover {
  background: #fff;
  border-color: rgba(46, 123, 232, .5);
  color: var(--lj-brand);
}
html.lj-admin .el-button.is-text,
html.lj-admin .el-button.is-link { color: var(--lj-brand); }
html.lj-admin .el-button.is-round { border-radius: 20px; }

/* ============ 9. 表格 / 分页 ============ */
html.lj-admin .el-table {
  --el-table-header-bg-color: transparent;
  background: transparent !important;
  color: var(--lj-ink-2);
}
html.lj-admin .el-table::before,
html.lj-admin .el-table--border::after,
html.lj-admin .el-table--group::after { background-color: var(--lj-line) !important; }
html.lj-admin .el-table th.el-table__cell {
  background: rgba(232, 239, 251, .55) !important;
  color: #5d6b88;
  font-weight: 600;
  font-size: 12.5px;
}
html.lj-admin .el-table td.el-table__cell { border-bottom-color: rgba(148, 172, 214, .15); }
html.lj-admin .el-table__row:hover > td.el-table__cell {
  background: rgba(46, 123, 232, .055) !important;
}
html.lj-admin .el-table__inner-wrapper::before { display: none; }
html.lj-admin .el-table--border,
html.lj-admin .el-table--group { border-color: var(--lj-line); }
html.lj-admin .el-table--border .el-table__cell { border-right-color: rgba(148, 172, 214, .14); }
/* 分页 */
html.lj-admin .el-pagination { color: var(--lj-ink-3); font-weight: 500; }
html.lj-admin .el-pagination .btn-prev,
html.lj-admin .el-pagination .btn-next,
html.lj-admin .el-pagination .el-pager li {
  min-width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0 3px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(190, 205, 232, .5);
  color: var(--lj-ink-2);
  font-weight: 550;
  transition: all .18s;
}
html.lj-admin .el-pagination .el-pager li:hover,
html.lj-admin .el-pagination .btn-prev:hover,
html.lj-admin .el-pagination .btn-next:hover {
  color: var(--lj-brand);
  border-color: rgba(46, 123, 232, .45);
  background: #fff;
}
html.lj-admin .el-pagination .el-pager li.is-active {
  background: linear-gradient(135deg, #4a97ff, #2e7be8);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 14px -6px rgba(46, 123, 232, .55);
}
/* 描述列表 */
html.lj-admin .el-descriptions {
  --el-descriptions-item-bordered-label-background: rgba(232, 239, 251, .55);
}
html.lj-admin .el-descriptions__label { color: var(--lj-ink-3); font-weight: 600; }
html.lj-admin .el-descriptions__cell { border-color: var(--lj-line) !important; }

/* ============ 10. 标签 / 提示 / 标签页 ============ */
html.lj-admin .el-tag {
  border-radius: 8px;
  font-weight: 550;
  padding: 0 10px;
  height: 24px;
  line-height: 22px;
}
html.lj-admin .el-alert {
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
html.lj-admin .el-tabs__item {
  color: var(--lj-ink-3);
  font-weight: 550;
  height: 40px;
}
html.lj-admin .el-tabs__item.is-active { color: var(--lj-brand-deep); }
html.lj-admin .el-tabs__active-bar {
  background: linear-gradient(90deg, #4a97ff, #2e7be8);
  height: 3px;
  border-radius: 3px;
}
html.lj-admin .el-tabs__nav-wrap::after { background-color: var(--lj-line); }
html.lj-admin .el-divider { --el-border-color: var(--lj-line); }
html.lj-admin .el-badge__content { border: none; }

/* ============ 11. 弹层族（teleport 到 body） ============ */
html.lj-admin .el-dialog {
  background: rgba(255, 255, 255, .9);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 20px;
  box-shadow: 0 30px 80px -24px rgba(28, 48, 96, .4);
  overflow: hidden;
}
html.lj-admin .el-dialog__header {
  padding: 18px 22px 12px;
  margin-right: 0;
  color: var(--lj-ink);
}
html.lj-admin .el-dialog__title { font-weight: 700; font-size: 16px; }
html.lj-admin .el-dialog__body { padding: 8px 22px 18px; color: var(--lj-ink-2); }
html.lj-admin .el-dialog__footer { padding: 12px 22px 18px; }
html.lj-admin .el-drawer {
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
}
html.lj-admin .el-drawer.rtl { border-radius: 20px 0 0 20px; }
html.lj-admin .el-drawer.ltr,
html.lj-admin .el-drawer.ttb { border-radius: 0 20px 20px 0; }
html.lj-admin .el-message-box {
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 20px;
  box-shadow: 0 30px 80px -24px rgba(28, 48, 96, .4);
  overflow: hidden;
}
html.lj-admin .el-message-box__title { color: var(--lj-ink); }
html.lj-admin .el-message-box__content { color: var(--lj-ink-2); }
/* popper 类浮层（下拉/日期/菜单弹出，排除深色 tooltip） */
html.lj-admin .el-popper:not(.is-dark):not(.el-tooltip__popper) {
  background: rgba(255, 255, 255, .94) !important;
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .95) !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 48px -18px rgba(28, 48, 96, .3) !important;
}
html.lj-admin .el-popper:not(.is-dark) .el-popper__arrow::before {
  background: rgba(255, 255, 255, .94) !important;
  border-color: rgba(255, 255, 255, .95) !important;
}
html.lj-admin .el-select-dropdown__item.is-hovering,
html.lj-admin .el-select-dropdown__item.hover {
  background: rgba(46, 123, 232, .09);
  border-radius: 8px;
}
html.lj-admin .el-select-dropdown__item.is-selected { color: var(--lj-brand-deep); font-weight: 650; }
html.lj-admin .el-dropdown-menu {
  background: transparent;
  border: none;
  border-radius: 12px;
  padding: 4px;
}
html.lj-admin .el-dropdown-menu__item {
  border-radius: 9px;
  color: var(--lj-ink-2);
}
html.lj-admin .el-dropdown-menu__item:hover {
  background: rgba(46, 123, 232, .1);
  color: var(--lj-brand);
}
html.lj-admin .el-picker-panel { background: transparent; }
html.lj-admin .el-date-table td.today .el-date-table-cell__text {
  background: rgba(46, 123, 232, .12);
  color: var(--lj-brand-deep);
  font-weight: 700;
}
html.lj-admin .el-date-table td.current:not(.disabled) .el-date-table-cell__text {
  background: linear-gradient(135deg, #4a97ff, #2e7be8);
  color: #fff;
}
/* 全局轻提示 */
html.lj-admin .el-message {
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 14px;
  box-shadow: 0 16px 40px -16px rgba(28, 48, 96, .35);
}
html.lj-admin .el-notification {
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 16px;
  box-shadow: 0 18px 44px -16px rgba(28, 48, 96, .35);
}
/* 加载遮罩 */
html.lj-admin .el-loading-mask {
  background: rgba(244, 248, 255, .55);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

/* ============ 12. 仪表盘专项（小卡片 · 对称网格 · 去大方块） ============ */
/* 外层容器退化为纯布局区，不再是整块大面板 */
html.lj-admin .dashboard-header-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-radius: 0;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
/* 问候条：独立紧凑玻璃卡 */
html.lj-admin .dashboard-header-main {
  position: relative;
  min-height: 84px;
  padding: 14px 20px !important;
  border-radius: 18px;
  background:
    radial-gradient(70% 160% at 92% -40%, rgba(74, 151, 255, .16), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.88) 0%, rgba(237,243,254,.6) 60%, rgba(245,241,255,.55) 100%);
  border: 1px solid rgba(255, 255, 255, .92);
  box-shadow: var(--lj-shadow-card);
  overflow: hidden;
}
html.lj-admin .dashboard-header-main .page-toolbar { margin: 0 !important; }
html.lj-admin .dashboard-illustration { display: none !important; }
html.lj-admin .page-heading h1,
html.lj-admin .page-heading .el-page-header__title {
  color: var(--lj-ink) !important;
  font-weight: 700;
}
html.lj-admin .page-heading p { color: #7483a3 !important; }
html.lj-admin .page-heading .user-avatar {
  background: linear-gradient(135deg, #eaf2fd, #fff) !important;
  color: var(--lj-brand) !important;
  box-shadow: 0 0 0 3px rgba(46,123,232,.12), 0 8px 18px -8px rgba(46,123,232,.4) !important;
}
/* 指标小卡：独立玻璃卡、紧凑尺寸 */
html.lj-admin .ele-page .metric-card {
  background: linear-gradient(165deg, rgba(255,255,255,.8), rgba(255,255,255,.55)) !important;
  -webkit-backdrop-filter: var(--lj-blur);
  backdrop-filter: var(--lj-blur);
  border: 1px solid rgba(255,255,255,.88) !important;
  border-radius: 16px !important;
  box-shadow: var(--lj-shadow-card) !important;
}
html.lj-admin .metric-card .ele-card-body,
html.lj-admin .metric-card .el-card__body {
  background: transparent !important;
  padding: 14px 16px !important;
}
html.lj-admin .metric-topline { color: var(--lj-ink-3) !important; font-weight: 550; font-size: 12.5px; }
html.lj-admin .metric-value {
  color: var(--lj-ink) !important;
  font-weight: 700;
  font-size: 21px !important;
  line-height: 30px !important;
  margin-top: 6px !important;
}
html.lj-admin .metric-affix { color: var(--lj-ink-4) !important; }
html.lj-admin .metric-footer { color: var(--lj-ink-4) !important; margin-top: 5px !important; font-size: 11px !important; }
/* 图标芯片：浅彩底 + 彩字、紧凑 */
html.lj-admin .metric-icon {
  border-radius: 10px !important;
  width: 33px !important;
  height: 33px !important;
}
html.lj-admin .metric-icon.blue   { background: rgba(138, 180, 10, .14) !important; color: #6d9400 !important; }
html.lj-admin .metric-icon.cyan   { background: rgba(8, 151, 156, .14) !important; color: #0a7c80 !important; }
html.lj-admin .metric-icon.green  { background: rgba(56, 158, 13, .14) !important; color: #2f820b !important; }
html.lj-admin .metric-icon.violet { background: rgba(114, 46, 209, .14) !important; color: #6124b4 !important; }
html.lj-admin .metric-icon.orange { background: rgba(212, 107, 8, .14) !important; color: #b85c07 !important; }
/* 涨跌语义色保持 */
html.lj-admin .metric-delta.is-up { color: #16a34a; }
html.lj-admin .metric-delta.is-down { color: #ef4444; }
/* 窄屏（含平板/手机）：指标卡强制 2 列对称 */
@media (max-width: 1199px) {
  html.lj-admin .metric-row .el-col {
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}
/* 指标卡：同行卡片等高，避免描述文字换行造成一大一小 */
html.lj-admin .metric-row .el-col {
  display: flex;
}
html.lj-admin .metric-row .el-col > .metric-card {
  width: 100%;
  height: 100%;
}
/* 健康度指示条 */
html.lj-admin .health-item { border-right-color: var(--lj-line) !important; }
html.lj-admin .today-stats {
  background: rgba(234, 240, 250, .6) !important;
  border: 1px solid rgba(255,255,255,.7);
}
/* 渠道 / 待办小卡 */
html.lj-admin .channel-item,
html.lj-admin .todo-item {
  background: rgba(255, 255, 255, .55) !important;
  border: 1px solid rgba(255, 255, 255, .8) !important;
  border-radius: 12px !important;
  transition: border-color .18s, background .18s, transform .18s;
}
html.lj-admin .channel-item:hover,
html.lj-admin .todo-item:not(:disabled):hover {
  background: #fff !important;
  border-color: rgba(46, 123, 232, .35) !important;
  transform: translateY(-1px);
}
html.lj-admin .todo-dot { border-radius: 50%; }
/* 快捷操作：浅彩玻璃 */
html.lj-admin .quick-action {
  border-radius: 14px !important;
}
/* 账户卡光晕减弱 */
html.lj-admin .card-glow {
  border-color: rgba(46, 123, 232, .14) !important;
  box-shadow: 0 0 0 24px rgba(46, 123, 232, .05) !important;
}
html.lj-admin .available-balance strong { color: var(--lj-brand) !important; }
html.lj-admin .available-balance strong small { color: var(--lj-brand-light) !important; }

/* ============ 13. 滚动条 / 回到顶部 / 遮罩 ============ */
html.lj-admin ::-webkit-scrollbar { width: 8px; height: 8px; }
html.lj-admin ::-webkit-scrollbar-track { background: transparent; }
html.lj-admin ::-webkit-scrollbar-thumb {
  background: rgba(128, 152, 196, .32);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: content-box;
}
html.lj-admin ::-webkit-scrollbar-thumb:hover { background: rgba(96, 124, 178, .5); background-clip: content-box; }
html.lj-admin .el-scrollbar__thumb {
  background-color: rgba(128, 152, 196, .35) !important;
}
html.lj-admin .el-scrollbar__thumb:hover { background-color: rgba(96, 124, 178, .55) !important; }
html.lj-admin .ele-backtop {
  width: 42px;
  height: 42px;
  background: rgba(255, 255, 255, .82);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 14px;
  box-shadow: 0 12px 26px -10px rgba(38, 66, 123, .35);
  color: var(--lj-brand);
  font-size: 18px;
}
html.lj-admin .ele-admin-mask {
  background: rgba(30, 45, 80, .28);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
/* Element Plus 弹窗遮罩：浅色磨砂，替代默认深黑 */
html.lj-admin .el-overlay {
  background-color: rgba(226, 234, 250, .42) !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

/* 深色模式开关隐藏（皮肤仅提供浅色玻璃体系） */
html.lj-admin .ele-dark-switch { display: none !important; }
/* 兜底：即使 html.dark 也强制浅色玻璃变量 */
html.lj-admin.dark {
  color-scheme: light;
  --el-bg-color: #fff;
  --el-bg-color-page: #f4f7fd;
  --el-bg-color-overlay: #fff;
  --el-text-color-primary: #22304d;
  --el-text-color-regular: #3d4c6e;
  --el-text-color-secondary: #6b7896;
  --el-border-color: #d9e2f2;
  --el-border-color-light: #e1e8f5;
  --el-border-color-lighter: #e8eef9;
  --el-fill-color: #eef3fb;
  --el-fill-color-light: #f3f7fd;
  --el-fill-color-lighter: #f7faff;
  --el-fill-color-blank: #fff;
  --ele-sidebar-dark-bg: #fff;
  --ele-header-dark-bg: transparent;
  --ele-header-dark-color: #3d4c6e;
}

/* ============ 14. 移动端 ============ */
html.lj-admin .ele-admin-layout.is-mobile > .ele-admin-main {
  padding: 8px 10px 0 !important;
}
html.lj-admin .ele-admin-layout.is-mobile .ele-page {
  padding: 12px 12px 18px !important;
}
/* 修复手机态横向出血：el-space 子项自带 min-width:100%，
   叠加行负边距会形成刚性宽度撑破屏幕，改为可收缩流体 */
html.lj-admin .ele-admin-layout.is-mobile .el-space.ele-fluid > .el-space__item,
html.lj-admin .ele-admin-layout.is-mobile .side-stack > .el-space__item {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html.lj-admin .ele-admin-layout.is-mobile .el-space.ele-fluid .el-row,
html.lj-admin .ele-admin-layout.is-mobile .el-space.ele-fluid .el-col,
html.lj-admin .ele-admin-layout.is-mobile .dashboard-header-container,
html.lj-admin .ele-admin-layout.is-mobile .dashboard-metrics,
html.lj-admin .ele-admin-layout.is-mobile .dashboard-header-main,
html.lj-admin .ele-admin-layout.is-mobile .metric-card {
  min-width: 0 !important;
}
/* 抽屉式侧栏：浮岛玻璃 */
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-sidebar,
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-sidebox {
  top: 12px;
  bottom: 12px;
  left: 12px;
  height: auto !important;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .9);
  box-shadow: 0 30px 70px -24px rgba(28, 48, 96, .45);
  overflow: hidden;
}
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-logo { padding: 12px 18px; min-height: 54px; }
/* 顶栏手机态 */
html.lj-admin .ele-admin-layout.is-mobile .ele-admin-tool {
  width: 36px;
  height: 36px;
  border-radius: 11px;
}
/* 卡片 / 表单手机态 */
@media (max-width: 767px) {
  html.lj-admin .ele-card-body { padding: 16px !important; }
  html.lj-admin .ele-card-header { padding: 12px 16px !important; }
  html.lj-admin .el-card__body { padding: 14px !important; }
  html.lj-admin .metric-value { font-size: 22px !important; line-height: 30px !important; }
  html.lj-admin .el-dialog { width: calc(100vw - 28px) !important; margin: 14px auto !important; }
  html.lj-admin .el-dialog__body { padding: 6px 16px 14px !important; }
  html.lj-admin .el-table { font-size: 12.5px; }
  html.lj-admin body::before { inset: -6% -6%; }
}

/* ============ 15. 降级 ============ */
@media (prefers-reduced-motion: reduce) {
  html.lj-admin body::before { animation: none; }
  html.lj-admin .el-button,
  html.lj-admin .ele-admin-tool,
  html.lj-admin .channel-item,
  html.lj-admin .todo-item { transition: none; }
}

/* ============ 16. v1.5.1 手机端滚动稳定 ============
   修复：手机端页面滑到底再上滑（橡皮筋回弹）时，偶发半透明白色毛玻璃块遮挡内容。
   成因为 iOS/微信 WebKit 在边界回弹时把滚动链传播到外层，且持续动画的 fixed 模糊
   光斑层（body::before）与大量 backdrop-filter 玻璃卡片在回弹瞬间发生合成重绘，
   在内容上方留下白色玻璃残影。仅手机端处理，只影响滚动行为与背景动画，不动结构逻辑：
   1) 锁定滚动承载层的滚动链，边界回弹不传播到外层容器；
   2) 关闭手机端背景光斑的慢速动画，消除持续重绘源（光斑静态外观保留）。 */
@media (max-width: 900px) {
  html.lj-admin .ele-admin-wrapper,
  html.lj-admin .ele-admin-content {
    overscroll-behavior: contain;
  }
  html.lj-admin .ele-admin-content {
    -webkit-overflow-scrolling: touch;
  }
  html.lj-admin body::before {
    animation: none;
  }
}
