/* ============================================================
 * 小牛Admin 设计系统 — Data-Dense Dashboard (Light)
 * 由 ui-ux-pro-max 设计系统驱动；覆盖 layui，不改任何模板变量。
 * 引入方式：在 main/iframe 的 layui.css 之后加一行 link 即可。
 * 删除该 link 即完全回退到原 layui 外观。
 * ============================================================ */

:root{
  /* 主色 / 强调 */
  --xn-primary:#1E40AF;       /* 蓝 主色 */
  --xn-primary-600:#1D4ED8;
  --xn-primary-700:#1E3A8A;
  --xn-on-primary:#FFFFFF;
  --xn-accent:#D97706;        /* 琥珀 强调/CTA */
  --xn-accent-600:#B45309;

  /* 中性 / 表面 */
  --xn-bg:#F1F5F9;            /* 页面背景 */
  --xn-surface:#FFFFFF;       /* 卡片/表面 */
  --xn-fg:#0F172A;           /* 主文字 */
  --xn-fg-muted:#64748B;     /* 次要文字 */
  --xn-border:#E2E8F0;       /* 边框/分隔 */
  --xn-muted:#F8FAFC;        /* 浅底/表头底 */

  /* 状态色 */
  --xn-success:#16A34A;
  --xn-warning:#D97706;
  --xn-danger:#DC2626;
  --xn-info:#0EA5E9;

  /* 半径 / 阴影 / 间距节奏 */
  --xn-radius:8px;
  --xn-radius-sm:6px;
  --xn-shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --xn-shadow:0 1px 3px rgba(15,23,42,.08),0 1px 2px rgba(15,23,42,.04);
  --xn-shadow-md:0 4px 12px rgba(15,23,42,.10);
  --xn-ring:0 0 0 3px rgba(30,64,175,.18);

  /* 字体 */
  --xn-font:"Fira Sans","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --xn-font-mono:"Fira Code",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}

/* ---------- 基础排版 ---------- */
/* 注意：不强设 body 背景，避免覆盖登录页全屏渐变；
   后台背景由 .layui-body / .layui-fluid 等内容容器承载。 */
html,body{
  color:var(--xn-fg);
  font-family:var(--xn-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.layui-layout-admin .layui-body,
.layui-body,
body.xn-bg{background:var(--xn-bg);}
body,.layui-body{font-size:14px;line-height:1.5;}
*{box-sizing:border-box;}

/* 数据/金额用等宽数字，防止跳动 */
.layui-table td,.xn-amount,.layui-input[type=number]{font-variant-numeric:tabular-nums;}

/* ---------- 卡片 / 面板 / fieldset ---------- */
.layui-card{
  background:var(--xn-surface);
  border:1px solid var(--xn-border);
  border-radius:var(--xn-radius);
  box-shadow:var(--xn-shadow-sm);
  transition:box-shadow .2s ease;
}
.layui-card:hover{box-shadow:var(--xn-shadow);}
.layui-card-header{
  height:auto;
  min-height:50px;
  line-height:1.4;
  padding:14px 18px;
  font-size:15px;
  font-weight:600;
  color:var(--xn-fg);
  border-bottom:1px solid var(--xn-border);
  border-radius:var(--xn-radius) var(--xn-radius) 0 0;
  background:var(--xn-surface);
}
.layui-card-body{padding:18px;}

.layui-elem-field{
  border:1px solid var(--xn-border);
  border-radius:var(--xn-radius);
  margin-top:16px;
}
.layui-elem-field legend{
  font-size:14px;
  font-weight:600;
  color:var(--xn-fg);
  padding:0 10px;
}
.layui-field-title{border-width:0 0 1px;border-radius:0;margin:18px 0;}

/* KPI / 统计小卡（利润、统计页用 .xn-kpi 可选） */
.xn-kpi{
  background:var(--xn-surface);
  border:1px solid var(--xn-border);
  border-radius:var(--xn-radius);
  padding:16px 18px;
  box-shadow:var(--xn-shadow-sm);
}
.xn-kpi .xn-kpi-label{color:var(--xn-fg-muted);font-size:13px;}
.xn-kpi .xn-kpi-value{color:var(--xn-fg);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:4px;}
/* ---------- 表单 ---------- */
.layui-form-label{
  color:var(--xn-fg);
  font-weight:500;
  padding:9px 12px 9px 0;
}
.layui-input,.layui-textarea,.layui-select{
  border:1px solid var(--xn-border);
  border-radius:var(--xn-radius-sm);
  color:var(--xn-fg);
  background:var(--xn-surface);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.layui-input:hover,.layui-textarea:hover{border-color:#CBD5E1;}
.layui-input:focus,.layui-textarea:focus,
.layui-form-select .layui-input:focus{
  border-color:var(--xn-primary)!important;
  box-shadow:var(--xn-ring);
  outline:none;
}
.layui-input::placeholder,.layui-textarea::placeholder{color:#94A3B8;}
.layui-form-mid.layui-word-aux{color:var(--xn-fg-muted);font-size:12px;}

/* select 下拉 */
.layui-form-select dl dd.layui-this{background:var(--xn-primary);color:#fff;}
.layui-form-select dl dd:hover{background:rgba(30,64,175,.08);}

/* 开关 */
.layui-form-switch{border-color:var(--xn-border);}
.layui-form-onswitch{
  background:var(--xn-primary)!important;
  border-color:var(--xn-primary)!important;
}

/* 复选 / 单选 选中态 */
.layui-form-checked[lay-skin=primary] i,
.layui-form-checkbox[lay-skin=primary].layui-form-checked i{
  border-color:var(--xn-primary)!important;
  background:var(--xn-primary)!important;
}
.layui-form-radio>i:hover,.layui-form-radioed>i{color:var(--xn-primary)!important;}
.layui-form-checked i{background-color:var(--xn-primary)!important;border-color:var(--xn-primary)!important;}
/* ---------- 表格（数据密集，可扫描） ---------- */
.layui-table-view,.layui-table{
  border-radius:var(--xn-radius);
  color:var(--xn-fg);
}
.layui-table{margin:0;}
.layui-table thead tr,
.layui-table th{
  background:var(--xn-muted)!important;
  color:var(--xn-fg)!important;
  font-weight:600;
  border-bottom:1px solid var(--xn-border);
}
.layui-table td,.layui-table th{
  padding:11px 14px;
  border-color:var(--xn-border);
}
/* 斑马纹 + 行 hover 高亮（数据扫描关键） */
.layui-table tbody tr:nth-child(even){background:#FBFCFE;}
.layui-table tbody tr{transition:background .12s ease;}
.layui-table tbody tr:hover,
.layui-table-hover{background:rgba(30,64,175,.06)!important;}
.layui-table-page{background:var(--xn-surface);border-top:1px solid var(--xn-border);}

/* 手写 <table class="layui-table"> 也统一包裹处理：横向滚动防溢出 */
.layui-card-body>.layui-table,
.layui-card-body>form>.layui-table{display:table;width:100%;}

/* 徽标/标签（状态） */
.layui-badge,.layui-badge-rim{border-radius:4px;font-weight:500;padding:0 8px;height:20px;line-height:20px;}
.layui-bg-green{background:var(--xn-success)!important;}
.layui-bg-orange{background:var(--xn-warning)!important;}
.layui-bg-red{background:var(--xn-danger)!important;}
.layui-bg-blue{background:var(--xn-primary)!important;}
.layui-bg-gray{background:#94A3B8!important;}
/* ---------- 按钮 ---------- */
.layui-btn{
  background:var(--xn-primary);
  border-radius:var(--xn-radius-sm);
  font-weight:500;
  height:38px;
  line-height:38px;
  padding:0 18px;
  transition:background .15s ease,box-shadow .15s ease,transform .05s ease;
  cursor:pointer;
}
.layui-btn:hover{background:var(--xn-primary-600);box-shadow:var(--xn-shadow-sm);color:#fff;}
.layui-btn:active{transform:translateY(1px);}
.layui-btn-sm{height:32px;line-height:32px;padding:0 12px;font-size:13px;}
.layui-btn-xs{height:24px;line-height:24px;padding:0 8px;font-size:12px;border-radius:4px;}
.layui-btn-lg{height:44px;line-height:44px;}

/* 主 CTA 用琥珀强调（lay-filter 不变，靠 normal 之外的语义） */
.layui-btn-normal{background:var(--xn-primary);}
.layui-btn-normal:hover{background:var(--xn-primary-600);}
.layui-btn-warm{background:var(--xn-accent);}
.layui-btn-warm:hover{background:var(--xn-accent-600);color:#fff;}
.layui-btn-danger{background:var(--xn-danger);}
.layui-btn-danger:hover{background:#B91C1C;color:#fff;}
.layui-btn-primary{
  background:var(--xn-surface);
  border:1px solid var(--xn-border);
  color:var(--xn-fg);
}
.layui-btn-primary:hover{border-color:var(--xn-primary);color:var(--xn-primary);background:var(--xn-surface);}
.layui-btn-disabled,.layui-btn-disabled:hover{
  background:var(--xn-muted)!important;
  color:#CBD5E1!important;
  border-color:var(--xn-border)!important;
  cursor:not-allowed;
}

/* 链接按钮（表格内操作） */
.layui-table .layui-btn-xs+.layui-btn-xs{margin-left:6px;}
/* ---------- 侧边栏 / 导航 ---------- */
.layui-side,.layui-side-menu{
  background:var(--xn-primary-700);
  box-shadow:1px 0 0 rgba(0,0,0,.05);
}
.layui-logo{
  background:var(--xn-primary-700)!important;
  color:#fff!important;
  font-weight:700;
  letter-spacing:.3px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.layui-nav-tree .layui-nav-item a{
  color:#C7D2FE;
  transition:background .15s ease,color .15s ease;
}
.layui-nav-tree .layui-nav-item a:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}
.layui-nav-tree .layui-nav-item a cite{font-size:14px;}
.layui-nav-tree .layui-this>a,
.layui-nav-tree .layui-nav-item.layui-this>a{
  background:var(--xn-primary)!important;
  color:#fff!important;
}
.layui-nav-tree .layui-nav-bar{background:var(--xn-accent)!important;}
/* 子菜单 */
.layui-nav-tree .layui-nav-child dd a{color:#A5B4FC;padding-left:48px;}
.layui-nav-tree .layui-nav-child dd.layui-this a,
.layui-nav-tree .layui-nav-child dd a:hover{background:rgba(255,255,255,.06);color:#fff;}

/* 顶部 header */
.layui-layout-admin .layui-header{
  background:var(--xn-surface);
  border-bottom:1px solid var(--xn-border);
  box-shadow:var(--xn-shadow-sm);
}
.layui-layout-admin .layui-header .layui-nav-item a{color:var(--xn-fg);}

/* 面包屑卡片 */
.layadmin-header{box-shadow:var(--xn-shadow-sm);border-radius:var(--xn-radius);}
.layui-breadcrumb a{color:var(--xn-fg-muted);}
.layui-breadcrumb a:hover{color:var(--xn-primary);}
/* ---------- 分页 / Tab / 弹层 / 杂项 ---------- */
/* 分页 */
.layui-laypage a,.layui-laypage span{
  border-radius:var(--xn-radius-sm);
  border-color:var(--xn-border);
  color:var(--xn-fg);
  transition:all .12s ease;
}
.layui-laypage a:hover{color:var(--xn-primary);border-color:var(--xn-primary);}
.layui-laypage .layui-laypage-curr .layui-laypage-em{background:var(--xn-primary);border-radius:var(--xn-radius-sm);}
.pages ul li.active{background:var(--xn-primary)!important;border-color:var(--xn-primary)!important;color:#fff;}

/* Tab 标签页 */
.layui-tab-title .layui-this{color:var(--xn-primary);}
.layui-tab-brief>.layui-tab-title .layui-this:after{border-bottom:2px solid var(--xn-primary);}

/* layer 弹层 */
.layui-layer{border-radius:var(--xn-radius)!important;box-shadow:var(--xn-shadow-md)!important;overflow:hidden;}
.layui-layer-title{
  background:var(--xn-surface);
  color:var(--xn-fg);
  font-weight:600;
  border-bottom:1px solid var(--xn-border);
}
.layui-layer-btn .layui-layer-btn0{background:var(--xn-primary);border-color:var(--xn-primary);}
.layui-layer-setwin .layui-layer-close2{} /* 保留默认关闭按钮 */

/* 提示/警告条 */
.layui-elip,.layui-text{color:var(--xn-fg);}

/* tooltip 行为靠 layui 自带；这里保证可点元素手型 */
.layui-btn,.layui-nav-item a,.layui-table .layui-btn,a[lay-event],.layui-laypage a{cursor:pointer;}

/* 滚动条（轻量，数据页常滚动） */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:6px;border:2px solid var(--xn-bg);}
::-webkit-scrollbar-thumb:hover{background:#94A3B8;}
::-webkit-scrollbar-track{background:transparent;}

/* 减少动效偏好 */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* iframe 内容区留白节奏 */
.layui-fluid{padding:16px;}
.h15{height:16px;}

/* ============================================================
 * 表单页美化（add / edit / config 等）
 * 统一卡片化 + 限宽居中 + 合理输入宽度 + 分组留白
 * 不改模板：靠 body.xn-bg 容器 + 通用 class .xn-form-page
 * ============================================================ */

/* iframe 表单页：裸 .layui-form（旧写法 style="padding:20px 30px 0 0"）卡片化 */
body.xn-bg{padding:0;}
body.xn-bg>.layui-form{
  background:var(--xn-surface);
  max-width:760px;
  margin:20px auto;
  padding:28px 36px 8px!important;
  border:1px solid var(--xn-border);
  border-radius:var(--xn-radius);
  box-shadow:var(--xn-shadow-sm);
}
/* 含宽表格的配置表单(如通道费率配置)不限窄, 给更宽的卡片 */
body.xn-bg>.layui-form:has(.layui-table){
  max-width:1100px;
  padding:24px 28px 12px!important;
}

/* 表单项节奏：更舒展的行距、对齐 */
.layui-form .layui-form-item{margin-bottom:20px;clear:both;}
.layui-form .layui-form-label{
  width:104px;
  text-align:right;
  color:var(--xn-fg);
  font-weight:500;
  padding:9px 14px 9px 0;
}
.layui-form .layui-input-block{margin-left:120px;min-height:38px;}
.layui-form .layui-input-inline{margin-right:10px;}

/* 输入框不再拉满整行：给一个舒适上限宽度 */
body.xn-bg>.layui-form .layui-input-block>.layui-input,
body.xn-bg>.layui-form .layui-input-block>.layui-textarea,
body.xn-bg>.layui-form .layui-input-block>.layui-form-select{max-width:420px;}
body.xn-bg>.layui-form .layui-input-block>.layui-textarea{min-height:90px;}

/* 分组标题（fieldset.layui-field-title）更清晰 */
.layui-form fieldset.layui-field-title{
  margin:8px 0 22px;
  border-top:1px solid var(--xn-border);
}
.layui-form fieldset.layui-field-title legend{
  font-size:14px;
  font-weight:600;
  color:var(--xn-primary);
  padding:0 12px;
  margin-left:-12px;
}

/* 行内分组（费率：固定费+比例 并排）对齐美化 */
.layui-form .layui-input-inline>.layui-input{max-width:none;}

/* 提交按钮区：左对齐到输入起点，带上分隔留白 */
.layui-form .layui-form-item:last-child .layui-input-block{padding-top:6px;}
body.xn-bg>.layui-form .layui-btn[lay-submit],
body.xn-bg>.layui-form button[lay-submit]{min-width:120px;}

/* 卡片内表单（如 pay_product_config 在 layui-card 里）保持原宽，仅优化间距 */
.layui-card-body>form .layui-form-item,
.layui-card-body .layui-form .layui-form-item{margin-bottom:18px;}

/* 开关/复选在 block 内垂直居中 */
.layui-form .layui-input-block>.layui-form-switch{margin-top:4px;}

/* 辅助说明文字换行不挤压 */
.layui-form .layui-form-mid.layui-word-aux{display:inline-block;margin-left:6px;}
