@charset "UTF-8";
/* ==========================================================================
 * 商家助手视觉皮肤 · 纯样式层
 * 来源：爬取站点的 UI 设计语言（微信绿 #07c160 / 白卡片 / 圆角 / 轻阴影）
 * 约束：只覆盖 color / background / border-radius / box-shadow / font，
 *       不修改任何 DOM、尺寸、定位、display、overflow、z-index 与交互逻辑。
 *       所有原有功能、表单、按钮、菜单、接口、路由均保持原样。
 * ========================================================================== */

:root {
  /* ---- 商家助手设计 token ---- */
  --sh-brand: #07c160;
  --sh-brand-dark: #06ad56;
  --sh-brand-darker: #059a4c;
  --sh-brand-light: #35cd80;
  --sh-brand-lighter: #e8f8ef;
  --sh-bg: #f5f6f8;
  --sh-card: #ffffff;
  --sh-text: #111111;
  --sh-text-2: #666666;
  --sh-text-3: #999999;
  --sh-border: #ededed;
  --sh-radius: 10px;
  --sh-radius-sm: 6px;
  --sh-shadow: 0 1px 3px rgba(0, 0, 0, .05);
  --sh-shadow-brand: 0 6px 16px rgba(7, 193, 96, .28);
  --sh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;

  /* ---- Element Plus ---- */
  --el-color-primary: #07c160;
  --el-color-primary-light-3: #35cd80;
  --el-color-primary-light-5: #63dc9f;
  --el-color-primary-light-7: #93e8bf;
  --el-color-primary-light-8: #b7f0d5;
  --el-color-primary-light-9: #e8f8ef;
  --el-color-primary-dark-2: #06ad56;
  --el-color-success: #07c160;
  --el-color-success-light-3: #35cd80;
  --el-color-success-light-5: #63dc9f;
  --el-color-success-light-7: #93e8bf;
  --el-color-success-light-8: #b7f0d5;
  --el-color-success-light-9: #e8f8ef;
  --el-color-success-dark-2: #06ad56;
  --el-border-radius-base: 8px;
  --el-border-radius-small: 6px;
  --el-border-radius-round: 999px;
  --el-font-family: var(--sh-font);
  --el-bg-color: #ffffff;
  --el-bg-color-page: #f5f6f8;
  --el-bg-color-overlay: #ffffff;
  --el-fill-color-blank: #ffffff;
  --el-fill-color-light: #f7f7f7;
  --el-border-color: #ededed;
  --el-border-color-light: #f0f0f0;
  --el-border-color-lighter: #f3f4f6;
  --el-text-color-primary: #111111;
  --el-text-color-regular: #666666;
  --el-text-color-secondary: #999999;
  --el-text-color-placeholder: #aaaaaa;
  --el-box-shadow-light: 0 1px 3px rgba(0, 0, 0, .05);
  --el-box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
  --el-disabled-bg-color: #f5f6f8;

  /* ---- Art Design Pro / Tailwind v4 主题 ---- */
  --main-color: #07c160;
  --theme-color: #07c160;
  --art-primary: #07c160;
  --art-success: #07c160;
  --art-color: #ffffff;
  --color-primary: #07c160;
  --color-theme: #07c160;
  --default-bg-color: #f5f6f8;
  --art-bg-color: #f5f6f8;
  --art-card-bg: #ffffff;
  --art-text-color: #111111;
  --art-border-color: #ededed;

  /* ---- Bootstrap 3/4/5 ---- */
  --bs-primary: #07c160;
  --bs-primary-rgb: 7, 193, 96;
  --bs-success: #07c160;
  --bs-success-rgb: 7, 193, 96;
  --bs-link-color: #07c160;
  --bs-link-hover-color: #06ad56;
  --bs-body-bg: #f5f6f8;
  --bs-body-color: #111111;
  --bs-body-font-family: var(--sh-font);
  --bs-border-radius: 8px;
  --bs-border-radius-sm: 6px;
  --bs-border-radius-lg: 12px;
  --bs-border-color: #ededed;

  /* ---- layui ---- */
  --lay-primary: #07c160;
}

/* 无 layer 的规则优先于 Tailwind 的 @layer theme，变量覆盖一定生效 */

html.dark {
  --el-color-primary: #07c160;
  --el-color-primary-light-3: #35cd80;
  --el-color-primary-light-5: #2aa869;
  --el-color-primary-light-7: #1d7348;
  --el-color-primary-light-8: #175c3a;
  --el-color-primary-light-9: #123f29;
  --el-color-primary-dark-2: #35cd80;
  --el-color-success: #07c160;
  --el-bg-color: #16181d;
  --el-bg-color-page: #0e1013;
  --el-bg-color-overlay: #1b1e24;
  --el-fill-color-blank: #16181d;
  --el-border-color: #2b2f36;
  --el-text-color-primary: #e8eaed;
  --el-text-color-regular: #b8bcc4;
  --el-text-color-secondary: #8a909a;
  --theme-color: #07c160;
  --art-primary: #07c160;
  --default-bg-color: #0e1013;
  --art-bg-color: #0e1013;
  --art-card-bg: #16181d;
  --bs-body-bg: #0e1013;
  --bs-body-color: #e8eaed;
}

/* --------------------------------------------------------------------------
 * 基础元素
 * -------------------------------------------------------------------------- */
body {
  font-family: var(--sh-font);
  color: var(--sh-text);
  background-color: var(--sh-bg);
}

html.dark body {
  color: #e8eaed;
  background-color: #0e1013;
}

a,
a:visited {
  color: var(--sh-brand);
}

a:hover,
a:focus {
  color: var(--sh-brand-dark);
}

h1, h2, h3, h4, h5, h6 {
  color: inherit;
  font-weight: 600;
}

hr {
  border-color: var(--sh-border);
}

::selection {
  background: var(--sh-brand);
  color: #fff;
}

::-webkit-scrollbar-thumb {
  background: #d8dce2;
  border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--sh-brand-light);
}

::-webkit-scrollbar-track {
  background: transparent;
}

/* --------------------------------------------------------------------------
 * 卡片 / 面板 / 表格容器：白底 + 圆角 + 轻阴影（商家助手卡片语言）
 * -------------------------------------------------------------------------- */
.el-card,
.el-table,
.el-dialog,
.el-drawer,
.el-popper,
.el-dropdown-menu,
.el-message-box,
.el-notification,
.el-collapse-item__wrap,
.card,
.panel,
.well,
.modal-content,
.popover,
.layui-card,
.layui-panel,
.weui-cells,
.weui-form,
.weui-panel,
.box,
.content-box,
.statistics-box,
[class*="__card"],
[class*="-card"] {
  border-radius: var(--sh-radius);
  box-shadow: var(--sh-shadow);
  border-color: var(--sh-border);
  background-color: var(--sh-card);
  color: var(--sh-text);
}

html.dark .el-card,
html.dark .el-table,
html.dark .el-dialog,
html.dark .el-drawer,
html.dark .el-message-box,
html.dark .card,
html.dark .panel,
html.dark .modal-content {
  background-color: #16181d;
  border-color: #2b2f36;
  color: #e8eaed;
}

.card-header,
.panel-heading,
.modal-header,
.el-card__header,
.el-dialog__header,
.layui-card-header {
  border-bottom-color: var(--sh-border);
  background-color: transparent;
  color: var(--sh-text);
  font-weight: 600;
}

.card-footer,
.panel-footer,
.modal-footer,
.el-card__footer,
.el-dialog__footer {
  border-top-color: var(--sh-border);
  background-color: transparent;
}

.el-table th.el-table__cell,
.el-table thead th {
  background-color: #f7f8fa;
  color: var(--sh-text-2);
  font-weight: 600;
}

html.dark .el-table th.el-table__cell {
  background-color: #1b1f26;
  color: #b8bcc4;
}

.el-table tr:hover > td.el-table__cell {
  background-color: var(--sh-brand-lighter);
}

html.dark .el-table tr:hover > td.el-table__cell {
  background-color: #1a2b22;
}

/* --------------------------------------------------------------------------
 * 按钮：绿色主按钮 + 圆角 + 轻投影
 * -------------------------------------------------------------------------- */
.el-button--primary,
.el-button--success,
.btn-primary,
.btn-success,
.weui-btn_primary,
.layui-btn:not(.layui-btn-primary):not(.layui-btn-normal):not(.layui-btn-warm):not(.layui-btn-danger):not(.layui-btn-disabled),
button[type="submit"].primary,
input[type="submit"].primary {
  background-color: var(--sh-brand);
  border-color: var(--sh-brand);
  color: #fff;
  border-radius: var(--sh-radius-sm);
  box-shadow: var(--sh-shadow-brand);
}

.el-button--primary:hover,
.el-button--primary:focus,
.el-button--success:hover,
.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.weui-btn_primary:not(.weui-btn_disabled):active,
.layui-btn:hover {
  background-color: var(--sh-brand-dark);
  border-color: var(--sh-brand-dark);
  color: #fff;
}

.el-button--primary:active,
.btn-primary:active {
  background-color: var(--sh-brand-darker);
  border-color: var(--sh-brand-darker);
}

.el-button,
.btn,
.weui-btn,
.layui-btn,
button,
input[type="button"] {
  border-radius: var(--sh-radius-sm);
  font-family: var(--sh-font);
}

.el-button:not(.el-button--primary):not(.el-button--success):not(.is-text):not(.is-link),
.btn-default,
.btn-outline-secondary,
.weui-btn_default,
.layui-btn-primary {
  border-color: #dcdfe6;
  color: var(--sh-text-2);
  background-color: #fff;
}

.el-button:not(.el-button--primary):not(.el-button--success):not(.is-text):not(.is-link):hover,
.btn-default:hover,
.weui-btn_default:active {
  color: var(--sh-brand);
  border-color: var(--sh-brand);
  background-color: var(--sh-brand-lighter);
}

.btn-link,
.el-link,
.el-button.is-link,
.el-button.is-text {
  color: var(--sh-brand);
}

.btn-link:hover,
.el-link:hover {
  color: var(--sh-brand-dark);
}

/* --------------------------------------------------------------------------
 * 表单控件
 * -------------------------------------------------------------------------- */
.el-input__wrapper,
.el-textarea__inner,
.el-select__wrapper,
.form-control,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
select,
.weui-input,
.weui-select,
.layui-input,
.layui-textarea,
.layui-select {
  border-radius: var(--sh-radius-sm);
  border-color: #dcdfe6;
  background-color: #fff;
  color: var(--sh-text);
  font-family: var(--sh-font);
  box-shadow: none;
}

.el-input__wrapper.is-focus,
.el-input__wrapper:hover,
.el-textarea__inner:focus,
.form-control:focus,
input[type="text"]:focus,
input[type="password"]:focus,
.weui-input:focus,
.layui-input:focus {
  border-color: var(--sh-brand);
  box-shadow: 0 0 0 2px rgba(7, 193, 96, .12);
  outline: none;
}

.el-input-group__append,
.el-input-group__prepend,
.input-group-addon {
  border-radius: var(--sh-radius-sm);
  background-color: #f7f8fa;
  border-color: #dcdfe6;
  color: var(--sh-text-2);
}

.el-checkbox__input.is-checked .el-checkbox__inner,
.el-radio__input.is-checked .el-radio__inner {
  background-color: var(--sh-brand);
  border-color: var(--sh-brand);
}

.el-checkbox__input.is-checked + .el-checkbox__label,
.el-radio__input.is-checked + .el-radio__label {
  color: var(--sh-brand);
}

.el-switch.is-checked .el-switch__core {
  background-color: var(--sh-brand);
  border-color: var(--sh-brand);
}

/* --------------------------------------------------------------------------
 * 导航 / 标签 / 徽标 / 状态
 * -------------------------------------------------------------------------- */
.el-menu-item.is-active,
.el-sub-menu.is-active > .el-sub-menu__title,
.nav-pills > li.active > a,
.nav-tabs > li.active > a,
.layui-nav .layui-this > a,
.layui-nav-tree .layui-nav-itemed > a,
.pagination > .active > a,
.pagination > .active > span,
.page-item.active .page-link {
  color: var(--sh-brand);
  background-color: var(--sh-brand-lighter);
  border-color: var(--sh-brand-lighter);
}

.el-menu-item:hover,
.el-sub-menu__title:hover,
.nav > li > a:hover,
.layui-nav a:hover {
  color: var(--sh-brand);
  background-color: var(--sh-brand-lighter);
}

.el-tabs__item.is-active,
.el-tabs__item:hover,
.nav-tabs > li > a:hover {
  color: var(--sh-brand);
}

.el-tabs__active-bar {
  background-color: var(--sh-brand);
}

.el-breadcrumb__inner a,
.el-breadcrumb__inner.is-link {
  color: var(--sh-text-2);
}

.el-breadcrumb__inner a:hover {
  color: var(--sh-brand);
}

.el-tag--primary,
.label-primary,
.badge,
.el-badge__content,
.layui-badge,
.layui-btn-xs.layui-btn-normal {
  background-color: var(--sh-brand);
  border-color: var(--sh-brand);
  color: #fff;
  border-radius: 999px;
}

.el-tag--success,
.label-success {
  background-color: var(--sh-brand-lighter);
  border-color: #b7f0d5;
  color: var(--sh-brand-dark);
}

.el-pagination.is-background .el-pager li.is-active,
.el-pagination.is-background .btn-next.is-active,
.el-pagination.is-background .btn-prev.is-active {
  background-color: var(--sh-brand);
  color: #fff;
}

.el-step__head.is-finish,
.el-step__title.is-finish {
  color: var(--sh-brand);
  border-color: var(--sh-brand);
}

.el-loading-spinner .path {
  stroke: var(--sh-brand);
}

/* --------------------------------------------------------------------------
 * 顶部栏 / 侧栏（只换配色，不改布局与宽度）
 * -------------------------------------------------------------------------- */
.el-header,
.navbar,
.navbar-default,
.navbar-inverse,
.layui-header,
.layui-side,
.layui-side-scroll,
.header,
.topbar,
.sidebar,
.side-menu,
.page-header {
  background-color: var(--sh-card);
  border-color: var(--sh-border);
  color: var(--sh-text);
}

html.dark .el-header,
html.dark .navbar,
html.dark .header,
html.dark .sidebar,
html.dark .layui-header,
html.dark .layui-side {
  background-color: #16181d;
  border-color: #2b2f36;
  color: #e8eaed;
}

.navbar-default .navbar-brand,
.navbar-inverse .navbar-brand,
.navbar-default .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li > a,
.layui-header a,
.header a {
  color: var(--sh-text-2);
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:hover,
.layui-header a:hover {
  color: var(--sh-brand);
}

/* --------------------------------------------------------------------------
 * WeUI（收银台 / 转账结果页）
 * -------------------------------------------------------------------------- */
.weui-cells {
  background-color: #fff;
}

.weui-cell,
.weui-cells__title,
.weui-label,
.weui-cell__bd {
  color: var(--sh-text);
}

.weui-cell__ft,
.weui-cells__tips,
.weui-form__tips {
  color: var(--sh-text-3);
}

.weui-btn_primary {
  border-radius: var(--sh-radius);
}

.weui-msg__icon-area,
.weui-icon-success,
.weui-icon-success-circle,
.weui-icon_msg-primary {
  color: var(--sh-brand);
}

.weui-progress__bar,
.weui-progress__inner-bar {
  background-color: var(--sh-brand);
}

/* --------------------------------------------------------------------------
 * 提示 / 弹层
 * -------------------------------------------------------------------------- */
.el-message,
.el-notification,
.el-tooltip__popper,
.alert-success,
.layui-layer-msg,
.layui-layer-dialog {
  border-radius: var(--sh-radius);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

.alert-success,
.alert-info {
  background-color: var(--sh-brand-lighter);
  border-color: #b7f0d5;
  color: var(--sh-brand-dark);
}

.el-message--success,
.el-notification--success {
  background-color: var(--sh-brand-lighter);
  border-color: #b7f0d5;
}

.el-message--success .el-message__content,
.el-message__icon--success {
  color: var(--sh-brand-dark);
}

/* --------------------------------------------------------------------------
 * 官网 / 安装页等独立模板的通用容器
 * -------------------------------------------------------------------------- */
.container,
.container-fluid,
.wrapper,
.main,
.main-content,
.page-content,
section {
  color: var(--sh-text);
}

.table > thead > tr > th,
.table thead th {
  background-color: #f7f8fa;
  color: var(--sh-text-2);
  border-color: var(--sh-border);
}

.table > tbody > tr > td,
.table td {
  border-color: var(--sh-border);
}

.table-hover > tbody > tr:hover,
.table tbody tr:hover {
  background-color: var(--sh-brand-lighter);
}

code, pre, kbd {
  border-radius: var(--sh-radius-sm);
  background-color: #f7f8fa;
  color: var(--sh-brand-dark);
}

/* --------------------------------------------------------------------------
 * 兜底：第三方库（bootstrap / layui）与 Vite 编译产物里硬编码的品牌蓝，
 * 统一收敛到商家助手绿。只改颜色，不影响任何布局与交互。
 * -------------------------------------------------------------------------- */
.text-primary,
.link-primary,
.el-text--primary,
.layui-text-primary,
.text-blue,
.font-primary {
  color: var(--sh-brand) !important;
}

.bg-primary,
.alert-primary,
.list-group-item-primary,
.el-bg-primary {
  background-color: var(--sh-brand-lighter) !important;
  border-color: #b7f0d5 !important;
  color: var(--sh-brand-dark) !important;
}

.border-primary {
  border-color: var(--sh-brand) !important;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.disabled,
.btn-primary:disabled,
.el-button--primary,
.el-button--primary:hover,
.el-button--primary:focus,
.el-button--primary.is-active,
.layui-btn-normal,
.weui-btn_primary,
.progress-bar,
.page-item.active .page-link,
.pagination > .active > a,
.pagination > .active > span {
  background-color: var(--sh-brand) !important;
  border-color: var(--sh-brand) !important;
  color: #fff !important;
}

.btn-outline-primary,
.btn-outline-primary:hover {
  color: var(--sh-brand) !important;
  border-color: var(--sh-brand) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:active {
  background-color: var(--sh-brand) !important;
  color: #fff !important;
}

.form-check-input:checked,
.form-range::-webkit-slider-thumb,
.el-radio__input.is-checked .el-radio__inner,
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-switch.is-checked .el-switch__core {
  background-color: var(--sh-brand) !important;
  border-color: var(--sh-brand) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.page-link:focus,
.btn:focus {
  border-color: var(--sh-brand) !important;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, .15) !important;
}

.el-menu-item.is-active,
.el-tabs__item.is-active,
.nav-link.active,
.layui-this,
.layui-nav .layui-this:after,
.active > .page-link {
  color: var(--sh-brand) !important;
}

.el-tabs__active-bar,
.layui-nav-bar,
.layui-nav .layui-this:after {
  background-color: var(--sh-brand) !important;
}
