/* ============================================================================
   玉生支付系统 · Aurora 极光主题包
   ----------------------------------------------------------------------------
   作用：在不修改任何打包 JS 的前提下，通过 CSS 变量 + 组件皮肤覆盖，
        让 /admin（管理后台）与 /user（商户中心）同时焕新。
   原理：Art Design Pro 全站配色由一组 CSS 变量驱动
        --theme-color → --main-color → --el-color-primary
        --art-* / --default-bg-color / --default-box-color / --art-card-border
        覆盖这组变量 = 全站换肤。
   回滚：从 index.php 移除本文件引用即可，原样式完全不受影响。
   ========================================================================== */

/* ---------------------------------------------------------------------------
   0. 品牌色定义（想换主色只改这两行）
   ------------------------------------------------------------------------ */
:root {
  --ys-brand-1: #4f46e5;   /* 主色：靛蓝 */
  --ys-brand-2: #7c3aed;   /* 副色：紫 */
  --ys-brand-grad: linear-gradient(135deg, var(--ys-brand-1), var(--ys-brand-2));
  --ys-radius: 16px;
  --ys-radius-sm: 10px;
}

/* ---------------------------------------------------------------------------
   1. 亮色主题令牌
   ------------------------------------------------------------------------ */
html:root,
html:not(.dark) {
  /* —— Element Plus 主色体系（全站按钮/菜单/链接/选中态）—— */
  --el-color-primary: #4f46e5 !important;
  --el-color-primary-light-3: #847eed !important;
  --el-color-primary-light-5: #a7a2f2 !important;
  --el-color-primary-light-7: #cac7f7 !important;
  --el-color-primary-light-8: #dcdafa !important;
  --el-color-primary-light-9: #edecfc !important;
  --el-color-primary-dark-2: #3f38b7 !important;

  /* 语义色 */
  --el-color-success: #10b981 !important;
  --el-color-success-light-3: #58cba7 !important;
  --el-color-success-light-5: #88dbbf !important;
  --el-color-success-light-7: #b7ebd8 !important;
  --el-color-success-light-8: #cff2e6 !important;
  --el-color-success-light-9: #e7f8f2 !important;
  --el-color-success-dark-2: #0d9467 !important;

  --el-color-warning: #f59e0b !important;
  --el-color-warning-light-3: #f8bb54 !important;
  --el-color-warning-light-5: #fad085 !important;
  --el-color-warning-light-7: #fce4b6 !important;
  --el-color-warning-light-8: #fdeeca !important;
  --el-color-warning-light-9: #fef5e7 !important;
  --el-color-warning-dark-2: #c47e09 !important;

  --el-color-danger: #ef4444 !important;
  --el-color-danger-light-3: #f47c7c !important;
  --el-color-danger-light-5: #f7a2a2 !important;
  --el-color-danger-light-7: #fac7c7 !important;
  --el-color-danger-light-8: #fcdada !important;
  --el-color-danger-light-9: #fdecec !important;
  --el-color-danger-dark-2: #bf3636 !important;

  --el-color-error: #ef4444 !important;
  --el-color-error-light-3: #f47c7c !important;
  --el-color-error-light-5: #f7a2a2 !important;
  --el-color-error-light-7: #fac7c7 !important;
  --el-color-error-light-8: #fcdada !important;
  --el-color-error-light-9: #fdecec !important;
  --el-color-error-dark-2: #bf3636 !important;

  --el-color-info: #6366f1 !important;
  --el-color-info-light-3: #9295f5 !important;
  --el-color-info-light-5: #b1b3f8 !important;
  --el-color-info-light-7: #d0d1fb !important;
  --el-color-info-light-8: #e0e0fc !important;
  --el-color-info-light-9: #eff0fe !important;
  --el-color-info-dark-2: #4f52c1 !important;

  /* 文字与边框 */
  --el-text-color-primary: #0f172a !important;
  --el-text-color-regular: #334155 !important;
  --el-text-color-secondary: #64748b !important;
  --el-text-color-placeholder: #94a3b8 !important;
  --el-border-color: #e7ebf3 !important;
  --el-border-color-light: #eef2f8 !important;
  --el-border-color-lighter: #f2f5fa !important;
  --el-border-color-extra-light: #f6f8fc !important;
  --el-fill-color-blank: #ffffff !important;
  --el-fill-color-light: #f6f8fc !important;
  --el-fill-color-lighter: #fafbfe !important;
  --el-fill-color: #f4f6fb !important;
  --el-bg-color: #ffffff !important;
  --el-bg-color-page: #f4f6fb !important;
  --el-bg-color-overlay: #ffffff !important;

  /* 圆角与字体 */
  --el-border-radius-base: 10px !important;
  --el-border-radius-small: 8px !important;
  --el-border-radius-round: 999px !important;
  --el-font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif !important;

  /* —— Art Design Pro 令牌 —— */
  --art-color: #ffffff !important;
  --theme-color: var(--el-color-primary) !important;
  --main-color: var(--el-color-primary) !important;

  --art-primary: #4f46e5 !important;
  --art-secondary: #7c3aed !important;
  --art-success: #10b981 !important;
  --art-warning: #f59e0b !important;
  --art-danger: #ef4444 !important;
  --art-error: #ef4444 !important;
  --art-info: #6366f1 !important;

  --art-gray-100: #f8fafc !important;
  --art-gray-200: #f1f4fa !important;
  --art-gray-300: #e5eaf3 !important;
  --art-gray-400: #d5dce8 !important;
  --art-gray-500: #94a3b8 !important;
  --art-gray-600: #64748b !important;
  --art-gray-700: #475569 !important;
  --art-gray-800: #334155 !important;
  --art-gray-900: #0f172a !important;

  /* 容器 */
  --default-bg-color: #f4f6fb !important;
  --default-box-color: #ffffff !important;
  --default-border: #e7ebf3 !important;
  --default-border-dashed: #dde4ef !important;
  --art-card-border: rgba(15, 23, 42, 0.07) !important;
  --art-hover-color: #f1f4fa !important;
  --art-active-color: #e9eef8 !important;
  --art-el-active-color: #e9eef8 !important;
  --custom-radius: 24px !important;
}

/* ---------------------------------------------------------------------------
   2. 暗色主题令牌（系统自带暗色开关时同样生效）
   ------------------------------------------------------------------------ */
html.dark {
  --el-color-primary: #818cf8 !important;
  --el-color-primary-light-3: #6b74d8 !important;
  --el-color-primary-light-5: #565ca8 !important;
  --el-color-primary-light-7: #3f4474 !important;
  --el-color-primary-light-8: #343a63 !important;
  --el-color-primary-light-9: #232744 !important;
  --el-color-primary-dark-2: #a5adfb !important;

  --el-color-success: #34d399 !important;
  --el-color-success-light-9: #12362c !important;
  --el-color-warning: #fbbf24 !important;
  --el-color-warning-light-9: #3b2f14 !important;
  --el-color-danger: #fb7185 !important;
  --el-color-danger-light-9: #3d1d25 !important;
  --el-color-error: #fb7185 !important;
  --el-color-error-light-9: #3d1d25 !important;
  --el-color-info: #818cf8 !important;
  --el-color-info-light-9: #232744 !important;

  --el-text-color-primary: #e8edf7 !important;
  --el-text-color-regular: #c3ccdd !important;
  --el-text-color-secondary: #8b96ad !important;
  --el-text-color-placeholder: #5d6880 !important;
  --el-border-color: rgba(255, 255, 255, 0.09) !important;
  --el-border-color-light: rgba(255, 255, 255, 0.07) !important;
  --el-border-color-lighter: rgba(255, 255, 255, 0.05) !important;
  --el-border-color-extra-light: rgba(255, 255, 255, 0.04) !important;
  --el-fill-color-blank: #141a24 !important;
  --el-fill-color-light: #1a2130 !important;
  --el-fill-color-lighter: #171d29 !important;
  --el-fill-color: #0f1622 !important;
  --el-bg-color: #141a24 !important;
  --el-bg-color-page: #0b0f17 !important;
  --el-bg-color-overlay: #1a2130 !important;

  --art-color: #000000 !important;
  --art-primary: #818cf8 !important;
  --art-secondary: #a78bfa !important;
  --art-success: #34d399 !important;
  --art-warning: #fbbf24 !important;
  --art-danger: #fb7185 !important;
  --art-error: #fb7185 !important;
  --art-info: #818cf8 !important;

  --art-gray-100: #10151f !important;
  --art-gray-200: #161c27 !important;
  --art-gray-300: #222a38 !important;
  --art-gray-400: #333d4e !important;
  --art-gray-500: #5d6880 !important;
  --art-gray-600: #8b96ad !important;
  --art-gray-700: #b3bdd0 !important;
  --art-gray-800: #d3dae6 !important;
  --art-gray-900: #eef2f8 !important;

  --default-bg-color: #0b0f17 !important;
  --default-box-color: #141a24 !important;
  --default-border: rgba(255, 255, 255, 0.08) !important;
  --default-border-dashed: rgba(255, 255, 255, 0.1) !important;
  --art-card-border: rgba(255, 255, 255, 0.08) !important;
  --art-hover-color: #1c2431 !important;
  --art-active-color: #222b3a !important;
  --art-el-active-color: #222b3a !important;
}

/* ---------------------------------------------------------------------------
   3. 全局底纹与字体
   ------------------------------------------------------------------------ */
html body {
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--default-bg-color);
}

/* 页面背后一层极淡的品牌色氛围，让纯色底不再死板 */
html:not(.dark) .app-layout {
  background-color: #f4f6fb;
  background-image:
    radial-gradient(1200px 520px at 8% -8%, rgba(124, 58, 237, 0.07), transparent 62%),
    radial-gradient(900px 460px at 96% 0%, rgba(79, 70, 229, 0.07), transparent 58%);
  background-attachment: fixed;
}
html.dark .app-layout {
  background-color: #0b0f17;
  background-image:
    radial-gradient(1000px 480px at 6% -10%, rgba(129, 140, 248, 0.1), transparent 60%),
    radial-gradient(900px 460px at 96% 0%, rgba(167, 139, 250, 0.08), transparent 58%);
  background-attachment: fixed;
}

/* 数字统一等宽，金额/统计不再跳动 */
html body .tabular-nums,
html body .el-table td .cell,
html body .art-card table td {
  font-variant-numeric: tabular-nums;
}

/* ---------------------------------------------------------------------------
   4. 侧栏
   ------------------------------------------------------------------------ */
html body .layout-sidebar {
  border-right: 1px solid var(--art-card-border) !important;
  background: var(--default-box-color) !important;
}

/* 品牌区 */
html body .layout-sidebar .header {
  height: 64px !important;
  line-height: 64px !important;
  border-bottom: 1px solid var(--default-border);
  background: transparent !important;
}
html body .layout-sidebar .header p {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  color: var(--el-text-color-primary) !important;
  background: var(--ys-brand-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
html body .layout-sidebar .header .logo {
  border-radius: 10px;
  box-shadow: 0 6px 16px -8px rgba(79, 70, 229, 0.65);
}

/* 折叠态：只留图标 */
html body .layout-sidebar .menu-left-close .header p {
  -webkit-text-fill-color: transparent !important;
}

/* 菜单区 */
html body .layout-sidebar .el-menu {
  padding: 10px 8px !important;
  background: transparent !important;
  border-right: 0 !important;
}

html body .layout-sidebar .el-sub-menu__title,
html body .layout-sidebar .el-menu-item {
  height: 44px !important;
  line-height: 44px !important;
  margin: 2px 0 4px !important;
  border-radius: var(--ys-radius-sm) !important;
  font-size: 13.5px !important;
  font-weight: 500;
  color: var(--el-text-color-regular) !important;
  transition: background 0.2s ease, color 0.2s ease;
}

html body .layout-sidebar .el-sub-menu__title span,
html body .layout-sidebar .el-menu-item span {
  font-size: 13.5px !important;
  letter-spacing: 0.01em;
}

html body .layout-sidebar .el-sub-menu__title:hover,
html body .layout-sidebar .el-menu-item:not(.is-active):hover {
  background: var(--art-hover-color) !important;
  color: var(--el-color-primary) !important;
}

/* 选中态：渐变底 + 左侧竖条 + 发光 */
html body .layout-sidebar .el-menu-item.is-active {
  color: var(--el-color-primary) !important;
  font-weight: 700 !important;
  background: linear-gradient(90deg, rgba(79, 70, 229, 0.12), rgba(124, 58, 237, 0.05)) !important;
  box-shadow: inset 0 0 0 1px rgba(79, 70, 229, 0.14);
}
html body .layout-sidebar .el-menu-item.is-active::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 18px;
  border-radius: 0 3px 3px 0;
  background: var(--ys-brand-grad);
  box-shadow: 0 0 12px rgba(79, 70, 229, 0.7);
  transform: translateY(-50%);
}
html body .layout-sidebar .el-menu-item.is-active .menu-icon .art-svg-icon,
html body .layout-sidebar .el-menu-item.is-active span {
  color: var(--el-color-primary) !important;
}

html body .layout-sidebar .el-sub-menu.is-active > .el-sub-menu__title {
  color: var(--el-color-primary) !important;
  font-weight: 700;
}
html body .layout-sidebar .el-sub-menu.is-active > .el-sub-menu__title .menu-icon .art-svg-icon {
  color: var(--el-color-primary) !important;
}

/* 分组的二级菜单容器 */
html body .layout-sidebar .el-menu .el-menu--inline {
  padding: 2px 0 6px !important;
  background: transparent !important;
}
html body .layout-sidebar .el-menu--inline .el-menu-item {
  height: 38px !important;
  line-height: 38px !important;
  font-size: 13px !important;
  padding-left: 44px !important;
}

/* 侧栏滚动条 */
html body .layout-sidebar .el-scrollbar__thumb {
  background-color: var(--art-gray-400) !important;
  opacity: 0.7;
}

/* 暗色侧栏（系统暗色模式下侧栏跟随变深） */
html.dark body .layout-sidebar .el-menu-item.is-active {
  background: linear-gradient(90deg, rgba(129, 140, 248, 0.2), rgba(167, 139, 250, 0.06)) !important;
  box-shadow: inset 0 0 0 1px rgba(129, 140, 248, 0.25);
}

/* ---------------------------------------------------------------------------
   5. 顶栏
   ------------------------------------------------------------------------ */
html body #app-header {
  background: rgba(255, 255, 255, 0.82) !important;
  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid var(--art-card-border);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}
html.dark body #app-header {
  background: rgba(11, 15, 23, 0.78) !important;
}

/* 顶栏图标按钮 */
html body #app-header .el-button.is-text,
html body #app-header .flex-cc {
  border-radius: 10px;
  transition: background 0.2s ease;
}
html body #app-header .el-button.is-text:hover,
html body #app-header .flex-cc:hover {
  background: var(--art-hover-color) !important;
}

/* 面包屑 */
html body .el-breadcrumb__inner,
html body .el-breadcrumb__inner a {
  font-size: 12.5px !important;
  color: var(--el-text-color-secondary) !important;
  font-weight: 500 !important;
}
html body .el-breadcrumb__item:last-child .el-breadcrumb__inner {
  color: var(--el-text-color-primary) !important;
  font-weight: 700 !important;
}

/* 顶栏搜索框 */
html body .layout-search .el-input__wrapper,
html body #app-header .el-input__wrapper {
  border-radius: 10px !important;
  background: var(--art-gray-200) !important;
  box-shadow: none !important;
  border: 1px solid transparent;
  transition: all 0.22s ease;
}
html body .layout-search .el-input__wrapper:hover,
html body #app-header .el-input__wrapper:hover {
  border-color: var(--el-color-primary-light-7);
}
html body .layout-search .el-input__wrapper.is-focus,
html body #app-header .el-input__wrapper.is-focus {
  background: var(--default-box-color) !important;
  border-color: var(--el-color-primary);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
}

/* ---------------------------------------------------------------------------
   6. 页面容器
   ------------------------------------------------------------------------ */
html body #app-content .layout-content {
  padding: 20px 0 32px;
}

html body .page-content {
  background: var(--default-box-color) !important;
  border: 1px solid var(--art-card-border) !important;
  border-radius: var(--ys-radius) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 14px 32px -20px rgba(15, 23, 42, 0.18);
}

/* 页面标题 */
html body .page-header .page-title,
html body .art-card-header .title {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
  color: var(--el-text-color-primary) !important;
}

/* ---------------------------------------------------------------------------
   7. 卡片
   ------------------------------------------------------------------------ */
html body .art-card,
html body .art-card-sm,
html body .art-card-xs,
html body .art-table-card {
  border-radius: var(--ys-radius) !important;
  border: 1px solid var(--art-card-border) !important;
  background: var(--default-box-color) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 28px -20px rgba(15, 23, 42, 0.16) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
html body .art-card:hover,
html body .art-table-card:hover {
  box-shadow:
    0 2px 6px rgba(15, 23, 42, 0.06),
    0 22px 44px -24px rgba(79, 70, 229, 0.28) !important;
}

html body .art-card-header {
  padding-bottom: 14px !important;
  margin-bottom: 16px !important;
  border-bottom: 1px solid var(--el-border-color-lighter) !important;
}
html body .art-card-header .title {
  font-size: 15px !important;
}
html body .art-card-header .sub-title,
html body .art-card-header .desc {
  font-size: 12px !important;
  color: var(--el-text-color-secondary) !important;
}

/* Element Plus 原生卡片 */
html body .el-card {
  border-radius: var(--ys-radius) !important;
  border: 1px solid var(--art-card-border) !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 28px -20px rgba(15, 23, 42, 0.16) !important;
  overflow: hidden;
}
html body .el-card__header {
  border-bottom: 1px solid var(--el-border-color-lighter) !important;
  padding: 15px 18px !important;
  font-weight: 700;
}
html body .el-card__body {
  padding: 18px !important;
}

/* ---------------------------------------------------------------------------
   8. 表格
   ------------------------------------------------------------------------ */
html body .el-table {
  --el-table-border-color: var(--el-border-color-lighter);
  --el-table-header-bg-color: transparent;
  --el-table-row-hover-bg-color: var(--art-hover-color);
  --el-table-bg-color: transparent;
  --el-table-tr-bg-color: transparent;
  border-radius: var(--ys-radius-sm);
  font-size: 13px !important;
  background: transparent !important;
}

html body .el-table th.el-table__cell {
  background: var(--art-gray-200) !important;
  color: var(--el-text-color-secondary) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--el-border-color-light) !important;
  padding: 9px 0 !important;
}
html body .el-table th.el-table__cell:first-child {
  border-top-left-radius: var(--ys-radius-sm);
  border-bottom-left-radius: var(--ys-radius-sm);
}
html body .el-table th.el-table__cell:last-child {
  border-top-right-radius: var(--ys-radius-sm);
  border-bottom-right-radius: var(--ys-radius-sm);
}

html body .el-table td.el-table__cell {
  border-bottom: 1px solid var(--el-border-color-lighter) !important;
  padding: 11px 0 !important;
}
html body .el-table__body tr:hover > td.el-table__cell {
  background: var(--art-hover-color) !important;
}
html body .el-table__body tr:last-child > td.el-table__cell {
  border-bottom: none !important;
}
html body .el-table .cell {
  line-height: 1.6;
}

/* 表格内操作文字按钮 */
html body .el-table .el-button.is-link {
  font-weight: 600;
  font-size: 12.5px;
}

/* 空状态 */
html body .el-table__empty-text {
  color: var(--el-text-color-placeholder) !important;
  font-size: 13px;
}

/* ---------------------------------------------------------------------------
   9. 按钮
   ------------------------------------------------------------------------ */
html body .el-button {
  border-radius: var(--el-border-radius-base) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.01em;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
html body .el-button--default {
  border-color: var(--el-border-color) !important;
  background: var(--default-box-color) !important;
}
html body .el-button--default:hover {
  border-color: var(--el-color-primary) !important;
  color: var(--el-color-primary) !important;
  background: var(--el-color-primary-light-9) !important;
}

html body .el-button--primary:not(.is-link):not(.is-text) {
  background: var(--ys-brand-grad) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 6px 16px -8px rgba(79, 70, 229, 0.75);
}
html body .el-button--primary:not(.is-link):not(.is-text):hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
  box-shadow: 0 12px 24px -10px rgba(79, 70, 229, 0.8);
}
html body .el-button--primary.is-plain,
html body .el-button--primary.is-text,
html body .el-button--primary.is-link {
  background: var(--el-color-primary-light-9) !important;
  color: var(--el-color-primary) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none;
  transform: none;
}

html body .el-button--success,
html body .el-button--warning,
html body .el-button--danger {
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 6px 16px -10px currentColor;
}

html body .el-button.is-round {
  border-radius: 999px !important;
}
html body .el-button--small {
  padding: 7px 13px !important;
}

/* ---------------------------------------------------------------------------
   10. 表单
   ------------------------------------------------------------------------ */
html body .el-input__wrapper,
html body .el-textarea__inner,
html body .el-select__wrapper {
  border-radius: var(--el-border-radius-base) !important;
  background: var(--art-gray-200) !important;
  box-shadow: none !important;
  border: 1px solid transparent !important;
  transition: all 0.22s ease;
  padding: 4px 13px;
}
html body .el-textarea__inner {
  padding: 9px 13px;
  line-height: 1.65;
}
html body .el-input__wrapper:hover,
html body .el-textarea__inner:hover,
html body .el-select__wrapper:hover {
  border-color: var(--el-color-primary-light-7) !important;
}
html body .el-input__wrapper.is-focus,
html body .el-textarea__inner:focus,
html body .el-select__wrapper.is-focused {
  background: var(--default-box-color) !important;
  border-color: var(--el-color-primary) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
}
html body .el-input__inner {
  height: 32px;
  font-size: 13px !important;
}
html body .el-input__inner::placeholder,
html body .el-textarea__inner::placeholder {
  color: var(--el-text-color-placeholder) !important;
}

/* 表单项标签 */
html body .el-form-item__label {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--el-text-color-secondary) !important;
  letter-spacing: 0.01em;
}

/* 开关 */
html body .el-switch.is-checked .el-switch__core {
  background: var(--ys-brand-grad) !important;
  border-color: transparent !important;
}
html body .el-switch__core {
  border-radius: 999px !important;
}

/* 单选/复选 */
html body .el-radio__input.is-checked .el-radio__inner,
html body .el-checkbox__input.is-checked .el-checkbox__inner {
  background: var(--ys-brand-grad) !important;
  border-color: transparent !important;
}

/* 下拉面板 */
html body .el-popper,
html body .el-select__popper,
html body .el-dropdown__popper {
  border-radius: 12px !important;
  border: 1px solid var(--art-card-border) !important;
  box-shadow:
    0 2px 6px rgba(15, 23, 42, 0.06),
    0 22px 44px -22px rgba(15, 23, 42, 0.28) !important;
  overflow: hidden;
}
html body .el-select-dropdown__item.is-selected,
html body .el-dropdown-menu__item:not(.is-disabled):hover {
  background: var(--el-color-primary-light-9) !important;
  color: var(--el-color-primary) !important;
  border-radius: 8px;
}

/* ---------------------------------------------------------------------------
   11. 标签 / 分页 / 弹窗 / 消息
   ------------------------------------------------------------------------ */
html body .el-tag {
  border-radius: 7px !important;
  font-weight: 650 !important;
  font-size: 11.5px !important;
  border: none !important;
  padding: 0 9px !important;
  height: 23px !important;
  line-height: 23px !important;
}
html body .el-tag--primary {
  background: var(--el-color-primary-light-9) !important;
  color: var(--el-color-primary) !important;
}
html body .el-tag--success {
  background: var(--el-color-success-light-9) !important;
  color: var(--el-color-success-dark-2) !important;
}
html body .el-tag--warning {
  background: var(--el-color-warning-light-9) !important;
  color: var(--el-color-warning-dark-2) !important;
}
html body .el-tag--danger {
  background: var(--el-color-danger-light-9) !important;
  color: var(--el-color-danger-dark-2) !important;
}
html body .el-tag--info {
  background: var(--el-color-info-light-9) !important;
  color: var(--el-color-info-dark-2) !important;
}

/* 分页 */
html body .el-pagination {
  font-size: 12.5px !important;
  font-weight: 600;
}
html body .el-pagination button,
html body .el-pagination .el-pager li {
  border-radius: 8px !important;
  background: var(--default-box-color) !important;
  border: 1px solid var(--el-border-color) !important;
  min-width: 29px;
  height: 29px;
  line-height: 27px;
  margin: 0 2px;
  transition: all 0.18s ease;
}
html body .el-pagination .el-pager li:hover,
html body .el-pagination button:hover:not(:disabled) {
  border-color: var(--el-color-primary) !important;
  color: var(--el-color-primary) !important;
}
html body .el-pagination .el-pager li.is-active {
  background: var(--ys-brand-grad) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 4px 12px -4px rgba(79, 70, 229, 0.8);
}

/* 弹窗：不裁切内容（避免超长弹窗底部按钮被切掉），圆角交给头尾各自处理 */
html body .el-dialog {
  border-radius: var(--ys-radius) !important;
  overflow: visible;
  box-shadow:
    0 4px 12px rgba(15, 23, 42, 0.08),
    0 40px 80px -32px rgba(15, 23, 42, 0.4) !important;
}
html body .el-dialog__header {
  padding: 17px 20px !important;
  margin-right: 0 !important;
  border-bottom: 1px solid var(--el-border-color-lighter);
}
html body .el-dialog__title {
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}
html body .el-dialog__body {
  padding: 20px !important;
}
html body .el-dialog__footer {
  padding: 13px 20px 17px !important;
  border-top: 1px solid var(--el-border-color-lighter);
}
html body .el-overlay {
  backdrop-filter: blur(2px);
  background-color: rgba(15, 23, 42, 0.42) !important;
}

html body .el-message-box {
  border-radius: var(--ys-radius) !important;
  padding: 20px !important;
}
html body .el-message-box__title {
  font-weight: 800 !important;
  font-size: 15px !important;
}

/* 全局消息提示 */
html body .el-message {
  border-radius: 12px !important;
  border: 1px solid var(--art-card-border) !important;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.06),
    0 18px 40px -20px rgba(15, 23, 42, 0.3) !important;
  padding: 11px 16px !important;
  font-size: 13px;
  font-weight: 600;
}

html body .el-notification {
  border-radius: var(--ys-radius) !important;
  border: 1px solid var(--art-card-border) !important;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.06),
    0 22px 44px -22px rgba(15, 23, 42, 0.32) !important;
}

/* ---------------------------------------------------------------------------
   12. 标签页 / 步骤条 / 树 / 时间线
   ------------------------------------------------------------------------ */
html body .el-tabs__item {
  font-size: 13px !important;
  font-weight: 650 !important;
  color: var(--el-text-color-secondary) !important;
  transition: color 0.2s ease;
}
html body .el-tabs__item.is-active {
  color: var(--el-color-primary) !important;
}
html body .el-tabs__active-bar {
  background: var(--ys-brand-grad) !important;
  height: 3px !important;
  border-radius: 3px;
}
html body .el-tabs__nav-wrap::after {
  height: 1px !important;
  background: var(--el-border-color-lighter) !important;
}

html body .el-tree-node__content {
  border-radius: 8px !important;
  height: 34px !important;
  transition: background 0.18s ease;
}
html body .el-tree-node__content:hover {
  background: var(--art-hover-color) !important;
}
html body .el-tree-node.is-current > .el-tree-node__content {
  background: var(--el-color-primary-light-9) !important;
  color: var(--el-color-primary) !important;
  font-weight: 650;
}

html body .el-step__title {
  font-size: 13px !important;
  font-weight: 650;
}
html body .el-step__head.is-process {
  color: var(--el-color-primary) !important;
  border-color: var(--el-color-primary) !important;
}

/* ---------------------------------------------------------------------------
   13. 上传 / 日期选择
   ------------------------------------------------------------------------ */
html body .el-upload--picture-card,
html body .el-upload-dragger {
  border-radius: var(--ys-radius) !important;
  border: 1.5px dashed var(--el-border-color) !important;
  background: var(--art-gray-200) !important;
  transition: all 0.22s ease;
}
html body .el-upload-dragger:hover,
html body .el-upload--picture-card:hover {
  border-color: var(--el-color-primary) !important;
  background: var(--el-color-primary-light-9) !important;
}
html body .el-picker-panel {
  border-radius: 12px !important;
  border: 1px solid var(--art-card-border) !important;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.06),
    0 22px 44px -22px rgba(15, 23, 42, 0.3) !important;
}
html body .el-date-table td.current:not(.disabled) .el-date-table-cell__text,
html body .el-date-table td.today .el-date-table-cell__text {
  background: var(--ys-brand-grad) !important;
  color: #fff !important;
}

/* ---------------------------------------------------------------------------
   14. 滚动条
   ------------------------------------------------------------------------ */
html body ::-webkit-scrollbar {
  width: 9px;
  height: 9px;
}
html body ::-webkit-scrollbar-track {
  background: transparent;
}
html body ::-webkit-scrollbar-thumb {
  background: var(--art-gray-400);
  border-radius: 99px;
  border: 2px solid transparent;
  background-clip: content-box;
}
html body ::-webkit-scrollbar-thumb:hover {
  background: var(--art-gray-500);
  background-clip: content-box;
}

/* ---------------------------------------------------------------------------
   15. 登录页重绘
   ------------------------------------------------------------------------ */
html body .user-login-container {
  background:
    radial-gradient(1000px 600px at 12% -10%, rgba(124, 58, 237, 0.16), transparent 60%),
    radial-gradient(900px 520px at 92% 6%, rgba(79, 70, 229, 0.16), transparent 58%),
    #f4f6fb !important;
}
html.dark body .user-login-container {
  background:
    radial-gradient(1000px 600px at 12% -10%, rgba(129, 140, 248, 0.18), transparent 62%),
    radial-gradient(900px 520px at 92% 6%, rgba(167, 139, 250, 0.14), transparent 58%),
    #0b0f17 !important;
}

html body .user-login-container .login-box {
  border-radius: 24px !important;
  box-shadow:
    0 2px 8px rgba(15, 23, 42, 0.06),
    0 40px 80px -40px rgba(15, 23, 42, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
html.dark body .user-login-container .login-box {
  border-color: var(--art-card-border);
}

/* 左半：品牌渐变区 */
html body .user-login-container .login-box .login-left {
  background: var(--ys-brand-grad) !important;
  position: relative;
  overflow: hidden;
}
html body .user-login-container .login-box .login-left::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.22), transparent 34%),
    radial-gradient(circle at 20% 92%, rgba(255, 255, 255, 0.14), transparent 40%),
    linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 34px 34px, 34px 34px;
  pointer-events: none;
}
html body .user-login-container .login-box .login-left::after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  right: -80px;
  bottom: -110px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  filter: blur(2px);
  pointer-events: none;
}

html body .user-login-container .login-box .login-left .login-left-content .brand-title {
  font-size: 34px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.18);
}
html body .user-login-container .login-box .login-left .login-left-content .brand-desc {
  font-size: 14px !important;
  letter-spacing: 0.16em !important;
  opacity: 0.88 !important;
  text-transform: uppercase;
}

/* 右半：表单区 */
html body .user-login-container .login-box .login-right {
  background: var(--default-box-color) !important;
}
html body .user-login-container .login-box .login-right .header .title {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--el-text-color-primary) !important;
}
html body .user-login-container .login-box .login-right .header .login-tabs {
  border-bottom: 1.5px solid var(--el-border-color-lighter) !important;
}
html body .user-login-container .login-box .login-right .header .login-tabs .login-tab {
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0.02em;
}
html body .user-login-container .login-box .login-right .header .login-tabs .login-tab.active {
  font-weight: 800 !important;
}
html body .user-login-container .login-box .login-right .header .login-tabs .login-tab.active::after {
  background: var(--ys-brand-grad) !important;
  height: 3px !important;
  border-radius: 3px;
  left: 26% !important;
  right: 26% !important;
}

html body .user-login-container .login-form .custom-input .el-input__wrapper {
  background: var(--art-gray-200) !important;
  border-radius: 11px !important;
  border: 1px solid transparent !important;
}
html body .user-login-container .login-form .custom-input .el-input__wrapper.is-focus {
  background: var(--default-box-color) !important;
  border-color: var(--el-color-primary) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.13) !important;
}

html body .user-login-container .login-form .el-button--primary {
  height: 44px !important;
  border-radius: 11px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  box-shadow: 0 10px 24px -10px rgba(79, 70, 229, 0.85) !important;
}

html body .user-login-container .oauth-icons .oauth-icon {
  background: var(--art-gray-200) !important;
  border-radius: 12px !important;
  transition: all 0.22s ease;
}
html body .user-login-container .oauth-icons .oauth-icon:hover {
  background: var(--el-color-primary-light-9) !important;
  transform: translateY(-2px);
}

html body .user-login-container .login-page-footer {
  color: var(--el-text-color-placeholder) !important;
  font-size: 12px !important;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------------------------
   16. 微动效（页面切换淡入）
   ------------------------------------------------------------------------ */
@keyframes ys-fade-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
html body #app-content .layout-content > * {
  animation: ys-fade-up 0.32s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  html body #app-content .layout-content > * { animation: none; }
  html body .el-button--primary:hover { transform: none; }
}

/* 加载层淡化 */
html body .art-loading-fix {
  backdrop-filter: blur(1px);
}
html body .login-left-view{background-image:linear-gradient(135deg,#4f46e5,#7c3aed)!important;background-size:100% 100%!important;background-position:0 0!important;background-repeat:no-repeat!important;background-color:transparent!important;position:relative}html body .login-left-view::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 34%),radial-gradient(circle at 20% 88%,rgba(255,255,255,.14),transparent 40%),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:100% 100%,100% 100%,34px 34px,34px 34px;pointer-events:none;z-index:1}html body .login-left-view .left-img{display:none!important}html body .login-left-view .logo,html body .login-left-view .text-wrap,html body .login-left-view .geometric-decorations{position:relative;z-index:20}html body .login-left-view .logo .title{color:#fff!important;font-weight:800!important;letter-spacing:.02em;text-shadow:0 2px 16px rgba(0,0,0,.22)}html body .auth-right-wrap .title{font-size:26px!important;font-weight:800!important;letter-spacing:-.02em}html body .auth-right-wrap .sub-title{font-size:13px!important;color:#64748b!important;margin-top:8px!important}
html body .layout-sidebar .menu-left{background:#ffffff!important}html body .layout-sidebar .el-menu-dark .el-menu-item,html body .layout-sidebar .el-menu-dark .el-sub-menu__title{color:#334155!important}html body .layout-sidebar .el-menu-dark .el-menu-item .menu-icon .art-svg-icon,html body .layout-sidebar .el-menu-dark .el-sub-menu__title .menu-icon .art-svg-icon{color:#64748b!important}html body .layout-sidebar .el-menu-dark .el-menu-item.is-active{color:#4f46e5!important;background:linear-gradient(90deg,rgba(79,70,229,.14),rgba(124,58,237,.04))!important}html body .layout-sidebar .el-menu-dark .el-menu-item.is-active .art-svg-icon,html body .layout-sidebar .el-menu-dark .el-menu-item.is-active span{color:#4f46e5!important}html body .layout-sidebar .el-menu-dark .el-menu-item:not(.is-active):hover,html body .layout-sidebar .el-menu-dark .el-sub-menu__title:hover{background:#f1f4fa!important;color:#4f46e5!important}html body .layout-sidebar .el-sub-menu.is-active>.el-sub-menu__title{color:#4f46e5!important}html body .layout-sidebar .el-sub-menu.is-active>.el-sub-menu__title .art-svg-icon{color:#4f46e5!important}
html body .layout-sidebar .header .logo img{display:none!important}html body .layout-sidebar .header .logo{width:32px!important;height:32px!important;border-radius:9px!important;background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;position:relative!important;box-shadow:0 6px 14px -6px rgba(79,70,229,.8)!important;overflow:hidden}html body .layout-sidebar .header .logo::after{content:"玉";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:800;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
html body #app-header>div{height:auto!important;min-height:60px!important}html body #app-header>div>div{height:60px!important}
