/* ==========================================================================
   TDesign Starter 主题层（组件相似映射）
   --------------------------------------------------------------------------
   设计基准：https://tdesign.tencent.com/starter/vue/dashboard/base
   品牌色 #0052D9 / 成功 #00A870 / 警告 #ED7B2F / 危险 #E34D59
   本文件在 pear.css / admin.css 之后加载，负责把 Layui + Pear Admin
   的既有组件视觉重写为 TDesign 样式。所有功能类名、JS 钩子保持不变。
   ========================================================================== */

:root {
  --td-brand: #0052d9;
  --td-brand-hover: #366ef4;
  --td-brand-active: #0035b1;
  --td-brand-light: #e8f0fe;
  --td-brand-focus: #d9e1ff;
  --td-brand-lighter: #ecf2fe;
  --td-success: #00a870;
  --td-success-hover: #2bbf8c;
  --td-warning: #ed7b2f;
  --td-warning-hover: #f1914b;
  --td-error: #e34d59;
  --td-error-hover: #ec6b75;
  --td-text-primary: rgba(0, 0, 0, 0.9);
  --td-text-secondary: rgba(0, 0, 0, 0.6);
  --td-text-placeholder: rgba(0, 0, 0, 0.4);
  --td-text-disabled: rgba(0, 0, 0, 0.26);
  --td-gray-1: #f3f3f3;
  --td-gray-2: #eee;
  --td-gray-3: #e7e7e7;
  --td-gray-4: #dcdcdc;
  --td-gray-5: #c5c5c5;
  --td-gray-6: #a6a6a6;
  --td-gray-7: #8b8b8b;
  --td-gray-8: #777;
  --td-gray-9: #5e5e5e;
  --td-gray-10: #4b4b4b;
  --td-gray-11: #383838;
  --td-gray-12: #212121;
  --td-bg-page: #f3f4f6;
  --td-bg-container: #ffffff;
  --td-border-level-1: #dcdcdc;
  --td-border-level-2: #efefef;
  --td-radius-small: 3px;
  --td-radius-medium: 6px;
  --td-radius-large: 9px;
  --td-shadow-1: 0 1px 10px rgba(0, 0, 0, 0.05);
  --td-shadow-2: 0 1px 2px rgba(0, 0, 0, 0.04);
  --td-shadow-dialog: 0 6px 30px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   1. 全局基础
   ========================================================================== */

body {
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: var(--td-text-primary);
  background-color: var(--td-bg-page);
  -webkit-font-smoothing: antialiased;
}

body.pear-admin {
  background-color: var(--td-bg-page);
}

.pear-container {
  padding: 16px;
  box-sizing: border-box;
}

a {
  color: var(--td-brand);
  text-decoration: none;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: #c8c9cc;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #a8abb2;
}
::-webkit-scrollbar-track {
  background: transparent;
}

/* 语义色文字 */
.layui-font-blue, .pear-text-blue { color: var(--td-brand) !important; }
.layui-font-green { color: var(--td-success) !important; }
.layui-font-red { color: var(--td-error) !important; }
.layui-font-orange { color: var(--td-warning) !important; }
.layui-font-gray { color: var(--td-text-secondary) !important; }
.layui-font-cyan { color: var(--td-brand) !important; }
.layui-font-12 { font-size: 12px; }
.layui-font-18 { font-size: 18px; }

.pear-this, .pear-text { color: var(--td-brand) !important; }
.pear-back { background-color: var(--td-brand) !important; }

/* ==========================================================================
   2. 主框架：顶栏 / 侧边栏 / 内容区
   ========================================================================== */

/* 顶栏 */
.pear-admin .layui-header {
  left: 230px;
  width: calc(100% - 230px);
  height: 48px;
  background-color: #fff;
  border-bottom: 1px solid var(--td-gray-3);
  box-shadow: none;
}

.pear-admin .layui-header .layui-nav {
  background-color: transparent;
}

.pear-admin .layui-header .layui-nav .layui-nav-item {
  line-height: 48px;
  height: 48px;
}

.pear-admin .layui-header .layui-nav .layui-nav-item > a {
  color: var(--td-text-secondary);
  font-size: 15px;
  line-height: 48px;
  height: 48px;
  transition: color 0.2s;
}

.pear-admin .layui-header .layui-nav .layui-nav-item > a:hover,
.pear-admin .layui-header .layui-nav .layui-nav-item.layui-this > a {
  color: var(--td-brand);
}

.pear-admin .layui-header .layui-nav .layui-icon {
  font-size: 18px;
}

.pear-admin .layui-header .layui-nav .layui-nav-bar {
  background-color: transparent !important;
}

/* 顶栏右侧用户菜单 */
.pear-admin .layui-layout-right .layui-nav-child {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  background-color: #fff;
  padding: 4px;
  top: 48px;
}

.pear-admin .layui-layout-right .layui-nav-child dd {
  line-height: 36px;
  border-radius: var(--td-radius-small);
}

.pear-admin .layui-layout-right .layui-nav-child dd:hover {
  background-color: var(--td-gray-1);
}

.pear-admin .layui-layout-right .layui-nav-child dd a {
  color: var(--td-text-primary);
  padding: 0 16px;
}

/* 顶栏用户头像 */
.pear-admin .layui-header .user > a {
  display: inline-flex;
  align-items: center;
}

/* 侧边栏 */
.pear-admin .layui-side {
  top: 0;
  width: 230px;
  height: 100%;
  background-color: #fff;
  border-right: 1px solid var(--td-gray-3);
  box-shadow: none;
  z-index: 9999;
}

/* 侧边 Logo（站点配置自定义，桌面 + 移动端） */
.pear-admin .layui-logo {
  width: 230px;
  height: 48px;
  line-height: 48px;
  background-color: #fff;
  border-bottom: 1px solid var(--td-gray-3);
  padding: 0 16px;
  box-sizing: border-box;
  text-align: left;
  display: flex;
  align-items: center;
}

.pear-admin .layui-logo .logo {
  display: inline-block !important;
  width: 26px;
  height: 26px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 8px;
}

.pear-admin .layui-logo .title {
  color: var(--td-text-primary);
  font-size: 16px;
  font-weight: 600;
  margin-left: 0;
  white-space: nowrap;
}

/* 顶栏 Logo 与名称（站点配置自定义，桌面 + 移动端） */
.pear-admin .td-header-logo {
  display: none; /* 桌面隐藏，仅移动端顶栏显示 */
  align-items: center;
  height: 48px;
  padding: 0 12px 0 14px;
  text-decoration: none;
  flex-shrink: 0;
  border-right: 1px solid var(--td-gray-3);
}

.pear-admin .td-header-logo .logo {
  display: inline-block;
  width: 26px;
  height: 26px;
  object-fit: contain;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
}

.pear-admin .td-header-logo .title {
  font-size: 16px;
  font-weight: 600;
  color: var(--td-brand);
  white-space: nowrap;
}

/* 侧边滚动区 */
.pear-admin .layui-side-scroll {
  height: calc(100% - 48px) !important;
  background-color: #fff;
  width: 230px;
}

/* 侧边菜单：TDesign 浅色导航 */
.pear-admin .pear-nav-tree,
.pear-admin .layui-nav-tree {
  background-color: #fff;
  width: 100%;
}

.pear-admin .layui-nav-tree .layui-nav-item > a {
  height: 40px;
  line-height: 40px;
  margin: 2px 8px;
  padding: 0 12px;
  border-radius: var(--td-radius-medium);
  color: var(--td-text-secondary);
  font-size: 14px;
  background-color: transparent;
  transition: background-color 0.2s, color 0.2s;
}

.pear-admin .layui-nav-tree .layui-nav-item > a:hover {
  background-color: var(--td-gray-1);
  color: var(--td-text-primary);
}

.pear-admin .layui-nav-tree .layui-nav-item > a .layui-icon {
  font-size: 16px;
  color: var(--td-text-secondary);
  transition: color 0.2s;
}

.pear-admin .layui-nav-tree .layui-nav-item .layui-nav-more {
  border-top-color: var(--td-text-secondary);
}

.pear-admin .layui-nav-tree .layui-nav-itemed > a .layui-nav-more {
  border-top-color: transparent;
  border-bottom-color: var(--td-text-secondary);
}

/* 选中项：TDesign 品牌浅底 + 品牌蓝文字 */
.pear-admin .layui-nav-tree .layui-this > a,
.pear-admin .layui-nav-tree .layui-this > a:hover {
  background-color: var(--td-brand-light) !important;
  color: var(--td-brand) !important;
  border-right: none !important;
}

.pear-admin .layui-nav-tree .layui-this > a .layui-icon,
.pear-admin .layui-nav-tree .layui-this > a:hover .layui-icon {
  color: var(--td-brand) !important;
}

/* 子菜单 */
.pear-admin .layui-nav-tree .layui-nav-child {
  background-color: #fff;
}

.pear-admin .layui-nav-tree .layui-nav-child dd a {
  height: 36px;
  line-height: 36px;
  margin: 1px 8px 1px 12px;
  padding: 0 12px;
  border-radius: var(--td-radius-medium);
  color: var(--td-text-secondary);
  font-size: 13.5px;
  background-color: transparent;
}

.pear-admin .layui-nav-tree .layui-nav-child dd a:hover {
  background-color: var(--td-gray-1);
  color: var(--td-text-primary);
}

.pear-admin .layui-nav-tree .layui-nav-child dd.layui-this a,
.pear-admin .layui-nav-tree .layui-nav-child dd.layui-this {
  background-color: var(--td-brand-light) !important;
  color: var(--td-brand) !important;
}

.pear-admin .layui-nav-tree .layui-nav-child dd.layui-this a .layui-icon {
  color: var(--td-brand) !important;
}

/* 侧边版本信息 */
.pear-admin #version {
  position: absolute;
  bottom: 12px;
  color: var(--td-text-placeholder);
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
  width: 100%;
}

/* 内容区 */
.pear-admin .layui-body {
  left: 230px;
  top: 48px;
  bottom: 0;
  background-color: var(--td-bg-page);
}

/* 页脚（若显示） */
.pear-admin .layui-footer {
  left: 230px;
  height: 40px;
  line-height: 40px;
  background: #fff;
  border-top: 1px solid var(--td-gray-3);
  color: var(--td-text-secondary);
  font-size: 12px;
}

/* 收缩按钮 */
.pear-collapsed-pe {
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  border-radius: 50%;
  background-color: var(--td-brand) !important;
  box-shadow: 0 4px 10px rgba(0, 82, 217, 0.35);
}

.pear-collapsed-pe a {
  color: #fff;
  font-size: 18px;
}

/* 折叠态 */
.pear-mini .layui-side {
  width: 60px;
}

.pear-mini .layui-side .layui-logo {
  width: 60px;
  padding: 0 10px;
}

.pear-mini .layui-side .layui-logo .title {
  display: none;
}

.pear-mini .layui-header {
  left: 60px;
  width: calc(100% - 60px);
}

.pear-mini .layui-body {
  left: 60px;
}

.pear-mini .layui-side-scroll {
  width: 60px;
}

.pear-mini .layui-nav-tree .layui-nav-item > a {
  margin: 2px 6px;
  padding: 0;
  text-align: center;
}

.pear-mini .layui-nav-tree .layui-nav-item > a .layui-icon {
  font-size: 18px;
}

.pear-mini .layui-nav-tree .layui-nav-child dd a {
  margin: 1px 6px;
}

/* ==========================================================================
   3. 多标签页（pear-tab → TDesign tabs）
   ========================================================================== */

.pear-tab {
  background-color: #fff;
  border-bottom: 1px solid var(--td-gray-3);
  height: 40px;
  line-height: 40px;
}

.pear-tab .layui-tab-title li {
  height: 40px;
  line-height: 40px;
  padding: 0 14px;
  color: var(--td-text-secondary);
  font-size: 13px;
  position: relative;
  border: none;
  transition: color 0.2s;
}

.pear-tab .layui-tab-title li:hover {
  color: var(--td-text-primary);
}

.pear-tab .layui-tab-title li.layui-this {
  color: var(--td-brand);
  font-weight: 500;
}

.pear-tab .layui-tab-title li.layui-this::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 0;
  height: 3px;
  border-radius: 2px;
  background-color: var(--td-brand);
}

.pear-tab .layui-tab-title .layui-tab-close {
  color: var(--td-text-placeholder);
  font-size: 12px;
}

.pear-tab .layui-tab-title li:hover .layui-tab-close {
  color: var(--td-text-secondary);
}

.pear-tab .layui-tab-tool,
.pear-tab .layui-tab-control {
  background-color: #fff;
}

.pear-tab .layui-tab-tool .layui-tab-prev,
.pear-tab .layui-tab-tool .layui-tab-next,
.pear-tab .layui-tab-control .layui-icon {
  color: var(--td-text-secondary);
  font-size: 16px;
}

.pear-tab .layui-tab-content,
.pear-tab .layui-tab-item {
  background-color: var(--td-bg-page);
}

/* 标签右键菜单 */
.pear-tab-menu {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  padding: 4px;
  background: #fff;
}

.pear-tab-menu .item {
  line-height: 34px;
  padding: 0 16px;
  border-radius: var(--td-radius-small);
  color: var(--td-text-primary);
  font-size: 13px;
  cursor: pointer;
}

.pear-tab-menu .item:hover {
  background-color: var(--td-gray-1);
}

/* ==========================================================================
   4. 卡片（layui-card → t-card）
   ========================================================================== */

.layui-card {
  background-color: #fff;
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-2);
  margin-bottom: 16px;
}

.layui-card-header {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--td-text-primary);
  border-bottom: 1px solid var(--td-border-level-2);
  border-radius: var(--td-radius-medium) var(--td-radius-medium) 0 0;
  background-color: #fff;
  line-height: 22px;
}

.layui-card-body {
  padding: 16px;
  color: var(--td-text-primary);
}

/* 表单卡片内边距微调 */
.layui-card .layui-card-body {
  padding: 16px;
}

/* ==========================================================================
   5. 按钮（pear-btn / layui-btn → t-button）
   ========================================================================== */

.pear-btn,
.layui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 16px;
  border-radius: var(--td-radius-small);
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
  box-sizing: border-box;
  white-space: nowrap;
  vertical-align: middle;
}

/* 默认按钮 */
.pear-btn,
.layui-btn.layui-btn-primary,
.pear-btn-primary[plain] {
  background-color: #fff;
  border-color: var(--td-gray-4);
  color: var(--td-text-primary);
}

.pear-btn:hover,
.layui-btn.layui-btn-primary:hover {
  border-color: var(--td-brand);
  color: var(--td-brand);
  background-color: #fff;
}

.pear-btn:active,
.layui-btn.layui-btn-primary:active {
  background-color: var(--td-gray-1);
}

/* 主按钮（品牌蓝） */
.pear-btn-primary,
.layui-btn-primary,
.layui-btn:not(.layui-btn-primary):not(.pear-btn):not(.layui-btn-normal) {
  background-color: var(--td-brand);
  border-color: var(--td-brand);
  color: #fff;
}

.pear-btn-primary:hover,
.layui-btn-primary:hover,
.layui-btn:not(.layui-btn-primary):not(.pear-btn):not(.layui-btn-normal):hover {
  background-color: var(--td-brand-hover);
  border-color: var(--td-brand-hover);
  color: #fff;
}

.pear-btn-primary:active,
.layui-btn-primary:active {
  background-color: var(--td-brand-active);
  border-color: var(--td-brand-active);
  color: #fff;
}

/* 成功（收敛为品牌蓝，与 TDesign 参考样式一致：主操作统一蓝色） */
.pear-btn-success,
.layui-btn.layui-bg-green,
.layui-bg-green {
  background-color: var(--td-brand) !important;
  border-color: var(--td-brand) !important;
  color: #fff !important;
}

.pear-btn-success:hover,
.layui-btn.layui-bg-green:hover {
  background-color: var(--td-brand-hover) !important;
  border-color: var(--td-brand-hover) !important;
  color: #fff !important;
}

/* 危险 */
.pear-btn-danger {
  background-color: var(--td-error);
  border-color: var(--td-error);
  color: #fff;
}

.pear-btn-danger:hover {
  background-color: var(--td-error-hover);
  border-color: var(--td-error-hover);
  color: #fff;
}

/* 警告（收敛为品牌蓝；破坏性批量操作请用 pear-btn-danger 危险红） */
.pear-btn-warming,
.layui-btn.layui-bg-orange {
  background-color: var(--td-brand) !important;
  border-color: var(--td-brand) !important;
  color: #fff !important;
}

.pear-btn-warming:hover,
.layui-btn.layui-bg-orange:hover {
  background-color: var(--td-brand-hover) !important;
  border-color: var(--td-brand-hover) !important;
  color: #fff !important;
}

/* 灰色（插件分组按钮未选中态） */
.layui-btn.layui-bg-gray,
.layui-bg-gray {
  background-color: #f7f7f7;
  border-color: var(--td-gray-4);
  color: var(--td-text-secondary);
}

.layui-btn.layui-bg-gray:hover {
  border-color: var(--td-brand);
  color: var(--td-brand);
  background-color: #f7f7f7;
}

/* 尺寸映射 */
.pear-btn-xs, .layui-btn-xs { height: 24px; padding: 0 12px; font-size: 12px; border-radius: 3px; }
.pear-btn-sm, .layui-btn-sm { height: 28px; padding: 0 14px; font-size: 12px; border-radius: 3px; }
.pear-btn-md, .layui-btn-md { height: 32px; padding: 0 16px; font-size: 14px; }
.pear-btn-lg, .layui-btn-lg { height: 40px; padding: 0 20px; font-size: 16px; border-radius: var(--td-radius-medium); }

/* 禁用态 */
.pear-btn[disabled], .layui-btn[disabled], .pear-btn-disabled {
  background-color: var(--td-brand-focus) !important;
  border-color: var(--td-brand-focus) !important;
  color: #fff !important;
  cursor: not-allowed;
  opacity: 1;
}

/* 通栏按钮 */
.layui-btn-fluid { width: 100%; }

/* 按钮组 */
.pear-btn-group, .layui-btn-group {
  display: inline-flex;
}

.pear-btn-group .pear-btn,
.layui-btn-group .layui-btn {
  border-radius: 0;
  margin-left: -1px;
}

.pear-btn-group .pear-btn:first-child,
.layui-btn-group .layui-btn:first-child {
  border-radius: var(--td-radius-small) 0 0 var(--td-radius-small);
  margin-left: 0;
}

.pear-btn-group .pear-btn:last-child,
.layui-btn-group .layui-btn:last-child {
  border-radius: 0 var(--td-radius-small) var(--td-radius-small) 0;
}

/* ==========================================================================
   6. 表单（layui-form → t-form）
   ========================================================================== */

.layui-form-label {
  float: left;
  display: block;
  padding: 8px 16px 0 0;
  width: auto;
  min-width: 90px;
  text-align: right;
  line-height: 22px;
  color: var(--td-text-secondary);
  font-size: 14px;
  box-sizing: content-box;
  font-weight: 400;
}

.layui-form-pane .layui-form-label {
  background-color: transparent;
  border: none;
  padding: 8px 16px 0 0;
  text-align: right;
}

.layui-form-item {
  margin-bottom: 16px;
}

.layui-form-item .layui-form-mid {
  color: var(--td-text-primary);
  font-size: 14px;
  line-height: 32px;
}

.layui-inline {
  margin-right: 16px;
}

.layui-input-block {
  margin-left: 0;
  min-height: 32px;
}

.layui-input, .layui-textarea {
  height: 32px;
  line-height: 30px;
  padding: 0 12px;
  border: 1px solid var(--td-gray-4);
  border-radius: var(--td-radius-small);
  background-color: #fff;
  color: var(--td-text-primary);
  font-size: 14px;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.layui-textarea {
  height: auto;
  min-height: 80px;
  line-height: 1.6;
  padding: 8px 12px;
}

.layui-input:hover, .layui-textarea:hover {
  border-color: #b9b9b9;
}

.layui-input:focus, .layui-textarea:focus {
  border-color: var(--td-brand) !important;
  box-shadow: 0 0 0 2px rgba(0, 82, 217, 0.1) !important;
  outline: none;
}

.layui-input.layui-disabled, .layui-input[disabled], .layui-textarea[disabled],
input[disabled].layui-input {
  background-color: var(--td-gray-1);
  color: var(--td-text-disabled);
  cursor: not-allowed;
}

.layui-input::placeholder, .layui-textarea::placeholder {
  color: var(--td-text-placeholder);
}

.layui-input-inline {
  width: 190px;
}

.layui-form-danger:focus {
  border-color: var(--td-error) !important;
  box-shadow: 0 0 0 2px rgba(227, 77, 89, 0.1) !important;
}

/* 下拉选择 */
.layui-form-select {
  width: 190px;
}

.layui-form-select .layui-input {
  padding-right: 28px;
}

.layui-form-select dl {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  background-color: #fff;
  padding: 4px;
  max-height: 300px;
}

.layui-form-select dl dd {
  line-height: 34px;
  padding: 0 12px;
  border-radius: var(--td-radius-small);
  color: var(--td-text-primary);
  font-size: 14px;
  transition: background-color 0.2s;
}

.layui-form-select dl dd:hover {
  background-color: var(--td-gray-1);
  color: var(--td-text-primary);
}

.layui-form-select dl dd.layui-this {
  background-color: var(--td-brand-light);
  color: var(--td-brand);
}

.layui-form-select dl dt {
  color: var(--td-text-placeholder);
  padding: 6px 12px;
}

.layui-form-select .layui-edge {
  border-top-color: var(--td-text-placeholder);
}

.layui-form-selected .layui-edge {
  border-bottom-color: var(--td-text-placeholder);
}

/* 开关 */
.layui-form-switch {
  width: 40px;
  height: 22px;
  border-radius: 11px;
  border: 1px solid var(--td-gray-5);
  background-color: var(--td-gray-5);
  transition: background-color 0.2s, border-color 0.2s;
}

.layui-form-switch i {
  width: 18px;
  height: 18px;
  left: 2px;
  top: 1px;
  border-radius: 50%;
  background-color: #fff;
}

.layui-form-onswitch {
  border-color: var(--td-brand) !important;
  background-color: var(--td-brand) !important;
}

.layui-form-onswitch i {
  left: 20px;
  background-color: #fff;
}

/* 复选框（TDesign 方形） */
.layui-form-checkbox,
.layui-form-checkbox[lay-skin=primary] {
  display: inline-flex;
  align-items: center;
  height: 22px;
  color: var(--td-text-primary);
}

.layui-form-checkbox span {
  color: var(--td-text-primary);
  font-size: 14px;
}

.layui-form-checkbox[lay-skin=primary] i,
.layui-form-checkbox i {
  width: 16px;
  height: 16px;
  border: 1px solid var(--td-gray-5);
  border-radius: 3px;
  background-color: #fff;
  font-size: 12px;
  line-height: 16px;
  color: #fff;
  transition: background-color 0.2s, border-color 0.2s;
}

.layui-form-checked[lay-skin=primary] i,
.layui-form-checked i {
  border-color: var(--td-brand) !important;
  background-color: var(--td-brand) !important;
  color: #fff !important;
}

.layui-form-checkbox[lay-skin=primary]:hover i {
  border-color: var(--td-brand);
}

/* 单选 */
.layui-form-radio {
  color: var(--td-text-primary);
  font-size: 14px;
}

.layui-form-radio > i {
  color: var(--td-gray-5);
  font-size: 18px;
}

.layui-form-radio:hover > i,
.layui-form-radioed > i {
  color: var(--td-brand) !important;
}

/* 表单提示 */
.layui-form-tips {
  color: var(--td-text-placeholder);
  font-size: 12px;
}

/* 文本块 */
.layui-text {
  color: var(--td-text-primary);
  font-size: 14px;
  line-height: 1.8;
}

.layui-elip {
  color: var(--td-text-secondary);
}

/* ==========================================================================
   7. 表格（layui-table → t-table）
   ========================================================================== */

.layui-table-view {
  margin: 0;
  border: none;
  border-radius: var(--td-radius-medium);
  overflow: hidden;
}

.layui-table-view .layui-table-box {
  border: none;
}

.layui-table {
  color: var(--td-text-primary);
}

.layui-table th {
  background-color: #f5f6f7 !important;
  color: var(--td-text-secondary);
  font-weight: 500;
  font-size: 14px;
  border: none;
  border-bottom: 1px solid var(--td-border-level-2);
  height: 40px;
}

.layui-table td {
  color: var(--td-text-primary);
  font-size: 14px;
  border: none;
  border-bottom: 1px solid var(--td-border-level-2);
  height: 40px;
  padding: 0;
}

.layui-table tr:hover > td {
  background-color: var(--td-gray-1);
}

.layui-table .layui-table-cell {
  height: 40px;
  line-height: 40px;
  padding: 0 12px;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.layui-table-header .layui-table-cell {
  height: 40px;
  line-height: 40px;
  color: var(--td-text-secondary);
}

/* 去除 layui 默认网格竖线 */
.layui-table-view .layui-table-header th,
.layui-table-view .layui-table-body td {
  border-right: none;
  border-left: none;
}

.layui-table-view .layui-table-header {
  border: none;
}

.layui-table-view .layui-table-body {
  border: none;
}

.layui-table-view .layui-table-main {
  border: none;
}

/* 表头工具条 */
.layui-table-tool {
  background-color: #fff;
  border: none;
  border-bottom: 1px solid var(--td-border-level-2);
  padding: 8px 16px;
  min-height: 40px;
  box-sizing: border-box;
}

.layui-table-tool .layui-table-tool-temp {
  padding-right: 0;
}

.layui-table-tool .layui-table-tool-temp .layui-btn {
  margin-right: 8px;
}

/* 默认工具（刷新/筛选/打印/导出） */
.layui-table-tool .layui-table-tool-self .layui-inline {
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  border: 1px solid transparent;
  border-radius: var(--td-radius-small);
  color: var(--td-text-secondary);
  font-size: 16px;
  margin-left: 4px;
  transition: all 0.2s;
}

.layui-table-tool .layui-table-tool-self .layui-inline:hover {
  background-color: var(--td-gray-1);
  color: var(--td-brand);
}

/* 列设置面板 */
.layui-table-tool-panel {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  padding: 8px 12px;
  background: #fff;
}

.layui-table-tool-panel .layui-form-checkbox {
  display: flex;
  margin-bottom: 6px;
}

/* 固定列分隔 */
.layui-table-fixed .layui-table-header th {
  background-color: #f5f6f7 !important;
}

.layui-table-fixed-l {
  box-shadow: 4px 0 8px -6px rgba(0, 0, 0, 0.12);
}

/* 表格内复选框（表头全选 + 行选） */
.layui-table-header .layui-form-checkbox,
.layui-table-body .layui-form-checkbox {
  margin: 0;
}

/* 合计行 */
.layui-table-total {
  background-color: #fff;
  border-top: 1px solid var(--td-border-level-2);
}

/* ==========================================================================
   8. 分页（layui-laypage → t-pagination）
   ========================================================================== */

.layui-laypage {
  color: var(--td-text-secondary);
  font-size: 14px;
}

.layui-laypage a,
.layui-laypage span {
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  margin: 0 2px;
  border: 1px solid transparent;
  border-radius: var(--td-radius-small);
  background-color: transparent;
  color: var(--td-text-primary);
  font-size: 14px;
  transition: all 0.2s;
}

.layui-laypage a:hover {
  color: var(--td-brand);
  border-color: var(--td-brand);
}

.layui-laypage .layui-laypage-curr {
  background-color: var(--td-brand) !important;
  border-color: var(--td-brand) !important;
}

.layui-laypage .layui-laypage-curr .layui-laypage-em {
  background-color: transparent !important;
  color: #fff;
}

.layui-laypage .layui-laypage-prev,
.layui-laypage .layui-laypage-next {
  border: 1px solid var(--td-gray-4);
  border-radius: var(--td-radius-small);
  background-color: #fff;
}

.layui-laypage .layui-laypage-prev:hover,
.layui-laypage .layui-laypage-next:hover {
  border-color: var(--td-brand);
  color: var(--td-brand);
}

.layui-laypage .layui-laypage-count,
.layui-laypage .layui-laypage-limits,
.layui-laypage .layui-laypage-skip {
  color: var(--td-text-secondary);
  border: none;
}

.layui-laypage .layui-laypage-limits select {
  height: 28px;
  border: 1px solid var(--td-gray-4);
  border-radius: var(--td-radius-small);
  color: var(--td-text-primary);
  font-size: 13px;
}

.layui-laypage .layui-laypage-skip input {
  height: 28px;
  border: 1px solid var(--td-gray-4);
  border-radius: var(--td-radius-small);
  font-size: 13px;
  width: 48px;
}

.layui-laypage .layui-laypage-skip .layui-btn {
  height: 28px;
  line-height: 26px;
  padding: 0 12px;
  font-size: 12px;
}

/* ==========================================================================
   9. 标签/徽标（layui-badge → t-tag）
   ========================================================================== */

.layui-badge {
  display: inline-block;
  padding: 2px 8px;
  height: 22px;
  line-height: 16px;
  border-radius: var(--td-radius-small);
  font-size: 12px;
  border: 1px solid transparent;
  box-sizing: border-box;
  vertical-align: middle;
}

.layui-bg-green, .layui-badge.layui-bg-green {
  background-color: rgba(0, 168, 112, 0.1);
  border-color: rgba(0, 168, 112, 0.25);
  color: var(--td-success);
}

.layui-badge.layui-bg-orange {
  background-color: rgba(237, 123, 47, 0.1);
  border-color: rgba(237, 123, 47, 0.25);
  color: var(--td-warning);
}

.layui-badge.layui-bg-gray {
  background-color: var(--td-gray-1);
  border-color: var(--td-gray-3);
  color: var(--td-text-secondary);
}

.layui-badge.layui-bg-cyan,
.layui-badge.layui-bg-blue {
  background-color: rgba(0, 82, 217, 0.08);
  border-color: rgba(0, 82, 217, 0.2);
  color: var(--td-brand);
}

.layui-badge.layui-bg-red {
  background-color: rgba(227, 77, 89, 0.1);
  border-color: rgba(227, 77, 89, 0.25);
  color: var(--td-error);
}

.layui-badge-dot {
  background-color: var(--td-error);
}

.layui-badge-rim {
  border-color: var(--td-gray-4);
  color: var(--td-text-secondary);
}

/* ==========================================================================
   10. 弹层（layer → t-dialog）
   ========================================================================== */

.layui-layer {
  border-radius: var(--td-radius-large);
  border: none;
  box-shadow: var(--td-shadow-dialog);
  overflow: hidden;
}

.layui-layer-title {
  height: 48px;
  line-height: 48px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 600;
  color: var(--td-text-primary);
  background-color: #fff;
  border-bottom: 1px solid var(--td-border-level-2);
  border-radius: var(--td-radius-large) var(--td-radius-large) 0 0;
}

.layui-layer-close {
  color: var(--td-text-placeholder);
  font-size: 16px;
  transition: color 0.2s;
}

.layui-layer-close:hover {
  color: var(--td-error);
}

.layui-layer-content {
  color: var(--td-text-primary);
  font-size: 14px;
  line-height: 1.8;
}

.layui-layer-btn {
  text-align: right;
  padding: 8px 16px 16px;
  background-color: #fff;
}

.layui-layer-btn a {
  height: 32px;
  line-height: 32px;
  padding: 0 20px;
  border-radius: var(--td-radius-small);
  font-size: 14px;
  margin: 0 4px;
}

/* 主操作按钮（品牌蓝） */
.layui-layer-btn .layui-layer-btn0 {
  background-color: var(--td-brand) !important;
  border: 1px solid var(--td-brand) !important;
  color: #fff !important;
}

.layui-layer-btn .layui-layer-btn0:hover {
  background-color: var(--td-brand-hover) !important;
}

/* 次操作按钮（默认白底） */
.layui-layer-btn .layui-layer-btn1 {
  background-color: #fff !important;
  border: 1px solid var(--td-gray-4) !important;
  color: var(--td-text-primary) !important;
}

.layui-layer-btn .layui-layer-btn1:hover {
  border-color: var(--td-brand) !important;
  color: var(--td-brand) !important;
}

/* 消息提示 */
.layui-layer-msg {
  border-radius: var(--td-radius-medium);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  padding: 0;
  font-size: 14px;
}

/* 图标与文字垂直居中对齐 */
.layui-layer-msg .layui-layer-content {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  line-height: 1.4;
}

.layui-layer-msg .layui-layer-ico {
  position: static !important;
  flex: none;
  margin: 0 !important;
  vertical-align: middle;
}

.layui-layer-dialog .layui-layer-content {
  padding: 24px 24px 8px;
  font-size: 14px;
}

.layui-layer-dialog .layui-layer-face {
  color: var(--td-brand);
}

/* tips 气泡 */
.layui-layer-tips {
  background-color: var(--td-gray-12) !important;
  border-radius: var(--td-radius-small);
  font-size: 12px;
  color: #fff;
}

.layui-layer-tips .layui-layer-ico {
  background-color: var(--td-gray-12);
}

/* 加载 */
.layui-layer-loading {
  border-radius: var(--td-radius-medium);
}

.layui-layer-loading .layui-layer-loading-icon {
  color: var(--td-brand);
}

/* 遮罩 */
.layui-layer-shade {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

/* 弹层内 iframe 边框 */
.layui-layer-iframe .layui-layer-content {
  overflow: hidden;
}

/* 弹层内的 form 容器（iframe 表单页公共结构） */
.mainBox {
  padding: 20px 24px 0;
}

.main-container {
  margin-bottom: 4px;
}

.bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 56px;
  line-height: 56px;
  padding: 0 24px;
  border-top: 1px solid var(--td-border-level-2);
  background-color: #fff;
  box-sizing: border-box;
}

.bottom .button-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.bottom .button-container .pear-btn {
  margin-left: 8px;
}

/* ==========================================================================
   11. 下拉菜单（layui-dropdown → t-dropdown）
   ========================================================================== */

.layui-dropdown-menu.layui-menu {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  background-color: #fff;
  padding: 4px;
  min-width: 120px;
}

.layui-dropdown-menu .layui-menu-body-title {
  line-height: 34px;
  padding: 0 12px;
  border-radius: var(--td-radius-small);
  color: var(--td-text-primary);
  font-size: 14px;
  transition: background-color 0.2s;
}

.layui-dropdown-menu .layui-menu-body-title:hover,
.layui-dropdown-menu .layui-menu-body-title.layui-this {
  background-color: var(--td-brand-light);
  color: var(--td-brand);
}

.layui-dropdown-menu .layui-menu-item-divider {
  height: 1px;
  margin: 4px 8px;
  background-color: var(--td-border-level-2);
  border: none;
  overflow: hidden;
}

.layui-dropdown-menu .layui-menu-item-none {
  color: var(--td-text-placeholder);
  font-size: 13px;
  text-align: center;
  padding: 12px 0;
}

/* ==========================================================================
   12. 日期选择器（laydate → t-date-picker）
   ========================================================================== */

.layui-laydate {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-1);
  background-color: #fff;
}

.layui-laydate-header {
  border-bottom: 1px solid var(--td-border-level-2);
}

.layui-laydate-header .layui-icon {
  color: var(--td-text-secondary);
  font-size: 14px;
  transition: color 0.2s;
}

.layui-laydate-header .layui-icon:hover {
  color: var(--td-brand);
}

.layui-laydate-header span:hover {
  color: var(--td-brand);
}

.layui-laydate-content .layui-this {
  background-color: var(--td-brand) !important;
  color: #fff !important;
  border-radius: var(--td-radius-small);
}

.layui-laydate-content td:hover {
  background-color: var(--td-gray-1);
  border-radius: var(--td-radius-small);
}

.layui-laydate-content .laydate-selected {
  background-color: var(--td-brand-light) !important;
}

.layui-laydate-content td.laydate-day-now {
  color: var(--td-brand);
}

.layui-laydate-content td.laydate-day-now .laydate-day-mark {
  background-color: var(--td-brand);
}

.layui-laydate-content th {
  color: var(--td-text-secondary);
  font-weight: 500;
}

.layui-laydate-footer {
  border-top: 1px solid var(--td-border-level-2);
}

.laydate-footer-list {
  padding: 6px 8px;
}

.laydate-footer-list span {
  display: inline-block;
  height: 26px;
  line-height: 26px;
  padding: 0 12px;
  border-radius: var(--td-radius-small);
  color: var(--td-text-secondary);
  font-size: 13px;
  margin: 2px;
  transition: all 0.2s;
}

.laydate-footer-list span:hover {
  background-color: var(--td-brand-light);
  color: var(--td-brand);
}

.layui-laydate .laydate-footer-btns span {
  height: 28px;
  line-height: 28px;
  padding: 0 14px;
  border-radius: var(--td-radius-small);
}

.layui-laydate .laydate-btns-time,
.layui-laydate .laydate-btns-confirm {
  background-color: var(--td-brand);
  color: #fff;
}

/* ==========================================================================
   13. 引用/字段集（t-alert / t-fieldset）
   ========================================================================== */

.layui-elem-quote {
  border-left: 3px solid var(--td-brand) !important;
  border-radius: var(--td-radius-small);
  background-color: var(--td-brand-lighter);
  padding: 12px 16px;
  color: var(--td-text-primary);
  font-size: 13.5px;
  line-height: 1.8;
}

.layui-elem-field {
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  padding: 16px;
  margin-bottom: 16px;
}

.layui-elem-field legend {
  font-size: 14px;
  font-weight: 600;
  color: var(--td-text-primary);
  margin-left: -12px;
  padding: 0 12px;
  background: #fff;
}

.layui-field-box {
  padding: 0;
}

/* ==========================================================================
   14. 仪表盘统计卡片（TDesign 数据展示卡）
   ========================================================================== */

.td-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}

.td-stat-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border: 1px solid var(--td-gray-3);
  border-radius: var(--td-radius-medium);
  box-shadow: var(--td-shadow-2);
  padding: 20px;
  min-height: 84px;
  box-sizing: border-box;
}

.td-stat-info .td-stat-label {
  font-size: 13px;
  color: var(--td-text-secondary);
  margin-bottom: 8px;
}

.td-stat-info .td-stat-value {
  font-size: 24px;
  font-weight: 600;
  color: var(--td-text-primary);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.td-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--td-radius-medium);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.td-stat-icon img {
  width: 26px;
  height: 26px;
}

.td-stat-icon svg {
  width: 24px;
  height: 24px;
}

.td-icon-brand { background-color: var(--td-brand-light); }
.td-icon-success { background-color: #e8f8f2; }
.td-icon-warning { background-color: #fdf3e8; }
.td-icon-error { background-color: #fdecec; }
.td-icon-brand svg path, .td-icon-brand svg { fill: var(--td-brand); }
.td-icon-success svg path { fill: var(--td-success); }
.td-icon-warning svg path { fill: var(--td-warning); }
.td-icon-error svg path { fill: var(--td-error); }

/* 卡片头部（带右侧操作） */
.td-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 统计行 */
.td-total-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 4px 0 12px;
}

.td-total-item {
  text-align: center;
  padding: 8px 0;
}

.td-total-item .td-total-num {
  font-size: 22px;
  font-weight: 600;
  color: var(--td-text-primary);
  line-height: 1.3;
}

.td-total-item .td-total-label {
  font-size: 13px;
  color: var(--td-text-secondary);
  margin-top: 4px;
}

/* 渠道统计行 */
.td-channel-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 8px;
  border-radius: var(--td-radius-medium);
  transition: background-color 0.2s;
}

.td-channel-row:hover {
  background-color: var(--td-gray-1);
}

.td-channel-name {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.td-channel-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--td-radius-medium);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.td-channel-icon svg { width: 20px; height: 20px; }

.td-channel-name .td-channel-title {
  font-weight: 500;
  color: var(--td-text-primary);
  font-size: 14px;
  line-height: 1.3;
}

.td-channel-name .td-channel-desc {
  font-size: 12px;
  color: var(--td-text-placeholder);
  line-height: 1.3;
  margin-top: 2px;
}

.td-channel-num {
  text-align: right;
  min-width: 70px;
  font-size: 14px;
  color: var(--td-text-primary);
}

.td-channel-num strong {
  font-weight: 600;
}

.td-channel-money {
  text-align: right;
  min-width: 110px;
  font-size: 14px;
  color: var(--td-text-primary);
}

.td-channel-money strong {
  font-weight: 600;
}

/* 项目信息列表 */
.td-link-list {
  padding: 0;
  margin: 0;
}

.td-link-list li {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 8px;
  margin-bottom: 2px;
  border-radius: var(--td-radius-medium);
  cursor: pointer;
  transition: background-color 0.2s;
}

.td-link-list li:hover {
  background-color: var(--td-gray-1);
}

.td-link-list .td-link-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.td-link-list .td-link-left img {
  width: 30px;
  height: 30px;
  border-radius: var(--td-radius-small);
  flex-shrink: 0;
}

.td-link-list h4 {
  font-size: 14px;
  font-weight: 500;
  color: var(--td-text-primary);
  margin: 0;
}

.td-link-list p {
  font-size: 12px;
  color: var(--td-text-placeholder);
  margin: 2px 0 0;
}

.td-link-list .layui-icon-right {
  color: var(--td-text-placeholder);
  font-size: 14px;
}

/* 订单统计头部按钮（今年/近30天切换） */
.td-dropdown-btn {
  height: 28px;
  line-height: 26px;
  padding: 0 12px;
  font-size: 12px;
  color: var(--td-text-secondary);
  background-color: #fff;
  border: 1px solid var(--td-gray-4);
  border-radius: var(--td-radius-small);
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.td-dropdown-btn:hover {
  border-color: var(--td-brand);
  color: var(--td-brand);
}

/* ==========================================================================
   15. 支付测试按钮
   ========================================================================== */

.paybtn {
  margin-top: 32px;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.paybtn > button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 36px;
  border: 1px solid var(--td-gray-4);
  background-color: #fff;
  border-radius: var(--td-radius-small);
  font-size: 14px;
  color: var(--td-text-primary);
  cursor: pointer;
  transition: all 0.2s;
}

.paybtn > button:hover {
  border-color: var(--td-brand);
  color: var(--td-brand);
}

.paybtn > button img {
  margin-right: 4px;
  width: 18px;
  height: 18px;
}

/* ==========================================================================
   16. 登录页（TDesign 双栏登录）
   ========================================================================== */

.td-login-wrap {
  min-height: 100vh;
  display: flex;
  background: #fff;
}

.td-login-aside {
  flex: 1;
  min-width: 380px;
  max-width: 45vw;
  background: linear-gradient(135deg, #0052d9 0%, #366ef4 55%, #7ea6f8 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 56px 64px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.td-login-aside::after {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -160px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.td-login-aside::before {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}

.td-login-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.td-login-brand img {
  width: auto;
  height: 42px;
  border-radius: 0;
}

.td-login-brand .td-login-brand-name {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 1px;
}

.td-login-slogan {
  position: relative;
  z-index: 1;
}

.td-login-slogan h1 {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 12px;
}

.td-login-slogan p {
  font-size: 15px;
  line-height: 1.8;
  opacity: 0.85;
  margin: 0;
  max-width: 380px;
}

.td-login-form-side {
  width: 460px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.td-login-form-box {
  width: 320px;
}

.td-login-form-box h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--td-text-primary);
  margin: 0 0 6px;
}

.td-login-form-box .td-login-sub {
  color: var(--td-text-secondary);
  font-size: 14px;
  margin-bottom: 32px;
}

.td-login-form-box .layui-form-item {
  margin-bottom: 20px;
}

.td-login-form-box .layui-input {
  height: 40px;
  line-height: 38px;
  border-radius: var(--td-radius-medium);
  font-size: 14px;
}

.td-login-form-box .td-login-btn {
  width: 100%;
  height: 40px;
  border-radius: var(--td-radius-medium);
  font-size: 15px;
  margin-top: 8px;
  border: none;
  color: #fff;
  background-color: var(--td-brand);
  cursor: pointer;
}

.td-login-form-box .td-login-btn:hover {
  background-color: var(--td-brand-hover);
}

.td-login-form-box .td-login-btn:active {
  background-color: var(--td-brand-active);
}

.td-login-form-box .td-login-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  font-size: 13px;
}

.td-login-form-box .td-login-foot a {
  color: var(--td-brand);
}

@media screen and (max-width: 900px) {
  .td-login-aside {
    display: none;
  }
  .td-login-form-side {
    width: 100%;
  }
}

/* ==========================================================================
   17. 其他页面组件
   ========================================================================== */

/* 个人资料：API 配置行 */
.infomsg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: 0;
  width: 100%;
  gap: 12px;
}

.infomsg div:first-child {
  width: 100%;
  word-break: break-all;
  color: var(--td-text-primary);
  font-size: 13.5px;
}

.infomsg a {
  color: var(--td-text-secondary);
  transition: color 0.2s;
}

.infomsg a:hover {
  color: var(--td-brand);
}

.userset a {
  color: var(--td-text-secondary);
  transition: color 0.2s;
}

.userset a:hover {
  color: var(--td-brand);
}

/* 用户资料卡 */
.user-info-head {
  display: flex;
  justify-content: center;
}

.user-info-head img {
  border-radius: 50%;
  border: 4px solid #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

/* 订单详情描述行 */
.list {
  padding: 9px 0 !important;
  line-height: 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--td-text-primary);
}

/* 支付平台颜色 */
.alipay { color: var(--td-brand); }
.wxpay { color: var(--td-success); }
.unionpay { color: var(--td-error); }

/* 收款码卡片（channel_list 动态构建） */
#mainbox .layui-card {
  margin-bottom: 16px;
}

#mainbox .layui-card-body {
  position: relative;
  padding: 16px;
}

#mainbox .layui-card-body .layui-badge {
  margin: 2px 4px 6px 0;
}

#mainbox .edit {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

#mainbox .edit .layui-btn {
  height: 28px;
  padding: 0 12px;
  font-size: 12px;
}

/* 分割竖线 */
.divider-vl {
  display: inline-block;
  width: 1px;
  height: 12px;
  margin: 0 8px;
  vertical-align: middle;
  background-color: var(--td-gray-4);
}

/* 表格内操作链接 */
.layui-table td a,
.layui-table-cell a {
  color: var(--td-brand);
}

.layui-table td a:hover,
.layui-table-cell a:hover {
  color: var(--td-brand-hover);
}

/* 加载动画（pear loader → TDesign 品牌色） */
.loader:after {
  border-top-color: var(--td-brand) !important;
}

.ball-loader > span,
.signal-loader > span {
  background-color: var(--td-brand) !important;
}

#nprogress .bar {
  background: var(--td-brand) !important;
}

/* 弹层 loading 图标 */
.layui-layer-loading .layui-layer-loading-icon {
  color: var(--td-brand);
}

/* 消息卡片（frame 顶部铃铛） */
.pear-notice {
  border-radius: var(--td-radius-medium);
}

/* ==========================================================================
   18. 响应式
   ========================================================================== */

@media screen and (max-width: 992px) {
  .td-stat-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 640px) {
  .td-stat-row {
    grid-template-columns: 1fr;
  }
  .pear-container {
    padding: 12px;
  }
  .layui-form-label {
    min-width: 72px;
    font-size: 13px;
  }
  .layui-inline {
    margin-right: 8px;
  }
}



/* 页面标题区（参考腾讯云控制台：大标题 + 说明文字） */
.td-page-header {
  padding: 6px 0 16px;
}

.td-page-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--td-text-primary);
  margin: 0;
  line-height: 28px;
}

.td-page-desc {
  font-size: 13px;
  color: var(--td-text-secondary);
  margin: 6px 0 0;
  line-height: 20px;
}
/* ==========================================================================
   19. 侧栏菜单分组标题 + 菜单质感（参考腾讯云控制台）
   ========================================================================== */

.td-nav-group {
  padding: 14px 20px 6px;
  font-size: 12px;
  line-height: 16px;
  color: var(--td-text-placeholder);
  letter-spacing: 1px;
  user-select: none;
}

.td-nav-group + .layui-nav-item,
.layui-nav-tree .layui-nav-item + .td-nav-group {
  margin-top: 6px;
}

/* 菜单项质感：hover 浅灰底、选中品牌蓝左侧条 + 浅蓝底 */
.pear-admin .layui-nav-tree .layui-nav-item > a {
  margin: 2px 8px;
  border-radius: var(--td-radius-medium);
  transition: background-color 0.2s, color 0.2s;
}

.pear-admin .layui-nav-tree .layui-nav-item > a:hover {
  background-color: var(--td-gray-1);
  color: var(--td-brand-color);
}

.pear-admin .layui-nav-tree .layui-nav-itemed > a,
.pear-admin .layui-nav-tree .layui-nav-item.layui-this > a {
  background-color: var(--td-brand-color-light);
  color: var(--td-brand-color);
}

.pear-admin .layui-nav-tree .layui-nav-itemed > a::before,
.pear-admin .layui-nav-tree .layui-nav-item.layui-this > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 18px;
  border-radius: 0 3px 3px 0;
  background-color: var(--td-brand-color);
}

/* 子菜单缩进与分隔 */
.pear-admin .layui-nav-tree .layui-nav-child {
  margin-left: 20px;
  padding-left: 8px;
  border-left: 1px solid var(--td-border-level-2);
}

.pear-admin .layui-nav-tree .layui-nav-child dd a {
  border-radius: var(--td-radius-medium);
}

.pear-admin .layui-nav-tree .layui-nav-child dd a:hover {
  background-color: var(--td-brand-color-light);
  color: var(--td-brand-color);
}

/* 分组标题在移动端抽屉内同样生效 */
@media screen and (max-width: 1024px) {
  .td-nav-group {
    padding: 12px 20px 4px;
    color: var(--td-text-placeholder) !important;
  }
}

/* ==========================================================================
   18. 移动端响应式（参考 TDesign 移动端形态：顶部汉堡 + 抽屉菜单 + 全宽内容）
   ========================================================================== */

@media screen and (max-width: 1024px) {
  /* ---------- 主框架：侧边栏折叠时直接隐藏，开关按钮在顶栏 ---------- */
  .pear-admin .layui-side {
    position: fixed !important;
    top: 0;
    left: 0;
    height: 100%;
    width: 240px !important;
    display: none;
    z-index: 1001;
  }

  .pear-admin.mobile-menu-open .layui-side {
    display: flex !important;
    flex-direction: column;
    box-shadow: 6px 0 24px rgba(0, 0, 0, 0.18);
  }

  /* 主内容/顶栏/页脚恒为全宽，不被侧栏挤压 */
  .pear-admin .layui-body,
  .pear-admin .layui-header,
  .pear-admin .layui-footer {
    left: 0 !important;
    width: 100%;
  }

  /* 侧栏上下排布：logo 顶部、菜单中间滚动、版本/版权固定底部 */
  .pear-admin.mobile-menu-open .layui-side {
    flex-direction: column;
  }

  .pear-admin .layui-side .layui-logo {
    flex: none;
  }

  .pear-admin .layui-side .layui-side-scroll {
    flex: 1;
    overflow-y: auto;
    height: auto !important;
  }

  .pear-admin .layui-side #version {
    position: static !important;
    flex: none;
    margin: 0;
    padding: 10px 0 14px;
  }

  /* 仪表盘与卡片：任何情况下不横向溢出屏幕 */
  .pear-admin #mainbox,
  .pear-admin .td-dash-main,
  .pear-admin .layui-card {
    max-width: 100%;
  }

  .pear-admin .td-dash-main {
    overflow-x: hidden;
  }

  /* 覆盖 pear 在窄屏自动 mini 化（admin.js 窗口 <=768 时自动 collapse）：
     侧栏展开时保持 240px 完整菜单（含文字与 Logo） */
  .pear-admin.pear-mini .layui-side {
    width: 240px !important;
  }

  .pear-admin.pear-mini .layui-side-scroll {
    width: 240px !important;
    height: calc(100% - 48px) !important;
  }

  .pear-admin.pear-mini .layui-side .layui-nav-tree {
    width: 240px !important;
  }

  .pear-admin.pear-mini .layui-nav-tree .layui-nav-item span {
    display: inline !important;
  }

  .pear-admin.pear-mini .layui-nav-tree .layui-nav-item > a {
    margin: 2px 10px;
    padding: 0 12px;
    text-align: left;
  }

  .pear-admin.pear-mini .layui-nav-tree .layui-nav-item > a .layui-icon {
    font-size: 16px;
    margin-right: 8px;
  }

  .pear-admin.pear-mini .layui-side .layui-logo {
    display: flex !important;
    width: 240px !important;
    padding: 0 16px;
  }

  .pear-admin.pear-mini .layui-side .layui-logo .title {
    display: none !important;
  }

  .pear-admin .layui-side-scroll {
    height: calc(100% - 48px) !important;
    padding-bottom: 70px;
  }

  /* ---------- 顶栏 / 内容 / 页脚全宽 ---------- */
  .pear-admin .layui-header {
    left: 0;
    width: 100%;
  }

  .pear-admin .layui-body {
    left: 0;
  }

  .pear-admin .layui-footer {
    left: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* 折叠按钮（汉堡）在移动端显示并固定在顶栏最右侧（fixed 相对视口，避免被左侧 ul 定位） */
  .pear-admin .layui-header .collapse {
    display: block !important;
    position: fixed;
    right: 6px;
    top: 0;
    height: 48px;
    z-index: 1100;
  }

  /* 顶栏右侧菜单为汉堡腾出空间 */
  .pear-admin .layui-header .layui-nav.layui-layout-right {
    padding-right: 44px;
  }

  /* 移动端隐藏刷新按钮 */
  .pear-admin .layui-header .refresh {
    display: none !important;
  }

  /* 顶栏 Logo 移动端适配（仅移动端显示） */
  .pear-admin .td-header-logo {
    display: flex;
    padding: 0 8px 0 10px;
    border-right: 0;
    flex-shrink: 0;
  }

  .pear-admin .td-header-logo .title {
    font-size: 15px;
  }

  .pear-admin .td-header-logo .logo {
    width: 24px;
    height: 24px;
    margin-right: 6px;
  }

  /* 侧栏 Logo 移动端适配（240px 抽屉内） */
  .pear-admin .layui-side .layui-logo {
    width: 240px !important;
    padding: 0 16px;
  }


  .pear-admin .layui-header .collapse a {
    font-size: 20px;
    color: var(--td-brand) !important;
    line-height: 48px;
    display: block;
  }

  /* 隐藏 pear 自带的移动端浮动折叠按钮 */
  .pear-collapsed-pe {
    display: none !important;
  }

  /* 顶栏右侧：移动端隐藏用户名文字，保留头像 */
  .pear-admin .layui-header .user a.user-face .user-name {
    display: none;
  }

  /* ---------- 遮罩：点击侧栏外部区域关闭侧栏 ---------- */
  .pear-admin .pear-cover {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.35);
    opacity: 0;
    pointer-events: none;
    z-index: 1000;
    transition: opacity 0.2s ease;
  }

  .pear-admin.mobile-menu-open .pear-cover {
    opacity: 1;
    pointer-events: auto;
  }

  /* ---------- 内容区细节 ---------- */
  .pear-container {
    padding: 12px;
  }

  .layui-card-body {
    padding: 12px 16px;
  }

  /* 订单统计三栏收窄 */
  .td-channel-row {
    padding: 12px 8px;
  }

  .td-channel-num,
  .td-channel-money {
    font-size: 13px;
    white-space: nowrap;
  }

  .td-channel-money {
    min-width: auto;
  }

  /* 搜索表单：移动端单列，避免横向溢出 */
  .pear-admin .layui-form-item .layui-inline {
    width: 100%;
    margin-right: 0;
  }

  .layui-input-inline {
    width: auto !important;
    margin-right: 0;
  }

  .layui-input-inline .layui-input,
  .layui-input-inline .layui-form-select {
    width: 100%;
  }

  /* 卡片头部按钮换行 */
  .td-card-header {
    flex-wrap: wrap;
    gap: 8px;
  }

  /* 弹窗适配手机宽度 */
  .layui-layer {
    max-width: 94vw;
  }

  /* 页脚字号缩小 */
  .layui-footer {
    font-size: 11px;
  }

  .layui-footer .left,
  .layui-footer .center,
  .layui-footer .right {
    padding: 0 6px;
  }

  /* 表格卡片横向滚动 */
  .layui-table-view {
    overflow-x: auto;
  }

  /* ---------- 仪表盘渠道统计：窄屏分行，避免数字挤压 ---------- */
  .td-channel-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 10px;
    align-items: center;
    padding: 8px 4px;
  }

  .td-channel-name {
    grid-column: 1 / -1;
    width: 100%;
    gap: 10px;
  }

  .td-channel-num,
  .td-channel-money {
    min-width: 0;
    font-size: 13px;
  }

  /* 筛选/表单：移动端字段整行排列，按钮组自动换行 */
  .pear-container .layui-form-item .layui-inline {
    width: 100%;
    margin-right: 0;
  }

  .pear-container .layui-form-label {
    min-width: 64px;
  }

  .pear-container .layui-input-inline {
    width: calc(100% - 90px) !important;
  }

  .search-bar {
    flex-wrap: wrap;
    gap: 8px;
  }

  .search-bar .search-btns {
    width: 100%;
    justify-content: flex-start;
  }

  /* 表格容器横向滚动兜底，列不被挤压 */
  .layui-table-view {
    max-width: 100%;
  }

  /* 流水统计卡：收紧内边距，适配窄屏 */
  .td-stat-card {
    padding: 14px;
  }

  .td-stat-info .td-stat-value {
    font-size: 20px;
  }

  .td-stat-icon {
    width: 40px;
    height: 40px;
  }

  .td-stat-icon svg {
    width: 20px;
    height: 20px;
  }

  .td-stat-icon img {
    width: 22px;
    height: 22px;
  }

  /* 最新订单表格：列内边距收紧，减少截断 */
  .td-dash-main .layui-table-view .layui-table-cell {
    padding: 0 6px;
    line-height: 28px;
  }

  .td-dash-main .layui-table-view .layui-table th .layui-table-cell {
    padding: 0 6px;
  }

  /* ---------- 侧栏菜单：文字加深，提升对比度（参考 TDesign 浅色导航） ---------- */
  .pear-admin .layui-nav-tree .layui-nav-item > a {
    color: var(--td-text-primary) !important;
  }

  .pear-admin .layui-nav-tree .layui-nav-item > a .layui-icon {
    color: var(--td-text-secondary) !important;
  }

  .pear-admin .layui-nav-tree .layui-nav-child dd a {
    color: var(--td-text-primary) !important;
  }

  .pear-admin .layui-nav-tree .layui-nav-child {
    background-color: var(--td-gray-1) !important;
  }
}

@media screen and (max-width: 480px) {
  .td-stat-row {
    grid-template-columns: 1fr;
  }

  .td-stat-card {
    min-height: 72px;
  }

  .layui-form-label {
    min-width: 64px;
  }

  /* 编辑弹窗表单按钮条 */
  .bottom .button-container {
    justify-content: flex-end;
  }
}


/* ==========================================================================
   20. 移动端全量重写（PC 内容隐藏/收敛，移动端重排显示）
   ========================================================================== */

@media screen and (max-width: 1024px) {
  /* ---------- 主框架：顶栏质感 ---------- */
  .pear-admin .layui-header {
    height: 48px;
    line-height: 48px;
    background: #fff;
    border-bottom: 1px solid var(--td-border-level-2);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  .pear-admin .layui-header .layui-nav {
    padding: 0;
  }

  /* 顶栏左侧收缩按钮固定最右（已有），图标颜色 */
  .pear-admin .layui-header .collapse a {
    color: var(--td-text-primary);
    font-size: 18px;
  }

  /* ---------- 主内容区：更宽松的移动端留白 ---------- */
  .pear-admin .layui-body {
    padding: 12px;
    box-sizing: border-box;
    overflow-y: auto;
  }

  /* ---------- 页脚：三段纵向堆叠（移动端不挤一行） ---------- */
  .pear-admin .layui-footer {
    height: auto;
    min-height: 52px;
    padding: 10px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    line-height: 18px;
    box-sizing: border-box;
    text-align: center;
  }

  .pear-admin .layui-footer .left,
  .pear-admin .layui-footer .center,
  .pear-admin .layui-footer .right {
    width: 100%;
    text-align: center;
    flex: none;
  }

  /* ---------- 仪表盘：流水卡 2 列紧凑网格 ---------- */
  .td-stat-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .td-stat-card {
    padding: 14px;
  }

  .td-stat-info .td-stat-value {
    font-size: 22px;
  }

  /* ---------- 表格列裁剪：移动端只显示关键列，操作列保留 ---------- */
  /* 订单页：保留 复选框/订单号/金额/状态/操作 */
  body.td-page-order .layui-table-view th:nth-child(3),
  body.td-page-order .layui-table-view td:nth-child(3),
  body.td-page-order .layui-table-view th:nth-child(4),
  body.td-page-order .layui-table-view td:nth-child(4),
  body.td-page-order .layui-table-view th:nth-child(6),
  body.td-page-order .layui-table-view td:nth-child(6),
  body.td-page-order .layui-table-view th:nth-child(8),
  body.td-page-order .layui-table-view td:nth-child(8),
  body.td-page-order .layui-table-view th:nth-child(9),
  body.td-page-order .layui-table-view td:nth-child(9),
  body.td-page-order .layui-table-view th:nth-child(10),
  body.td-page-order .layui-table-view td:nth-child(10) {
    display: none !important;
  }

  /* 账号页：保留 平台/账号/启用/今日收款/操作 */
  body.td-page-account .layui-table-view th:nth-child(5),
  body.td-page-account .layui-table-view td:nth-child(5),
  body.td-page-account .layui-table-view th:nth-child(6),
  body.td-page-account .layui-table-view td:nth-child(6),
  body.td-page-account .layui-table-view th:nth-child(7),
  body.td-page-account .layui-table-view td:nth-child(7),
  body.td-page-account .layui-table-view th:nth-child(8),
  body.td-page-account .layui-table-view td:nth-child(8) {
    display: none !important;
  }

  /* 统计页：保留 平台/账号/今日/总计 */
  body.td-page-stat .layui-table-view th:nth-child(4),
  body.td-page-stat .layui-table-view td:nth-child(4),
  body.td-page-stat .layui-table-view th:nth-child(6),
  body.td-page-stat .layui-table-view td:nth-child(6),
  body.td-page-stat .layui-table-view th:nth-child(7),
  body.td-page-stat .layui-table-view td:nth-child(7),
  body.td-page-stat .layui-table-view th:nth-child(8),
  body.td-page-stat .layui-table-view td:nth-child(8),
  body.td-page-stat .layui-table-view th:nth-child(9),
  body.td-page-stat .layui-table-view td:nth-child(9) {
    display: none !important;
  }

  /* 插件页：保留 名称/说明/状态/操作 */
  body.td-page-plugin .layui-table-view th:nth-child(2),
  body.td-page-plugin .layui-table-view td:nth-child(2),
  body.td-page-plugin .layui-table-view th:nth-child(4),
  body.td-page-plugin .layui-table-view td:nth-child(4),
  body.td-page-plugin .layui-table-view th:nth-child(6),
  body.td-page-plugin .layui-table-view td:nth-child(6) {
    display: none !important;
  }

  /* 基本资料·扫码导入卡片：移动端纵向排布防溢出 */
  .td-scan-card .layui-card-body > div {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .td-scan-card #mpayQrImg {
    width: 100% !important;
    max-width: 170px;
    height: auto !important;
    align-self: center;
    box-sizing: border-box;
  }
  .td-scan-card .layui-card-header {
    font-size: 14px;
    line-height: 1.5;
  }
  .td-scan-card .layui-card-header span {
    display: block;
    font-size: 12px;
    margin-top: 2px;
  }
  .td-scan-card .layui-card-body > div > div {
    width: 100%;
    box-sizing: border-box;
  }

  /* 表格工具栏：按钮自动换行防重叠 */
  .layui-table-tool {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px;
    box-sizing: border-box;
  }
  .layui-table-tool .layui-table-tool-self {
    margin-left: auto;
    flex: none;
  }
  .layui-table-tool .layui-btn-container .layui-btn,
  .layui-table-tool .layui-btn {
    margin: 0;
  }

  /* 裁剪后表格列宽自适应 */
  .td-page-order .layui-table-view,
  .td-page-account .layui-table-view,
  .td-page-stat .layui-table-view,
  .td-page-plugin .layui-table-view {
    min-width: 0;
  }

  /* ---------- 弹层表单：移动端留边距（不贴边），toast 除外 ---------- */
  .pear-drawer,
  .layui-layer-iframe,
  .layui-layer-page,
  .layui-layer-dialog:not(.layui-layer-msg) {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    left: 12px !important;
    right: 12px !important;
  }

  /* toast 提示：自适应内容宽度，居中，不占全宽 */
  .layui-layer-msg {
    width: auto !important;
    max-width: calc(100% - 40px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }

  .layui-layer-iframe .layui-layer-content,
  .layui-layer-page .layui-layer-content {
    width: 100% !important;
  }

  .layui-layer-iframe .layui-layer-content iframe {
    width: 100% !important;
  }

  .pear-drawer .layui-form-pane .mainBox,
  .main-container {
    padding: 8px;
  }


  /* ===== 移动端：修复 pear 自动 mini 折叠导致侧栏 60px 压缩 ===== */
  #sideMenu,
  #sideMenu.pear-nav-mini {
    width: 240px !important;
  }

  /* 折叠态恢复完整文字与图标 */
  #sideMenu.pear-nav-mini .layui-nav-item > a {
    text-align: left;
    padding-left: 24px;
  }
  #sideMenu.pear-nav-mini .layui-nav-item > a span,
  #sideMenu.pear-nav-mini .layui-nav-item > a .layui-nav-parent-title {
    display: inline-block !important;
  }
  #sideMenu.pear-nav-mini .layui-nav-item > a .layui-nav-more {
    display: inline-block !important;
  }

  /* 悬浮子菜单（layui-nav-hover）改展开式：移动端禁止 hover 悬浮窗 */
  #sideMenu .layui-nav-child.layui-nav-hover {
    position: static !important;
    display: none !important;
    top: auto !important;
    left: auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
    padding-left: 28px;
    z-index: auto !important;
  }
  #sideMenu .layui-nav-itemed > .layui-nav-child.layui-nav-hover {
    display: block !important;
  }

  /* ---------- 登录页：移动端单栏居中 ---------- */
  .td-login-wrap {
    min-height: 100vh;
  }

  .td-login-form-box {
    width: 100%;
    max-width: 340px;
    padding: 0 24px;
    box-sizing: border-box;
  }

  .td-login-btn {
    height: 44px !important;
    font-size: 16px !important;
  }
}

/* ==========================================================================
   22. 第十三轮：平板断点 / 卡片边距 / 子菜单常显 / 激活背景 / toast / 表格适配
   ========================================================================== */

/* 修改资料页 mainBox 防横向溢出（原 content-box 导致 423px 超宽） */
.mainBox {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* 激活/选中态去掉灰色背景，仅保留品牌蓝左侧竖条与文字色 */
.pear-admin .layui-nav-tree .layui-nav-itemed > a,
.pear-admin .layui-nav-tree .layui-nav-item.layui-this > a {
  background-color: transparent;
}

.pear-admin .layui-nav-tree .layui-nav-item > a:hover {
  background-color: var(--td-brand-color-light);
}

/* 提示 toast：图标与文字左右排布、去右侧大空白 */
.layui-layer-msg {
  border-radius: 8px;
}

.layui-layer-msg .layui-layer-content {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 20px 14px 12px !important;
  line-height: 20px;
}

.layui-layer-msg .layui-layer-ico,
.layui-layer-msg .layui-layer-face {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  flex: none;
  line-height: 1;
}

@media screen and (max-width: 1024px) {
  /* 卡片左右外边距缩小（移动端/平板） */
  .pear-container {
    padding: 12px !important;
  }

  .pear-container .layui-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 修改资料页页头紧凑（不占大留白） */
  .td-page-header {
    padding: 4px 0 10px;
  }

  .td-page-title {
    font-size: 17px;
  }

  .td-page-desc {
    font-size: 12px;
  }

  /* 边栏子菜单全部展开常显（不收缩），且不超出侧栏宽度 */
  .pear-admin .layui-nav-tree .layui-nav-child {
    display: block !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: calc(100% - 28px);
    box-sizing: border-box;
    overflow-wrap: break-word;
  }
  .pear-admin .layui-nav-tree .layui-nav-child dd a {
    white-space: normal;
  }

  .pear-admin .layui-nav-tree .layui-nav-item > a .layui-nav-more {
    display: none !important;
  }

  /* 表格剩余列防挤压：名称/说明等关键列给最小宽度 */
  body.td-page-plugin .layui-table-view .layui-table-cell,
  body.td-page-stat .layui-table-view .layui-table-cell {
    min-width: 96px;
    box-sizing: border-box;
  }

  /* 插件状态开关：缩小轨道，文字完整显示 */
  body.td-page-plugin .layui-table-cell .layui-form-switch {
    margin-top: 0;
    zoom: 0.85;
  }
  body.td-page-plugin th[data-field="state"] .layui-table-cell {
    min-width: 120px;
  }

  body.td-page-account .layui-table-view .layui-table-cell {
    min-width: 88px;
    box-sizing: border-box;
  }

  /* 表格工具栏：左侧按钮与右侧默认工具图标分行不重叠 */
  .layui-table-tool {
    flex-wrap: wrap;
    gap: 6px;
  }

  .layui-table-tool .layui-table-tool-self {
    order: 99;
    margin-left: auto;
    position: static !important;
    flex: none;
    display: flex;
    align-items: center;
  }

  /* 去掉操作列固定后表格整体可横滚，并预留右侧留白不贴边 */
  .layui-table-view {
    overflow-x: auto;
    margin-right: 8px;
  }
}

/* 表单重置按钮弱化：与提交按钮一眼区分 */
.pear-btn[type="reset"],
button[type="reset"] {
  background: #fff;
  color: var(--td-text-secondary);
  border: 1px solid var(--td-border-level-2);
}
.pear-btn[type="reset"]:hover,
button[type="reset"]:hover {
  color: var(--td-brand-color);
  border-color: var(--td-brand-color);
  background: var(--td-brand-color-light);
}

/* ==========================================================================
   34. PC 折叠态（pear-mini）修复：仅显示图标，隐藏文字/分组/版本/Logo图
   （仅桌面端；移动端抽屉走 240px 完整菜单，见下方移动端区块）
   ========================================================================== */
@media (min-width: 993px) {
.pear-mini .layui-nav-tree .layui-nav-item {
  width: 60px;
}
.pear-mini .layui-nav-tree .layui-nav-item > a {
  margin: 2px 6px;
  padding: 0;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
}
.pear-mini .layui-nav-tree .layui-nav-item > a span,
.pear-mini .layui-nav-tree .layui-nav-item > a .layui-nav-more {
  display: none !important;
}
.pear-mini .layui-nav-tree .layui-nav-item > a .layui-icon {
  font-size: 18px;
  margin: 0;
  line-height: 40px;
}
/* 分组标题：折叠态隐藏 */
.pear-mini .layui-side .td-nav-group {
  display: none !important;
}
/* 版本号 / 版权：折叠态隐藏（60px 放不下） */
.pear-mini .layui-side #version {
  display: none !important;
}
/* 折叠态侧栏 Logo：前台长条 SVG 无法压缩到 60px，隐藏图与标题 */
.pear-mini .layui-side .layui-logo .logo,
.pear-mini .layui-side .layui-logo .title {
  display: none !important;
}
/* 折叠态子菜单悬浮层：位置由 pear.js 计算（行内 top/left），此处只美化外观 */
.pear-mini .layui-nav-tree .layui-nav-item > .layui-nav-child.layui-nav-hover {
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
  border: 1px solid var(--td-gray-3);
  background: #fff;
  min-width: 150px;
  z-index: 1300;
}
.pear-mini .layui-nav-tree .layui-nav-item > .layui-nav-child.layui-nav-hover dd a {
  white-space: nowrap;
}
}

/* ==========================================================================
   35. 前台品牌 Logo（长条 SVG）替换旧 Logo 图，去掉文字标题
   ========================================================================== */
.pear-admin .layui-logo .logo {
  width: auto;
  height: 30px;
  max-width: 190px;
  margin-right: 0;
  border-radius: 0;
}
.pear-admin .layui-logo .title {
  display: none !important;
}
.pear-admin .layui-logo .logo-mark-img {
  display: none !important;
}
.pear-admin .td-header-logo .logo {
  width: auto;
  height: 26px;
  max-width: 150px;
  border-radius: 0;
  margin-right: 0;
}
.pear-admin .td-header-logo .title {
  display: none !important;
}

/* ==========================================================================
   36. 腾讯云 TDesign SVG 图标（mask 替换 layui 字体图标）
   保留 <i class="layui-icon layui-icon-xxx"> 结构与全部交互逻辑；
   CSS 层用 SVG mask 覆盖字体字形，颜色跟随 currentColor，尺寸跟随 font-size。
   ========================================================================== */
.layui-icon.layui-icon-console,
.layui-icon.layui-icon-list,
.layui-icon.layui-icon-table,
.layui-icon.layui-icon-ok-circle,
.layui-icon.layui-icon-username,
.layui-icon.layui-icon-user,
.layui-icon.layui-icon-chart,
.layui-icon.layui-icon-component,
.layui-icon.layui-icon-set,
.layui-icon.layui-icon-face-smile,
.layui-icon.layui-icon-edit,
.layui-icon.layui-icon-refresh,
.layui-icon.layui-icon-refresh-1,
.layui-icon.layui-icon-ok,
.layui-icon.layui-icon-search,
.layui-icon.layui-icon-shrink-right,
.layui-icon.layui-icon-delete,
.layui-icon.layui-icon-website,
.layui-icon.layui-icon-logout,
.layui-icon.layui-icon-down:not(.layui-nav-more),
.layui-icon.layui-icon-cart,
.layui-icon.layui-icon-add-1,
.layui-icon.layui-icon-right {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: var(--td-icn) center / contain no-repeat;
  mask: var(--td-icn) center / contain no-repeat;
}

.layui-icon.layui-icon-console        { --td-icn: url('/admin/images/td-icons/control-platform.svg'); }
.layui-icon.layui-icon-list           { --td-icn: url('/admin/images/td-icons/view-list.svg'); }
.layui-icon.layui-icon-table          { --td-icn: url('/admin/images/td-icons/view-module.svg'); }
.layui-icon.layui-icon-ok-circle      { --td-icn: url('/admin/images/td-icons/check-circle.svg'); }
.layui-icon.layui-icon-username       { --td-icn: url('/admin/images/td-icons/user.svg'); }
.layui-icon.layui-icon-user           { --td-icn: url('/admin/images/td-icons/user-circle.svg'); }
.layui-icon.layui-icon-chart          { --td-icn: url('/admin/images/td-icons/chart-bar.svg'); }
.layui-icon.layui-icon-component      { --td-icn: url('/admin/images/td-icons/extension.svg'); }
.layui-icon.layui-icon-set            { --td-icn: url('/admin/images/td-icons/setting.svg'); }
.layui-icon.layui-icon-face-smile     { --td-icn: url('/admin/images/td-icons/smile.svg'); }
.layui-icon.layui-icon-edit           { --td-icn: url('/admin/images/td-icons/edit-1.svg'); }
.layui-icon.layui-icon-refresh,
.layui-icon.layui-icon-refresh-1      { --td-icn: url('/admin/images/td-icons/refresh.svg'); }
.layui-icon.layui-icon-ok             { --td-icn: url('/admin/images/td-icons/check.svg'); }
.layui-icon.layui-icon-search         { --td-icn: url('/admin/images/td-icons/search.svg'); }
.layui-icon.layui-icon-shrink-right   { --td-icn: url('/admin/images/td-icons/chevron-left.svg?v=2'); }
.layui-icon.layui-icon-delete         { --td-icn: url('/admin/images/td-icons/delete.svg'); }
.layui-icon.layui-icon-website        { --td-icn: url('/admin/images/td-icons/earth.svg'); }
.layui-icon.layui-icon-logout         { --td-icn: url('/admin/images/td-icons/logout.svg'); }
.layui-icon.layui-icon-down:not(.layui-nav-more) { --td-icn: url('/admin/images/td-icons/chevron-down.svg'); }
.layui-icon.layui-icon-cart           { --td-icn: url('/admin/images/td-icons/cart.svg'); }
.layui-icon.layui-icon-add-1          { --td-icn: url('/admin/images/td-icons/add.svg'); }
.layui-icon.layui-icon-right          { --td-icn: url('/admin/images/td-icons/chevron-right.svg?v=2'); }

/* ==========================================================================
   37. 收缩态 Logo 显示（前台长条 SVG 缩小版）+ 收缩态页脚跟随
   ========================================================================== */
@media (min-width: 993px) {
  /* 收缩态：Logo 显示品牌标记图标（logo-mark.svg） */
  .pear-mini .layui-side .layui-logo {
    padding: 0 !important;
    text-align: center;
    justify-content: center;
  }
  .pear-mini .layui-side .layui-logo .logo {
    display: none !important;
  }
  .pear-mini .layui-side .layui-logo .logo-mark-img {
    display: inline-block !important;
    width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    border-radius: 6px;
  }
  /* 收缩态：页脚跟随主内容左缘 */
  .pear-mini .layui-footer {
    left: 60px !important;
    width: calc(100% - 60px) !important;
  }
}

/* ==========================================================================
   38. 线上检查修复：页脚盒模型防溢出 + 移动端汉堡按钮定位加固
   ========================================================================== */
/* 页脚：box-sizing border-box，收缩态 calc(100% - 60px) 含 padding 不再溢出 */
.pear-admin .layui-footer {
  box-sizing: border-box;
}

/* 移动端汉堡按钮：fixed 定位加固（避免被顶栏 flex 布局覆盖） */
@media (max-width: 992px) {
  .pear-admin .layui-header .collapse {
    position: fixed !important;
    right: 6px !important;
    top: 0 !important;
  }
}

/* ==========================================================================
   39. 菜单图标文字垂直居中 + 顶栏图标尺寸统一 + 首页按钮去背景
   ========================================================================== */
/* 菜单 a 改为 flex 垂直居中（图标与文字中线对齐） */
.pear-admin .layui-nav-tree .layui-nav-item > a {
  display: flex;
  align-items: center;
}
.pear-admin .layui-nav-tree .layui-nav-item > a > .layui-icon {
  flex-shrink: 0;
}
.pear-admin .layui-nav-tree .layui-nav-item > a > span {
  flex: 1;
  line-height: normal;
}

/* 顶栏三个图标统一 17px 视觉尺寸 */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child .layui-icon {
  font-size: 17px;
}

/* 首页按钮：去掉圆形灰色背景 */
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child a {
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ==========================================================================
   40. 折叠箭头单独放大，与刷新/首页图标视觉一致
   ========================================================================== */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon-shrink-right {
  font-size: 21px;
}

/* ==========================================================================
   41. 登录页复选框修复：i 回到正常流，方块在文字左侧
   ========================================================================== */
.layui-form-checkbox {
  padding-right: 0 !important;
  display: inline-flex !important;
  align-items: center;
}
.layui-form-checkbox i {
  position: static !important;
  order: 1;
  margin-right: 6px;
  flex-shrink: 0;
}
.layui-form-checkbox > div {
  order: 2;
}

/* ==========================================================================
   42. 内容页 body 统一左右边距（td-page-* 页面补齐）
   ========================================================================== */
body.td-page-order,
body.td-page-account,
body.td-page-plugin,
body.td-page-stat {
  padding: 16px;
  box-sizing: border-box;
}

/* ==========================================================================
   43. 复选框 i 恢复原生方块（不参与 mask）+ 下拉菜单对齐 + 箭头再放大
   ========================================================================== */
/* 复选框 i：取消 mask，恢复 16x16 方块 + 蓝底白勾 */
.layui-form-checkbox i.layui-icon {
  -webkit-mask: none !important;
  mask: none !important;
  width: 16px;
  height: 16px;
  line-height: 16px;
  font-size: 12px;
  text-align: center;
  background-color: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 3px;
  color: transparent;
  flex-shrink: 0;
}
.layui-form-checked i.layui-icon {
  background-color: #0052d9 !important;
  border-color: #0052d9 !important;
  color: #fff !important;
}

/* 用户下拉菜单：图标文字垂直居中 */
.pear-admin .layui-layout-right .layui-nav-child dd a {
  display: flex;
  align-items: center;
}
.pear-admin .layui-layout-right .layui-nav-child dd a i {
  margin-right: 8px;
}

/* 顶栏折叠箭头再放大到 22px */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon-shrink-right {
  font-size: 22px;
}

/* ==========================================================================
   44. 收缩态展开图标(spread-left)映射 + 菜单图标居中 + 顶栏统一18px
   ========================================================================== */
/* 收缩态展开按钮同样 mask 化（右箭头） */
.layui-icon.layui-icon-spread-left {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask: url('/admin/images/td-icons/chevron-right.svg?v=2') center / contain no-repeat;
  mask: url('/admin/images/td-icons/chevron-right.svg?v=2') center / contain no-repeat;
}

/* 收缩态菜单图标水平垂直居中 */
.pear-mini .layui-nav-tree .layui-nav-item > a {
  padding: 0 !important;
  justify-content: center;
}

/* 顶栏三个图标统一 18px */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child .layui-icon {
  font-size: 18px;
}
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon-shrink-right,
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon-spread-left {
  font-size: 20px;
}

/* ==========================================================================
   45. 子菜单折叠箭头垂直居中 + 顶栏图标统一18px
   ========================================================================== */
.pear-admin .layui-nav-tree .layui-nav-item > a {
  position: relative;
}
.pear-admin .layui-nav-tree .layui-nav-more {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  margin-top: -3px !important;
}
/* 顶栏所有图标统一 18px（折叠箭头/刷新/地球） */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child .layui-icon {
  font-size: 18px !important;
  width: 18px;
  height: 18px;
}

/* ==========================================================================
   46. 顶栏按钮 flex 垂直居中 + 图标强制18px不被拉伸
   ========================================================================== */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-nav-item,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child .layui-icon {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-block;
}

/* ==========================================================================
   47. 撤回flex干扰，图标用inline-block垂直对齐
   ========================================================================== */
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-nav-item,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child {
  display: inline-block !important;
  vertical-align: middle;
}
.pear-admin .layui-header .layui-nav.layui-layout-left .layui-icon,
.pear-admin .layui-header .layui-layout-right .layui-nav-item:first-child .layui-icon {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  flex: none !important;
  display: inline-block !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  margin: 0 auto;
}

/* ==========================================================================
   48. 隐藏layui菜单图标原字体字符（与mask SVG叠加）
   ========================================================================== */
.pear-admin .layui-nav-tree .layui-nav-item > a .layui-icon::before,
.pear-admin .layui-nav-tree .layui-nav-child .layui-nav-child::before {
  content: none !important;
}

/* ==========================================================================
   49. 子菜单激活背景不超出边栏 + layer弹窗图标复位
   ========================================================================== */
.pear-admin .layui-nav-tree .layui-nav-child {
  overflow: hidden;
}
.pear-admin .layui-nav-tree .layui-nav-child .layui-this > a {
  border-radius: 0;
}
/* layer confirm/alert 弹窗图标复位（不要被全局mask影响） */
.layui-layer-dialog .layui-layer-ico,
.layui-layer-dialog .layui-layer-title,
.layui-layer-page .layui-layer-ico {
  -webkit-mask: none !important;
  mask: none !important;
  background: none !important;
}
.layui-layer-dialog .layui-layer-ico {
  font-family: layui-icon !important;
  font-size: 30px !important;
  color: #f7ba2a !important;
}

/* ==========================================================================
   50. 移动端顶栏隐藏刷新+网站首页 + 表格边距统一
   ========================================================================== */
@media screen and (max-width: 992px) {
  .pear-admin .layui-header .refresh,
  .pear-admin .layui-header .layui-layout-right .layui-nav-item.layui-hide-xs {
    display: none !important;
  }
  /* 表格卡片统一外边距 */
  .pear-admin .layui-body .layui-card,
  .pear-admin .layui-body .td-page-plugin .layui-card,
  .pear-admin .layui-body .layui-table-view {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .pear-admin .layui-body .td-page-header {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* ==========================================================================
   51. 强制移动端隐藏刷新按钮（提高优先级）
   ========================================================================== */
@media screen and (max-width: 992px) {
  body.pear-admin .layui-header li.refresh,
  body.pear-admin .layui-header li.refresh.layui-nav-item {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* ==========================================================================
   52. td-page-header 修复悬浮（相对定位+下间距）
   ========================================================================== */
.pear-admin .layui-body .td-page-header,
.layui-body .td-page-header {
  position: relative !important;
  display: block;
  margin-bottom: 12px;
  padding: 16px 16px 8px !important;
  background: transparent;
  clear: both;
}

/* ==========================================================================
   53. 去掉包裹表格卡片的内边距
   ========================================================================== */
.layui-card-body .layui-table-view,
.layui-card-body:has(.layui-table-view) {
  padding: 0 !important;
}
.layui-card-body:has(.layui-table-view) .layui-table-view {
  border: none;
}

/* ==========================================================================
   54. 移动端容器零边距（用户指定）
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .pear-container {
        padding: 0 !important;
    }
    body.td-page-order, body.td-page-account, body.td-page-plugin, body.td-page-stat {
        padding: 0;
        box-sizing: border-box;
    }
}

/* ==========================================================================
   55. 移动端遮罩置顶 + 确保不被遮挡
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .pear-admin .pear-cover {
    z-index: 1099 !important;
  }
  .pear-admin.mobile-menu-open .layui-side {
    z-index: 1100 !important;
  }
}

/* ==========================================================================
   56. 边栏子菜单样式（用户指定）
   ========================================================================== */
.pear-admin .layui-nav-tree .layui-nav-child {
    margin-left: 15px;
    padding-left: 0;
    border-left: 1px solid var(--td-border-level-2);
}
.layui-nav.layui-nav-tree {
    width: 200px;
    padding: 0 10px;
}
.pear-admin .layui-nav-tree .layui-nav-child {
    margin-left: 0;
    padding-left: 8px;
    border-left: 1px solid var(--td-border-level-2);
}

/* ==========================================================================
   57. 移动端子菜单全宽展开 + 收缩态图标垂直居中
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .pear-admin .layui-nav-tree .layui-nav-child {
        display: block !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: calc(100% - 0px);
        box-sizing: border-box;
        overflow-wrap: break-word;
    }
}
/* 收缩态：一级菜单图标垂直居中 */
.pear-admin.pear-nav-mini .layui-nav-tree .layui-nav-item > a,
.pear-admin.pear-nav-mini .layui-side .layui-nav-item > a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 44px;
    line-height: normal;
}
.pear-admin.pear-nav-mini .layui-nav-tree .layui-nav-item > a .layui-icon,
.pear-admin.pear-nav-mini .layui-side .layui-nav-item > a .layui-icon {
    margin: 0 auto;
    vertical-align: middle;
}

/* ==========================================================================
   58. 收缩态边栏菜单 padding 归零（图标真正居中）
   ========================================================================== */
.pear-admin.pear-nav-mini .layui-nav.layui-nav-tree {
    padding: 0 !important;
}
.pear-admin.pear-nav-mini .layui-nav-tree .layui-nav-item > a {
    padding-left: 0 !important;
    justify-content: center;
}

/* ==========================================================================
   59. 栅格间距归零（用户指定）
   ========================================================================== */
.layui-col-space16 > * {
    padding: 0;
}

/* ==========================================================================
   60. fieldset 卡片样式（用户指定）
   ========================================================================== */
.layui-elem-field {
    border: 0 solid var(--td-gray-3);
    border-radius: var(--td-radius-medium);
    padding: 16px;
    margin-bottom: 16px;
}

/* ==========================================================================
   61. 收缩态居中修正（pear-nav-mini 在 side 上，不是 body）
   ========================================================================== */
.pear-admin .pear-nav-mini .layui-nav.layui-nav-tree {
    padding: 0 !important;
}
.pear-admin .pear-nav-mini .layui-nav-tree .layui-nav-item > a {
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: center !important;
    text-align: center;
}
.pear-admin .pear-nav-mini .layui-nav-tree .layui-nav-item > a i {
    margin: 0 auto;
}

/* ==========================================================================
   62. 基本资料左侧栏 PC 端加右间距
   ========================================================================== */
@media screen and (min-width: 1025px) {
  .td-page-user .layui-row > .layui-col-md6:first-child,
  body.td-page-user .layui-row > .layui-col-md6:first-child {
    padding-right: 15px;
  }
}

/* ==========================================================================
   63. 基本资料左侧栏 PC 端右间距（强选择器，覆盖 space16 padding:0）
   ========================================================================== */
@media screen and (min-width: 1025px) {
  .pear-container .layui-row .layui-col-md6:first-child {
    padding-right: 15px !important;
  }
}

/* ==========================================================================
   64. 移动端子菜单边距归零 + 全局隐藏滚动条
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .pear-admin .layui-nav-tree .layui-nav-child {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}
/* 隐藏后台所有滚动条 */
.pear-admin ::-webkit-scrollbar,
.layui-body ::-webkit-scrollbar,
.layui-side ::-webkit-scrollbar,
.layui-side-scroll::-webkit-scrollbar,
.layui-table-view::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.pear-admin, .layui-body, .layui-side, .layui-side-scroll, .layui-table-view {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

/* 隐藏滚动条（强制） */
* { scrollbar-width: none !important; }
*::-webkit-scrollbar { width: 0 !important; height: 0 !important; display: none !important; }
*::-webkit-scrollbar-thumb { display: none !important; }
*::-webkit-scrollbar-track { display: none !important; }

/* ==========================================================================
   65. 页码居中 + 子菜单文字居中 + 状态badge居中
   ========================================================================== */
/* 表格页码垂直居中 */
.layui-table-page {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}
.layui-table-page .layui-table-pagebar {
  display: flex;
  align-items: center;
}
/* 边栏子菜单文字水平居中 */
.pear-admin .layui-nav-tree .layui-nav-child a,
.pear-admin .layui-nav-tree .layui-nav-child dd a {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  padding-left: 20px !important;
  text-align: left;
}
/* 表格内状态 badge 居中 */
.layui-table-cell .layui-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

/* ==========================================================================
   66. 移动端 mainBox 与 page-header 零边距（用户指定）
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .mainBox {
        padding: 20px 0 0;
    }
    .td-page-header {
        display: block !important;
        position: static !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        height: auto !important;
        overflow: visible !important;
        margin: 0 0 20px 0 !important;
        padding: 20px 0 10px !important;
        clear: both;
        float: none !important;
    }
}

/* ==========================================================================
   67. 移动端表格页码不裁剪
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .layui-table-page {
    overflow-x: auto !important;
    overflow-y: hidden;
    white-space: nowrap;
    padding: 8px 0;
    display: block !important;
  }
  .layui-table-page .layui-table-pagebar,
  .layui-table-page .layui-laypage {
    display: inline-flex !important;
    flex-wrap: nowrap;
    align-items: center;
  }
}

/* ==========================================================================
   68. 移动端表格横向滚动不裁剪
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .layui-table-view,
  .layui-table-box,
  .layui-table-body {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .layui-table {
    min-width: 600px;
  }
}

/* ==========================================================================
   69. 表格不省略号 + 页码文字居中
   ========================================================================== */
.layui-table-cell {
  height: auto !important;
  line-height: 22px !important;
  padding: 0 10px;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}
.layui-table-page {
  text-align: center !important;
}
.layui-table-page .layui-laypage {
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

/* ==========================================================================
   70. 分页栏所有子元素垂直居中
   ========================================================================== */
.layui-table-page .layui-laypage,
.layui-table-page .layui-laypage * {
  vertical-align: middle;
}
.layui-table-page .layui-laypage .layui-input,
.layui-table-page .layui-laypage select {
  height: 28px !important;
  line-height: 28px !important;
  margin: 0 4px;
  display: inline-block;
  vertical-align: middle;
}
.layui-table-page .layui-laypage a,
.layui-table-page .layui-laypage span,
.layui-table-page .layui-laypage button {
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
}

/* ==========================================================================
   71. 分页栏彻底垂直居中
   ========================================================================== */
.layui-table-page .layui-laypage {
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 4px;
  line-height: 28px !important;
}
.layui-table-page .layui-laypage a,
.layui-table-page .layui-laypage span,
.layui-table-page .layui-laypage button,
.layui-table-page .layui-laypage input,
.layui-table-page .layui-laypage select {
  height: 28px !important;
  min-height: 28px !important;
  line-height: 26px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  padding: 0 8px !important;
}
