/**
 * BizNew 现代化主题皮肤
 * 覆盖 Layui 默认视觉，对标 Element Plus 风格
 * 不修改原有CSS文件，仅通过此文件覆盖
 * 引入位置：在所有其他CSS之后加载
 */

/* ========== CSS 变量体系 ========== */
:root {
  --primary: #409EFF;
  --primary-light: #66B1FF;
  --primary-lighter: #ECF5FF;
  --primary-dark: #3A8EE6;
  --success: #67C23A;
  --success-light: #E1F3D8;
  --warning: #E6A23C;
  --warning-light: #FDF6EC;
  --danger: #F56C6C;
  --danger-light: #FDE2E2;
  --info: #909399;
  --text-primary: #303133;
  --text-regular: #606266;
  --text-secondary: #909399;
  --text-placeholder: #C0C4CC;
  --border-color: #DCDFE6;
  --border-light: #E4E7ED;
  --border-lighter: #EBEEF5;
  --bg-page: #F0F2F5;
  --bg-card: #FFFFFF;
  --radius: 4px;
  --radius-lg: 8px;
  --shadow-light: 0 2px 12px 0 rgba(0,0,0,.06);
  --shadow-base: 0 2px 8px rgba(0,0,0,.12);
  --font-size: 14px;
  --font-size-sm: 13px;
  --font-size-lg: 16px;
}

/* ========== 全局基础 ========== */
html {
  background-color: var(--bg-page);
  font-size: var(--font-size);
  color: var(--text-regular);
  -webkit-font-smoothing: antialiased;
}

/* ========== 按钮覆盖 ========== */
.layui-btn {
  border-radius: var(--radius);
  font-size: var(--font-size);
  transition: all .2s;
}
.layui-btn:hover {
  opacity: .85;
}
.layui-btn-normal,
.layui-btn-normal:hover {
  background-color: var(--primary);
}
.layui-btn-warm,
.layui-btn-warm:hover {
  background-color: var(--warning);
}
.layui-btn-danger,
.layui-btn-danger:hover {
  background-color: var(--danger);
}
.layui-btn-disabled,
.layui-btn-disabled:hover {
  background-color: #C0C4CC;
  opacity: 1;
}
.layui-btn-primary {
  border-color: var(--border-color);
  color: var(--text-regular);
  background-color: #fff;
}
.layui-btn-primary:hover {
  border-color: var(--primary);
  color: var(--primary);
  background-color: var(--primary-lighter);
  opacity: 1;
}
/* 小按钮 */
.layui-btn-sm {
  font-size: var(--font-size-sm);
}
/* 图标按钮 */
.layui-btn .layui-icon {
  font-size: 14px;
  margin-right: 4px;
}

/* ========== 输入框覆盖 ========== */
.layui-input,
.layui-textarea,
.layui-select {
  border-radius: var(--radius);
  border-color: var(--border-color);
  color: var(--text-regular);
  font-size: var(--font-size);
  transition: border-color .2s, box-shadow .2s;
}
.layui-input:focus,
.layui-textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 2px rgba(64,158,255,.2);
}
.layui-input::placeholder {
  color: var(--text-placeholder);
}
/* select 下拉 */
.layui-form-select .layui-input {
  border-radius: var(--radius);
}
.layui-form-select dl {
  border-radius: var(--radius);
  border-color: var(--border-light);
  box-shadow: var(--shadow-light);
  margin-top: 6px;
}
.layui-form-select dl dd.layui-this {
  background-color: var(--primary-lighter);
  color: var(--primary);
}
.layui-form-select dl dd:hover {
  background-color: var(--primary-lighter);
  color: var(--primary);
}

/* ========== 表格覆盖 ========== */
.layui-table-view {
  border-radius: var(--radius);
 /*overflow: hidden;*/
  border-color: var(--border-lighter);
}
.layui-table th {
  background: #FAFAFA;
  color: var(--text-primary);
  font-weight: 600;
  font-size: var(--font-size);
}
.layui-table td {
  color: var(--text-regular);
  font-size: var(--font-size);
}
.layui-table-hover > td {
  background-color: var(--primary-lighter) !important;
}
.layui-table[lay-even] tr:nth-child(even) td {
  background-color: #FAFAFA;
}
.layui-table-tool {
  background-color: #fff;
  border-color: var(--border-lighter);
}
.layui-table-page {
  border-color: var(--border-lighter);
}

/* ========== 分页覆盖 ========== */
.layui-laypage {
  font-size: var(--font-size-sm);
}
.layui-laypage a,
.layui-laypage span {
  border-radius: var(--radius);
  border-color: var(--border-color);
  color: var(--text-regular);
  margin: 0 2px;
  min-width: 30px;
  height: 28px;
  line-height: 28px;
  box-sizing: border-box;
  vertical-align: middle;
}
.layui-laypage a:hover {
  color: var(--primary);
  border-color: var(--primary);
}
/* 当前选中页码：固定尺寸，防止被撤大 */
.layui-laypage .layui-laypage-curr {
  display: inline-block;
  height: 28px;
  line-height: 28px;
  min-width: 30px;
  vertical-align: middle;
  box-sizing: border-box;
  padding: 0;
}
.layui-laypage .layui-laypage-curr .layui-laypage-em {
  background-color: var(--primary);
  border-radius: var(--radius);
  /* 重置尺寸，与容器一致 */
  left: 0 !important;
  top: 0 !important;
  padding: 0 !important;
  height: 100%;
  width: 100%;
}
.layui-laypage .layui-laypage-curr em {
  color: #fff;
  position: relative;
}
.layui-laypage select {
  border-radius: var(--radius);
  border-color: var(--border-color);
}
.layui-laypage input {
  border-radius: var(--radius);
  border-color: var(--border-color);
}
.layui-laypage button {
  border-radius: var(--radius);
  border-color: var(--border-color);
}

/* ========== 表单标签覆盖 ========== */
.layui-form-label {
  color: var(--text-regular);
  font-size: var(--font-size);
}
.layui-form-item .layui-form-checkbox {
  margin-top: 4px;
}

/* ========== 弹窗(layer)覆盖 ========== */
.layui-layer {
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
}
.layui-layer-title {
  background: #fff !important;
  border-bottom: 1px solid var(--border-light) !important;
  font-weight: 600;
  font-size: var(--font-size-lg);
  color: var(--text-primary);
  height: 48px !important;
  line-height: 48px !important;
  padding: 0 16px !important;
}
.layui-layer-setwin {
  top: 12px !important;
}
.layui-layer-setwin a {
  font-size: 16px;
}
.layui-layer-btn {
  text-align: center !important;
  padding: 12px 16px !important;
  border-top: 1px solid var(--border-lighter);
  background: #fff;
}
.layui-layer-btn a {
  border-radius: var(--radius) !important;
  font-size: var(--font-size) !important;
  height: 32px !important;
  line-height: 32px !important;
  padding: 0 20px !important;
}
.layui-layer-btn .layui-layer-btn0 {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}
.layui-layer-btn .layui-layer-btn1 {
  background-color: #fff !important;
  border-color: var(--border-color) !important;
  color: var(--text-regular) !important;
}
.layui-layer-btn .layui-layer-btn1:hover {
  border-color: var(--primary) !important;
  color: var(--primary) !important;
}
/* 弹窗内容区 */
.layui-layer-content {
  color: var(--text-regular);
}
/* layer.msg 消息提示弹窗 */
.layui-layer-msg {
  background: rgba(0, 0, 0, 0.75) !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}
.layui-layer-msg .layui-layer-content {
  color: #ffffff !important;
  font-size: var(--font-size) !important;
}
/* 无图标时使用紧凑 padding */
.layui-layer-msg:not(.layui-layer-dialog) .layui-layer-content {
  padding: 12px 20px !important;
}
/* 有图标时保留左侧空间，避免文字被图标遮挡 */
.layui-layer-msg.layui-layer-dialog .layui-layer-content {
  padding: 12px 20px 12px 55px !important;
}

/* ========== 顶部导航栏优化 ========== */
.layui-layout-admin .layui-header {
  background: linear-gradient(135deg, #1e3a5f 0%, #2b5ea7 100%) !important;
  border-bottom: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  height: 50px;
}
/* 导航项优化 */
.nav-title {
  color: rgba(255,255,255,.85) !important;
  font-size: 14px;
  font-weight: 500;
  transition: all .2s;
}
.nav-title:hover {
  color: #fff !important;
}
.auto-nav-item:hover,
.auto-nav-item.active {
  background: rgba(255,255,255,.15) !important;
  border-radius: 4px;
}
.auto-nav-item:hover .nav-title,
.auto-nav-item.active .nav-title {
  color: #fff !important;
}
/* 下拉子菜单优化 */
.auto-nav-child-wrap {
  border-radius: var(--radius) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
  padding: 8px 0 !important;
  border: none !important;
}
.menu-item-grop-title {
  color: var(--text-secondary) !important;
  font-size: 12px !important;
  padding: 8px 16px 4px !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  gap: 4px;
}
/* 分组标题里的图标尺寸统一 */
.menu-item-grop-title .iconfont {
  font-size: 14px;
  line-height: 1;
  vertical-align: middle;
}
/* 菜单项链接居中对齐 */
.auto-menu-item a {
  color: var(--text-regular) !important;
  font-size: var(--font-size) !important;
  padding: 6px 16px !important;
  border-radius: 4px;
  transition: all .15s;
  display: flex !important;
  align-items: center;
  line-height: 1.5 !important;
}
.auto-menu-item a:hover {
  background: var(--primary-lighter) !important;
  color: var(--primary) !important;
}
/* 右侧用户区 */
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-item a,
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-item a cite {
  color: rgba(255,255,255,.85) !important;
}
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-item a:hover {
  color: #fff !important;
}
/* 右上角用户下拉子菜单：白底深色文字，覆盖继承的白色文字 */
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child {
  background: #fff !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
  padding: 4px 0 !important;
  min-width: 120px !important;
}
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child a,
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child a cite {
  color: var(--text-regular) !important;
  font-size: var(--font-size-sm) !important;
}
.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child dd a:hover {
  background: var(--primary-lighter) !important;
  color: var(--primary) !important;
}
/* Header 导航下划线 */
.layui-layout-admin .layui-header .layui-nav .layui-this:after,
.layui-layout-admin .layui-header .layui-nav-bar {
  background-color: rgba(255,255,255,.4) !important;
}
/* Logo 区域 */
.layui-layout-admin .layui-logo {
  background: linear-gradient(135deg, #162d4a 0%, #1e3a5f 100%) !important;
  box-shadow: 1px 0 2px rgba(0,0,0,.15);
}
.layui-layout-admin .layui-logo,
.layui-layout-admin .layui-logo a {
  color: #fff !important;
}

/* ========== Tab 标签页优化 ========== */
.layadmin-pagetabs {
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.layadmin-pagetabs .layui-tab-title li.layui-this:after {
  background-color: var(--primary);
}
.layadmin-pagetabs .layui-tab-title li:hover:after {
  background-color: var(--primary-light);
}

/* ========== 卡片容器 ========== */
.page-container {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-light);
}

/* ========== 列表页整体卡片 ========== */
/* 覆盖 layui-card 使其有更现代的阴影和圆角 */
.layui-fluid .layui-card {
  border-radius: var(--radius);
  box-shadow: var(--shadow-light);
  border: none;
}

/* ========== 搜索区（search-expandopenBox-content）现代化 ========== */
.search-expandopenBox-content {
  background: #fff;
  border-bottom: 1px solid var(--border-lighter) !important;
  padding: 10px 16px 4px !important;
  /* 不能加 overflow:hidden，否则绝对定位的下拉弹层会被裁切 */
  position: relative;
}
/* 搜索区字段行：保留 inline 排列 */
.search-expandopenBox {
  display: inline; /* 继承 layui-form-item 的行内流式排列 */
}
/* 每个搜索字段块间距与垂直对齐 */
.search-expandopenBox .layui-inline,
.search-expandopenBox > .layui-inline {
  margin-bottom: 8px;
  vertical-align: middle;
}
/* 搜索区 label 统一颜色、字号、垂直对齐 */
/* 注：layui-form-label 和 customer-input-label 在原始 CSS 中均为 float:left，必须清除才能生效 vertical-align */
.search-expandopenBox .layui-form-label,
.search-expandopenBox .customer-input-label {
  float: none !important;
  color: var(--text-regular);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  height: 32px;
  line-height: 32px !important;
  vertical-align: middle;
  display: inline-block;
  padding-top: 0;
  padding-bottom: 0;
}
/* 搜索区输入框容器垂直对齐 */
/* 注：layui-input-inline 和 customer-input-inline 在原始 CSS 中均为 float:left */
.search-expandopenBox .layui-input-inline,
.search-expandopenBox .customer-input-inline {
  float: none !important;
  vertical-align: middle;
  display: inline-block;
  margin-left: 0 !important;
}
/* 搜索区普通输入框统一高度（排除多选控件内的 .multiple 输入框）*/
.search-expandopenBox .layui-input:not(.multiple),
.search-expandopenBox .layui-select {
  height: 32px;
  line-height: 32px;
  font-size: var(--font-size-sm);
}
/* 多选控件（lay-ext-mulitsel）对齐修正：宽度撑满父容器，与单选保持一致 */
.search-expandopenBox .lay-ext-mulitsel {
  display: inline-block;
  vertical-align: middle;
  width: 100% !important;
  box-sizing: border-box;
}
/* 搜索区多选触发框高度对齐到 32px，与单选一致 */
.search-expandopenBox .lay-ext-mulitsel .layui-form-select .layui-select-title input {
  height: 32px !important;
  line-height: 32px !important;
}
/* .multiple 叠层的 margin-top 必须与触发框高度一致 */
.search-expandopenBox .lay-ext-mulitsel .layui-input.multiple {
  margin-top: -32px !important;
  min-height: 32px !important;
}
/* 右侧按钮区（浮动到右侧） */
.searchRigh-option {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  gap: 6px;
  flex-wrap: nowrap;
  margin-bottom: 6px;
}
/* 搜索按钮 */
.searchRigh-option .layui-btn {
  height: 32px;
  line-height: 32px;
  padding: 0 14px;
  font-size: var(--font-size-sm);
  margin-left: 0 !important;
  margin-right: 0 !important;
  white-space: nowrap;
}
/* 展开/收起按钮文字 */
.searchRigh-option .check-in,
.searchRigh-option .check-out {
  cursor: pointer;
  color: var(--primary);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  user-select: none;
}
.searchRigh-option .check-in:hover,
.searchRigh-option .check-out:hover {
  color: var(--primary-dark);
}
/* 展开/收起折叠图标（由 opTable.js 动态插入） */
.searchRigh-option .jgengduo {
  color: var(--primary);
  font-size: 18px;
  cursor: pointer;
  margin: 0 2px;
}
/* 保存条件、我的条件图标 */
.searchRigh-option .jsave {
  color: var(--text-secondary);
  font-size: 18px;
  cursor: pointer;
  transition: color .2s;
}
.searchRigh-option .jsave:hover {
  color: var(--primary);
}

/* ========== 工具栏（表格上方操作按钮行）========== */
/* layui-card-body 内顶部工具按钮区 */
.layui-card-body > div[style*='padding-bottom']:first-child,
.layui-card-body > .op-toolbar {
  padding: 10px 0 10px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
/* 工具栏按钮统一样式 */
.layui-card-body .layui-btn.layuiadmin-btn-list,
.layui-card-body .layui-btn[data-type] {
  height: 32px;
  line-height: 32px;
  padding: 0 14px;
  font-size: var(--font-size-sm);
  margin: 0 4px 4px 0;
}

/* ========== 表格操作列按钮（xs 小按钮）========== */
.layui-table .layui-btn-xs {
  height: 24px !important;
  line-height: 24px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  border-radius: var(--radius) !important;
  margin: 1px 2px !important;
  white-space: nowrap;
}
/* 操作列按钮 hover 效果 */
.layui-table .layui-btn-normal.layui-btn-xs:hover {
  background-color: var(--primary-dark) !important;
}
/* 操作列按钮间距（减少溢出） */
.layui-table td .layui-btn + .layui-btn {
  margin-left: 2px;
}

/* ========== 表格工具栏（layui-table-tool 内置） ========== */
.layui-table-tool {
  padding: 4px 8px;
}
.layui-table-tool .layui-btn {
  height: 28px;
  line-height: 28px;
  padding: 0 10px;
  font-size: var(--font-size-sm);
}

/* ========== 面包屑 ========== */
.layui-breadcrumb {
  font-size: var(--font-size-sm);
}
.layui-breadcrumb a {
  color: var(--text-secondary) !important;
}
.layui-breadcrumb a:hover {
  color: var(--primary) !important;
}
.layui-breadcrumb span[lay-separator] {
  color: var(--text-placeholder) !important;
}

/* ========== 标签/徽章 ========== */
.layui-badge {
  border-radius: 10px;
  font-size: 12px;
  padding: 2px 8px;
}
.layui-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

/* ========== 标签页 Tab ========== */
.layui-tab-title li {
  font-size: var(--font-size);
  color: var(--text-regular);
}
.layui-tab-title .layui-this {
  color: var(--primary) !important;
}
/* 标准 tab：:after 是带边框的覆盖层，不要加背景色 */
.layui-tab-title .layui-this:after {
  border-color: var(--primary) !important;
}
/* brief（简洁下划线型）tab：:after 是下划线，用主色 */
.layui-tab-brief > .layui-tab-title .layui-this {
  color: var(--primary) !important;
}
.layui-tab-brief > .layui-tab-title .layui-this:after,
.layui-tab-brief > .layui-tab-more li.layui-this:after {
  border-bottom-color: var(--primary) !important;
  background-color: transparent !important;
}

/* ========== 面包屑区（内容区上方） ========== */
.layadmin-header .layui-breadcrumb {
  border-top-color: var(--border-lighter);
}

/* ========== 内容区背景 ========== */
.layui-layout-admin .layui-body {
  background-color: var(--bg-page);
}

/* ========== 树形控件 ========== */
.ztree li span {
  font-size: var(--font-size);
}

/* ============================================================
   第3阶段 —— 弹窗规范化
   目标：弹窗内容区间距、分组卡片、和弹窗皮肤完善
============================================================ */

/* ========== 弹窗内容区全局间距 ========== */
/* admin.css 默认 padding:20px，这里覆盖为更紧凑的 16px */
.layui-layer-admin .layui-layer-content {
  padding: 16px !important;
}

/* ========== 弹窗内卡片分组 (.layui-card) ========== */
/* 弹窗内的卡片分组应比列表页卡片更紧凑 */
.layui-layer .layui-card {
  border-radius: var(--radius);
  box-shadow: none;
  border: 1px solid var(--border-lighter);
  margin-bottom: 12px;
}
.layui-layer .layui-card:last-child {
  margin-bottom: 0;
}
/* 弹窗内卡片标题栏 */
.layui-layer .layui-card-header {
  font-size: var(--font-size);
  font-weight: 600;
  color: var(--text-primary);
  height: 40px;
  line-height: 40px;
  padding: 0 12px;
  border-bottom: 1px solid var(--border-lighter);
  background: #FAFAFA;
  border-radius: var(--radius) var(--radius) 0 0;
}
/* 弹窗内卡片内容区 */
.layui-layer .layui-card-body {
  padding: 12px;
}

/* ========== 弹窗皮肤：dialog-garybg ========== */
/* garybg 类型弹窗内容区背景 */
.dialog-garybg .layui-layer-content {
  background: var(--bg-page) !important;
  padding: 16px !important;
}

/* ========== 弹窗皮肤：dialog-overflow ========== */
.dialog-overflow .layui-layer-content {
  overflow-y: auto !important;
  padding: 16px !important;
}

/* ========== 弹窗内展示标题分隔线 ========== */
/* 弹窗内用 h4/h5 做分组标题的场景 */
.layui-layer .dialog-section-title {
  font-size: var(--font-size);
  font-weight: 600;
  color: var(--text-primary);
  padding: 0 0 8px 8px;
  margin: 12px 0 8px;
  border-left: 3px solid var(--primary);
  line-height: 1.4;
}

/* ========== 弹窗内分隔线 ========== */
.layui-layer .dialog-divider {
  border: none;
  border-top: 1px solid var(--border-lighter);
  margin: 12px 0;
}

/* ========== 弹窗内多选控件宽度限制 ========== */
/* 弹窗内的 lay-ext-mulitsel 不应撤满全宽，需限制为表单输入框宽度 */
.layui-layer .lay-ext-mulitsel {
  max-width: 100%;
  box-sizing: border-box;
  display: block !important;
}
/* selectM.js 注入的 .multiple 使用 margin-top:-28px 叠层在触发框上方，但弹窗内 input height=36px，需重新校准层叠偏移量 */
.layui-layer .lay-ext-mulitsel .layui-form-select .layui-select-title input {
  height: 36px !important;
  line-height: 36px !important;
}
.layui-layer .lay-ext-mulitsel .layui-input.multiple {
  margin-top: -36px !important;
  min-height: 36px !important;
}
.layui-layer .tool-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 8px 0 6px 0 !important;
  gap: 6px;
}
.layui-layer .tool-bar .layui-btn {
  height: 28px;
  line-height: 28px;
  padding: 0 12px;
  font-size: var(--font-size-sm);
  margin: 0 !important;
}

/* ============================================================
   第4阶段 —— 表单布局优化
   目标：弹窗表单 label/输入框/间距统一，对齐规范
============================================================ */

/* ========== 弹窗内表单布局基础 ========== */
/* 将弹窗内 .layui-form 的表单行间距统一 */
.layui-layer .layui-form .layui-form-item {
  margin-bottom: 12px;
}
.layui-layer .layui-form .layui-form-item:last-child {
  margin-bottom: 0;
}
/* 弹窗内栓格式表单行（layui-row）用 flex 实现 label 垂直居中 */
/* 注意：排除 layui-hide 和 JS 设置了 display:none 的行，避免 flex !important 覆盖隐藏逻辑
   改用更高特异性（不用 !important），让页面内 <style> 的 display:none !important 可以覆盖 */
.layui-layer .layui-form .layui-card .layui-form-item.layui-row:not(.layui-hide),
.layui-layer .layui-form > .layui-form-item.layui-row:not(.layui-hide) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
/* flex 布局下清除栓格列的浮动，防止冲突 */
.layui-layer .layui-form .layui-form-item.layui-row > [class*="layui-col-"] {
  float: none !important;
}

/* ========== 弹窗内 inline 表单每行间距 ========== */
.layui-layer .layui-form .layui-inline {
  margin-bottom: 10px;
  vertical-align: middle;
}

/* ========== 弹窗表单 label 统一 ========== */
.layui-layer .layui-form .layui-form-label,
.layui-layer .layui-form .customer-input-labelnosetwidth {
  height: 36px;
  line-height: 36px;
  font-size: var(--font-size-sm);
  color: var(--text-regular);
  font-weight: normal;
  vertical-align: middle;
  display: inline-block;
  padding-right: 8px;
  white-space: nowrap;
}

/* ========== 弹窗表单输入框统一高度 ========== */
.layui-layer .layui-form .layui-input:not(.multiple),
.layui-layer .layui-form .layui-textarea,
.layui-layer .layui-form .layui-select {
  font-size: var(--font-size-sm);
}
.layui-layer .layui-form .layui-input:not(.multiple) {
  height: 36px;
  line-height: 36px;
}
/* select 高度 */
.layui-layer .layui-form .layui-form-select .layui-input {
  height: 36px;
  line-height: 36px;
}
/* 输入框容器垂直对齐 */
.layui-layer .layui-form .layui-input-inline {
  vertical-align: middle;
  display: inline-block;
}

/* ========== textarea 现代化 ========== */
.layui-layer .layui-form .layui-textarea {
  min-height: 80px;
  border-radius: var(--radius);
  border-color: var(--border-color);
  padding: 8px 10px;
  resize: vertical;
  font-size: var(--font-size-sm);
  line-height: 1.6;
}
.layui-layer .layui-form .layui-textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 2px rgba(64,158,255,.2);
}

/* ========== checkbox / radio 现代化 ========== */
.layui-layer .layui-form .layui-form-checkbox span,
.layui-layer .layui-form .layui-form-radio span {
  font-size: var(--font-size-sm);
  color: var(--text-regular);
}
.layui-layer .layui-form .layui-form-checkbox[lay-skin="primary"] i {
  border-color: var(--border-color);
  border-radius: 3px;
}
.layui-layer .layui-form .layui-form-checked[lay-skin="primary"] i {
  background-color: var(--primary);
  border-color: var(--primary);
}
.layui-layer .layui-form .layui-form-radio i {
  border-color: var(--border-color);
}
.layui-layer .layui-form .layui-form-radio.layui-form-oncheck i {
  border-color: var(--primary);
}
.layui-layer .layui-form .layui-form-radio.layui-form-oncheck i:after {
  background-color: var(--primary);
}

/* ========== 必填项星号样式 ========== */
.layui-layer .layui-form [lay-verify*="required"] ~ .layui-form-label::after,
.layui-layer .layui-form label[lay-verify*="required"]::after {
  content: '*';
  color: var(--danger);
  margin-left: 2px;
  font-size: 14px;
}

/* ========== 弹窗内表单验证提示 ========== */
.layui-layer .layui-form .layui-form-danger .layui-input,
.layui-layer .layui-form .layui-form-danger .layui-select {
  border-color: var(--danger) !important;
}

/* ========== 弹窗内 order-detail 卡片分组增强 ========== */
.layui-layer .order-detail .layui-card {
  border: 1px solid var(--border-lighter);
  border-radius: var(--radius);
  margin-bottom: 12px;
  overflow: visible;
  box-shadow: none;
}
.layui-layer .order-detail .layui-card-header {
  background: #FAFAFA;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-lighter);
  font-weight: 600;
  font-size: var(--font-size-sm);
  height: 36px;
  line-height: 36px;
  padding: 0 12px;
}
.layui-layer .order-detail .layui-card-body {
  padding: 10px 12px;
}

/* ========== 表单内提示文字（附加说明） ========== */
.layui-layer .form-tip {
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-top: 4px;
}

/* ========== 弹窗内读取模式字段（展示用） ========== */
.layui-layer .data-label {
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
}
.layui-layer .data-val {
  color: var(--text-primary);
  font-size: var(--font-size-sm);
  font-weight: 500;
}

/* ========== 弹窗内列表表格调整 ========== */
/* 弹窗内嵌套的小表格去掉内阴影 */
.layui-layer .layui-table-view {
  box-shadow: none;
  border: 1px solid var(--border-lighter);
}
.layui-layer .layui-table th {
  background: #FAFAFA;
}

/* ========== 弹窗 garybg 中的内嵌卡片缺省背景 ========== */
.dialog-garybg .layui-layer-content .layui-card {
  background: #fff;
  border: 1px solid var(--border-lighter);
  box-shadow: none;
}

/* ========== 选择类弹窗（selectCommon、选人员等）内容区 ========== */
/* 冠以 dialog-garybg skin 的选择类弹窗无需颜色即可 */

/* ========== 弹窗内违约校验报错提示层 ========== */
.layui-layer .layui-tips {
  border-radius: var(--radius);
  background: var(--danger);
  border-color: var(--danger);
  font-size: var(--font-size-sm);
}
.layui-layer .layui-tips i {
  border-right-color: var(--danger) !important;
}

/* ========== 滚动条美化 ========== */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb {
  background: #c0c4cc;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #909399;
}

/* ========== 弹窗选择类输入框右侧显示「...」标识 ========== */
/* 带 readonly + data-type 属性的输入框为弹窗选择控件，右侧显示「...」提示可点击 */
input[readonly][data-type].layui-input {
  padding-right: 28px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'%3E%3Ccircle cx='2' cy='5' r='1.5' fill='%23999'/%3E%3Ccircle cx='9' cy='5' r='1.5' fill='%23999'/%3E%3Ccircle cx='16' cy='5' r='1.5' fill='%23999'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  cursor: pointer;
}
input[readonly][data-type].layui-input:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='10' viewBox='0 0 18 10'%3E%3Ccircle cx='2' cy='5' r='1.5' fill='%231890ff'/%3E%3Ccircle cx='9' cy='5' r='1.5' fill='%231890ff'/%3E%3Ccircle cx='16' cy='5' r='1.5' fill='%231890ff'/%3E%3C/svg%3E");
  border-color: var(--primary) !important;
}

