/**
 * ============================================================================
 * ant-theme.css — 全局 Ant Design 风格（Web 端统一主题）
 * ----------------------------------------------------------------------------
 * 设计 Token 与 antd 5.x 对齐（紧凑版）：主色 #1677ff、圆角 4px、控件高 32/24px
 * 生效方式：本文件内容被追加到 layui.css 末尾（见 layui.css 底部覆盖块），
 *           也可单独 <link> 引入（iframe.jsp / emp-iframe.jsp / user-iframe.jsp 已挂）。
 * 修改规范：改样式先改本文件的 Token（:root 一节），任何页面禁止再写死 #409eff
 *           / #1677ff 等散色，一律引用下面的 Token 变量。
 * 版本: 1.2.0 (2026-11-04)  — 新增匠人优雅要素（参考 CREAMS 实测界面：
 *        状态彩色徽章体系 + 系统字体栈 + 操作列/统计指标卡约定；主色/尺寸不变）
 *        1.1.0 质感增强层见"十"（awesome-design-md/Linear 表面阶梯+发丝线+焦点环）
 * ============================================================================
 */

/* ==================== 设计 Token（唯一事实源） ==================== */
:root {
    /* 主色（antd 5 官方蓝，如需品牌色只改这一处） */
    --ant-color-primary: #1677ff;
    --ant-color-primary-hover: #4096ff;
    --ant-color-primary-active: #0958d9;
    --ant-color-primary-bg: #e6f4ff;
    --ant-color-primary-border: #91caff;

    /* 功能色 */
    --ant-color-success: #52c41a;
    --ant-color-success-bg: #f6ffed;
    --ant-color-warning: #faad14;
    --ant-color-warning-bg: #fffbe6;
    --ant-color-error: #ff4d4f;
    --ant-color-error-bg: #fff2f0;
    --ant-color-info: #1677ff;

    /* 中性色 */
    --ant-color-text: rgba(0, 0, 0, 0.88);
    --ant-color-text-secondary: rgba(0, 0, 0, 0.65);
    --ant-color-text-tertiary: rgba(0, 0, 0, 0.45);
    --ant-color-text-quaternary: rgba(0, 0, 0, 0.25);
    --ant-color-border: #d9d9d9;
    --ant-color-border-secondary: #f0f0f0;
    --ant-color-split: rgba(5, 5, 5, 0.06);
    --ant-color-bg-container: #ffffff;
    --ant-color-bg-layout: #f5f5f5;
    --ant-color-bg-fill: rgba(0, 0, 0, 0.04);

    /* 圆角 */
    --ant-border-radius: 4px;
    --ant-border-radius-sm: 4px;
    --ant-border-radius-lg: 8px;

    /* 字号（紧凑） */
    --ant-font-size: 13px;
    --ant-font-size-sm: 12px;
    --ant-font-size-lg: 15px;
    --ant-font-size-heading: 20px;

    /* 控件尺寸（紧凑） */
    --ant-control-height: 32px;
    --ant-control-height-sm: 24px;
    --ant-padding: 12px;
    --ant-margin: 12px;

    /* 阴影 */
    --ant-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 2px 6px rgba(0, 0, 0, 0.06);
    --ant-box-shadow-popover: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12);

    /* ============ 质感增强层（v1.1.0）============ */
    /* 借鉴 awesome-design-md/Linear 的 surface-ladder（表面阶梯）与 hairline（发丝线）理念，
     * 浅色 B 端本地化：层级由"发丝线边框 + 极浅阴影"承载，阴影弥散更柔、不抢内容。 */
    --ant-color-bg-elevated: #ffffff;        /* 浮层/弹窗表面（surface 阶梯顶层） */
    --ant-border-radius-xl: 12px;            /* 大面板圆角 */
    --ant-box-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.02), 0 2px 8px rgba(0, 0, 0, 0.04); /* 卡片级柔和阴影 */
    --ant-box-shadow-card-hover: 0 2px 4px rgba(0, 0, 0, 0.03), 0 6px 16px rgba(0, 0, 0, 0.08); /* 卡片 hover 阶梯提升 */
    --ant-hairline: 1px solid var(--ant-color-border-secondary); /* 发丝线边框（浅色版） */
}

/* ==========================================================================
 * 一、按钮统一（layui-btn → antd 风格）
 * ========================================================================== */
.layui-btn {
    height: var(--ant-control-height);
    line-height: var(--ant-control-height);
    padding: 0 15px;
    font-size: var(--ant-font-size);
    border-radius: var(--ant-border-radius);
    background: var(--ant-color-primary) !important;
    border-color: var(--ant-color-primary) !important;
    color: #fff !important;
    font-weight: 400;
    transition: all 0.2s;
}
.layui-btn:hover {
    background: var(--ant-color-primary-hover) !important;
    border-color: var(--ant-color-primary-hover) !important;
    color: #fff !important;
}
.layui-btn:active {
    background: var(--ant-color-primary-active) !important;
    border-color: var(--ant-color-primary-active) !important;
}

/* 小按钮 */
.layui-btn-sm {
    height: var(--ant-control-height-sm);
    line-height: var(--ant-control-height-sm);
    padding: 0 10px;
    font-size: var(--ant-font-size-sm);
}
.layui-btn-xs {
    height: 20px;
    line-height: 20px;
    padding: 0 8px;
    font-size: var(--ant-font-size-sm);
}

/* 次要/默认按钮（白底灰边） */
.layui-btn-primary {
    background: var(--ant-color-bg-container) !important;
    border: 1px solid var(--ant-color-border) !important;
    color: var(--ant-color-text) !important;
}
.layui-btn-primary:hover {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
    background: var(--ant-color-bg-container) !important;
}

/* 描边主按钮 */
.layui-btn-normal {
    background: var(--ant-color-bg-container) !important;
    border: 1px solid var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}
.layui-btn-normal:hover {
    border-color: var(--ant-color-primary-hover) !important;
    color: var(--ant-color-primary-hover) !important;
    background: var(--ant-color-primary-bg) !important;
}

/* 危险按钮 */
.layui-btn-danger {
    background: var(--ant-color-error) !important;
    border-color: var(--ant-color-error) !important;
    color: #fff !important;
}
.layui-btn-danger:hover {
    background: #ff7875 !important;
    border-color: #ff7875 !important;
}

/* 警告按钮 */
.layui-btn-warm {
    background: var(--ant-color-warning) !important;
    border-color: var(--ant-color-warning) !important;
    color: #fff !important;
}
.layui-btn-warm:hover {
    background: #ffd666 !important;
    border-color: #ffd666 !important;
    color: rgba(0, 0, 0, 0.88) !important;
}

/* 成功按钮 */
.layui-btn-green {
    background: var(--ant-color-success) !important;
    border-color: var(--ant-color-success) !important;
    color: #fff !important;
}
.layui-btn-green:hover {
    background: #73d13d !important;
    border-color: #73d13d !important;
}

/* 禁用 */
.layui-btn-disabled,
.layui-btn[disabled] {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: var(--ant-color-border-secondary) !important;
    color: var(--ant-color-text-quaternary) !important;
    cursor: not-allowed;
}

/* ==========================================================================
 * 二、输入框 / 文本域 / 下拉统一
 * ========================================================================== */
.layui-input,
.layui-textarea,
.layui-select {
    height: var(--ant-control-height);
    line-height: var(--ant-control-height);
    padding: 4px 11px;
    font-size: var(--ant-font-size);
    color: var(--ant-color-text);
    background: var(--ant-color-bg-container);
    border: 1px solid var(--ant-color-border) !important;
    border-radius: var(--ant-border-radius) !important;
    transition: all 0.2s;
}
.layui-textarea {
    height: auto;
    line-height: 1.6;
    min-height: 60px;
}
.layui-input:hover,
.layui-textarea:hover,
.layui-select:hover {
    border-color: var(--ant-color-primary-hover) !important;
}
.layui-input:focus,
.layui-textarea:focus,
.layui-select:focus {
    border-color: var(--ant-color-primary) !important;
    box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.12) !important;
    outline: none;
}
.layui-input::placeholder,
.layui-textarea::placeholder {
    color: var(--ant-color-text-quaternary);
}

/* 表单标签 */
.layui-form-label {
    color: var(--ant-color-text-secondary) !important;
    font-size: var(--ant-font-size) !important;
    font-weight: 400 !important;
    padding: 9px 15px !important;
}

/* ==========================================================================
 * 三、表格统一（layui-table → antd 风格）
 * ========================================================================== */
.layui-table-view {
    border: 1px solid var(--ant-color-border-secondary) !important;
    border-radius: var(--ant-border-radius-lg) !important;
    overflow: hidden;
}
.layui-table th,
.layui-table thead th {
    background: var(--ant-color-bg-layout) !important;
    color: var(--ant-color-text) !important;
    font-size: var(--ant-font-size) !important;
    font-weight: 600 !important;
    border-color: var(--ant-color-border-secondary) !important;
    padding: 11px 0 !important;
}
.layui-table td {
    border-color: var(--ant-color-border-secondary) !important;
    font-size: var(--ant-font-size) !important;
    color: var(--ant-color-text) !important;
    padding: 9px 0 !important;
}
.layui-table tbody tr:hover {
    background: var(--ant-color-primary-bg) !important;
}
.layui-table tbody tr.layui-table-click {
    background: var(--ant-color-primary-bg) !important;
}
.layui-table-cell {
    line-height: 22px !important;
}

/* 卡片式表格边框 */
.layui-table[lay-skin="line"] {
    border: 1px solid var(--ant-color-border-secondary) !important;
}

/* ==========================================================================
 * 四、分页统一
 * ========================================================================== */
.layui-laypage a,
.layui-laypage span {
    height: var(--ant-control-height-sm);
    line-height: var(--ant-control-height-sm);
    margin: 0 2px !important;
    padding: 0 10px !important;
    font-size: var(--ant-font-size) !important;
    border: 1px solid var(--ant-color-border) !important;
    border-radius: var(--ant-border-radius) !important;
    color: var(--ant-color-text-secondary) !important;
    background: var(--ant-color-bg-container) !important;
    transition: all 0.2s;
}
.layui-laypage a:hover {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}
.layui-laypage .layui-laypage-curr .layui-laypage-em {
    background: var(--ant-color-primary) !important;
    border-color: var(--ant-color-primary) !important;
    color: #fff !important;
    border-radius: var(--ant-border-radius) !important;
}
.layui-laypage .layui-laypage-curr span {
    color: #fff !important;
    border-color: var(--ant-color-primary) !important;
}
.layui-laypage .layui-laypage-prev,
.layui-laypage .layui-laypage-next {
    border-radius: var(--ant-border-radius) !important;
}

/* ==========================================================================
 * 五、弹窗统一（layer → antd Modal）
 * ========================================================================== */
.layui-layer {
    border-radius: var(--ant-border-radius-lg) !important;
    box-shadow: var(--ant-box-shadow-popover) !important;
    overflow: hidden;
}
.layui-layer-title {
    height: 44px !important;
    line-height: 44px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ant-color-text) !important;
    background: var(--ant-color-bg-container) !important;
    border-bottom: 1px solid var(--ant-color-border-secondary) !important;
    padding: 0 16px !important;
}
.layui-layer-close {
    color: var(--ant-color-text-tertiary) !important;
}
.layui-layer-close:hover {
    color: var(--ant-color-text) !important;
}
.layui-layer-btn a {
    height: var(--ant-control-height) !important;
    line-height: var(--ant-control-height) !important;
    padding: 0 15px !important;
    font-size: var(--ant-font-size) !important;
    border-radius: var(--ant-border-radius) !important;
}
.layui-layer-btn .layui-layer-btn0 {
    background: var(--ant-color-primary) !important;
    border-color: var(--ant-color-primary) !important;
    color: #fff !important;
}
.layui-layer-btn .layui-layer-btn0:hover {
    background: var(--ant-color-primary-hover) !important;
}
.layui-layer-btn .layui-layer-btn1 {
    background: var(--ant-color-bg-container) !important;
    border: 1px solid var(--ant-color-border) !important;
    color: var(--ant-color-text) !important;
}
.layui-layer-btn .layui-layer-btn1:hover {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}

/* ==========================================================================
 * 六、标签页统一
 * ========================================================================== */
.layui-tab-title {
    border-bottom: 1px solid var(--ant-color-border-secondary) !important;
}
.layui-tab-title li {
    font-size: var(--ant-font-size) !important;
    color: var(--ant-color-text-secondary) !important;
    padding: 0 16px !important;
    line-height: 42px !important;
    transition: color 0.2s;
}
.layui-tab-title li:hover {
    color: var(--ant-color-primary) !important;
}
.layui-tab-title li.layui-this {
    color: var(--ant-color-primary) !important;
    font-weight: 500;
}
.layui-tab-title .layui-this::after {
    border: none !important;
    border-bottom: 2px solid var(--ant-color-primary) !important;
}

/* ==========================================================================
 * 七、复选 / 单选 / 开关
 * ========================================================================== */
/* 复选 checkbox 选中态：ant 风格 = 蓝底白勾（i 是边框方框，可填充背景） */
.layui-form-checked i,
.layui-form-checked:hover i {
    border-color: var(--ant-color-primary) !important;
    background-color: var(--ant-color-primary) !important;
}
/* 单选 radio 的图标是字体圆点（layui 仅用 color 区分选中）：禁止背景填充，否则显示为实心方块 */
.layui-form-radioed i {
    background-color: transparent !important;
}
.layui-form-onswitch {
    border-color: var(--ant-color-primary) !important;
    background-color: var(--ant-color-primary) !important;
}

/* ==========================================================================
 * 八、工具类（文本色/背景色统一）
 * ========================================================================== */
.text-primary { color: var(--ant-color-primary) !important; }
.text-success { color: var(--ant-color-success) !important; }
.text-danger  { color: var(--ant-color-error) !important; }
.text-warning { color: var(--ant-color-warning) !important; }

/* ==========================================================================
 * 九、日期控件只读态（readonly 原生输入）
 * ========================================================================== */
input[readonly] {
    background: var(--ant-color-bg-container) !important;
    color: var(--ant-color-text) !important;
    cursor: pointer;
}

/* ==========================================================================
 * 十、质感增强层（v1.1.0 · 借鉴 awesome-design-md/Linear）
 * --------------------------------------------------------------------------
 * 借鉴 Linear 的 surface-ladder（表面阶梯）+ hairline（发丝线）+ focus-ring
 * （焦点环）理念，浅色 B 端本地化。原则：
 *   1) 以 antd 紧凑规范为主——主色/尺寸/组件结构一律不变；
 *   2) 层级由"发丝线边框 + 极浅柔和阴影"承载，阴影不抢内容；
 *   3) 焦点环 2px 半透明主色，键盘可达性。
 * 使用：新页面/改造页面如需卡片质感，直接用 .layui-card / .layui-elem-quote，
 *       或在页面自有容器上引用下面 Token。
 * ========================================================================== */

/* 卡片/面板容器：hairline + 柔和阴影 + 8px 圆角 */
.layui-card,
.layui-elem-quote {
    background: var(--ant-color-bg-container) !important;
    border: var(--ant-hairline) !important;
    border-radius: var(--ant-border-radius-lg) !important;
    box-shadow: var(--ant-box-shadow-card) !important;
}

/* 表格容器质感 */
.layui-table-view {
    box-shadow: var(--ant-box-shadow-card) !important;
}

/* 浮层表面（弹窗/下拉）：surface 阶梯顶层 + popover 阴影 */
.layui-layer {
    background: var(--ant-color-bg-elevated) !important;
}

/* 键盘焦点环（Linear focus-ring：2px 主色半透明） */
a:focus-visible,
button:focus-visible,
.layui-btn:focus-visible {
    outline: 2px solid rgba(22, 119, 255, 0.5) !important;
    outline-offset: 1px;
}

/* 输入控件焦点环增强（比 v1.0.0 略清晰） */
.layui-input:focus,
.layui-textarea:focus,
.layui-select:focus {
    box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.16) !important;
}

/* 工具类：eyebrow 小标签（Linear eyebrow 正字距理念：13px/500/+0.4px） */
.ant-eyebrow {
    font-size: var(--ant-font-size-sm);
    font-weight: 500;
    letter-spacing: 0.4px;
    color: var(--ant-color-text-tertiary);
}

/* 工具类：次级表面（surface-1 阶梯，hover 提升用） */
.ant-surface-1 {
    background: var(--ant-color-bg-fill) !important;
}

/* ==========================================================================
 * 十一、匠人优雅要素（v1.2.0 · 参考 CREAMS 实测界面提炼）
 * --------------------------------------------------------------------------
 * 来源：登录 app.creams.io 实测楼宇/客商/合同/数据舱页面后提炼，沉淀为共有类。
 * 原则：只吸收"信息密度 + 一眼可读"的优雅做法，主色/紧凑尺寸/组件结构不变。
 * 优先级：Ant Design > awesome-design > 匠人(CREAMS) > layui。
 *         匠人仅借鉴状态徽章/统计卡/操作组等可落地细节；
 *         禁止引入与浅色 B 端基调冲突的视觉（深色导航、大面积高饱和背景）。
 * ========================================================================== */

/* 1. 系统字体栈（去 layui 塑料感：全局统一现代字体） */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
                 "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue",
                 Helvetica, Arial, sans-serif !important;
}

/* 2. 状态徽章体系（匠人式：浅底 + 彩色边框 + 深色文字，列表里一眼可见）
 *    用法：<span class="ant-tag ant-tag-blue">有效线索</span>
 *    页面无需再写散色，状态→颜色映射见规范文档 v1.2 */
.ant-tag {
    display: inline-block;
    padding: 0 6px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 18px;
    border: 1px solid;
    font-weight: 500;
    vertical-align: middle;
    white-space: nowrap;
}
.ant-tag-blue    { color: #0d5bd7; background: #e6f4ff; border-color: #91caff; }
.ant-tag-orange  { color: #d46b08; background: #fff3e0; border-color: #ffc069; }
.ant-tag-green   { color: #389e0d; background: #f0ffe4; border-color: #b7eb8f; }
.ant-tag-red     { color: #cf1322; background: #fff1f0; border-color: #ffa39e; }
.ant-tag-warning { color: #ad6800; background: #fffbe6; border-color: #ffe58f; }
.ant-tag-purple  { color: #531dab; background: #f9f0ff; border-color: #d3adf7; }

/* 3. 操作列（匠人式：小按钮组，flex + 8px 间距，不挤在一起）
 *    用法：表格 toolbar 模板里 <div class="action-cell">…按钮…</div> */
.action-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 4. 统计指标卡（匠人式：大数字 + 单位/副标题小字，白底卡片）
 *    结构：.stat-metric > .stat-metric-num（大数字）+.stat-metric-label（标题）
 *    .stat-metric-sub（辅助小字，如 收入/支出/占比） */
.stat-metric {
    background: var(--ant-color-bg-container);
    border: var(--ant-hairline);
    border-radius: var(--ant-border-radius-lg);
    box-shadow: var(--ant-box-shadow-card);
    padding: 16px 20px;
}
.stat-metric-num {
    font-size: 26px;
    font-weight: 600;
    color: var(--ant-color-text);
    line-height: 1.2;
    margin: 4px 0 2px;
}
.stat-metric-label {
    font-size: var(--ant-font-size);
    color: var(--ant-color-text-secondary);
}
.stat-metric-sub {
    font-size: var(--ant-font-size-sm);
    color: var(--ant-color-text-tertiary);
    margin-top: 2px;
}

/* ==========================================================================
 * 十二、layui form 控件形态 → antd 视觉（v1.3.0）
 * --------------------------------------------------------------------------
 * 背景：共有库已覆盖按钮/输入框/表格/弹窗，但 layui form 渲染的控件仍是原生
 *       形态——select 下拉选中项 layui 绿底白字（dd.layui-this）、radio 选中
 *       变绿 #16b777（字体图标）、checkbox 灰底标签块，与 ant 主蓝不搭。
 * 原则：只改视觉不动结构（layui form 事件机制依赖其 DOM），一律走 Token。
 * 注意：radio/checkbox 的图标是字体图标，必须用 color 控制（border/background
 *       对字体图标无效）；select 的 dd 选中态用"浅主色底 + 主色文字"表达。
 * ========================================================================== */

/* ---- 下拉 select：选中框 ant 化 ---- */
.layui-form-select .layui-input {
    padding-right: 30px !important;
    background: var(--ant-color-bg-container) !important;
    border: 1px solid var(--ant-color-border) !important;
    border-radius: var(--ant-border-radius) !important;
    color: var(--ant-color-text) !important;
    transition: all 0.2s;
}
.layui-form-select .layui-input:hover {
    border-color: var(--ant-color-primary-hover) !important;
}
.layui-form-select.layui-form-selected .layui-input,
.layui-form-select .layui-input:focus {
    border-color: var(--ant-color-primary) !important;
    box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.12) !important;
}
/* 箭头（layui-edge 是 border 三角） */
.layui-form-select .layui-edge {
    right: 11px !important;
    margin-top: -2px !important;
    border-width: 5px !important;
    border-top-color: var(--ant-color-text-quaternary) !important;
}
/* 展开态：旋转与垂直定位完全交给 layui 自身规则（rotate 180deg + margin-top:-9px），此处只换主色 */
.layui-form-select.layui-form-selected .layui-edge {
    border-top-color: var(--ant-color-primary) !important;
}
/* 下拉面板（dl） */
.layui-form-select dl {
    border: 1px solid var(--ant-color-border-secondary) !important;
    border-radius: var(--ant-border-radius-lg) !important;
    box-shadow: var(--ant-box-shadow-popover) !important;
    padding: 4px !important;
    background: var(--ant-color-bg-elevated) !important;
}
.layui-form-select dl dd {
    height: auto !important;
    line-height: 22px !important;
    padding: 7px 12px !important;
    font-size: var(--ant-font-size) !important;
    color: var(--ant-color-text) !important;
    border-radius: var(--ant-border-radius) !important;
    transition: background 0.15s;
}
.layui-form-select dl dd:hover {
    background: var(--ant-color-bg-fill) !important;
    color: var(--ant-color-text) !important;
}
.layui-form-select dl dd.layui-this {
    background: var(--ant-color-primary-bg) !important;
    color: var(--ant-color-primary) !important;
    font-weight: 500 !important;
}
.layui-form-select dl dd.layui-disabled {
    color: var(--ant-color-text-quaternary) !important;
}

/* ---- 单选 radio（字体图标，color 控制） ---- */
.layui-form-radio > i {
    font-size: 16px !important;
    color: var(--ant-color-border) !important;
    margin-right: 6px !important;
    transition: color 0.2s;
}
.layui-form-radio:hover > *,
.layui-form-radio:hover > i {
    color: var(--ant-color-primary) !important;
}
.layui-form-radioed,
.layui-form-radioed > *,
.layui-form-radioed > i {
    color: var(--ant-color-primary) !important;
}

/* ---- 复选 checkbox（色对齐：去灰底标签，勾选框 ant 灰边） ---- */
.layui-form-checkbox > div {
    background-color: var(--ant-color-bg-container) !important;
    color: var(--ant-color-text) !important;
}
.layui-form-checkbox:hover > div {
    background-color: var(--ant-color-bg-container) !important;
    color: var(--ant-color-text) !important;
}
.layui-form-checkbox > i {
    border-color: var(--ant-color-border) !important;
    border-radius: 0 var(--ant-border-radius) var(--ant-border-radius) 0 !important;
}
.layui-form-checkbox:hover > i {
    border-color: var(--ant-color-primary) !important;
}

/* ==========================================================================
 * 十三、formSelects 多选 & laydate 日期面板 ant 化（v1.3.0）
 * --------------------------------------------------------------------------
 * 背景：formSelects（xm-select）默认主题是 layui 绿松石 #009688（多选 tag 绿底
 *       白字、展开边框绿、选中勾绿）；laydate 日期面板为 layui 视觉。二者是
 *       表单页"漏出 layui 味"的高发点，本层统一转 ant 主蓝。
 * 注意：tag 实际渲染类为 .xm-select-title div.xm-select-label>span，
 *       页面勿用不存在的 .xm-select-tag 覆盖（不会命中，等于白写）。
 * ========================================================================== */

/* ---- formSelects 多选：tag 绿底白字 → 主蓝底白字 ---- */
.xm-select-parent .xm-select-title div.xm-select-label > span {
    background-color: var(--ant-color-primary) !important;
    border-color: var(--ant-color-primary) !important;
    border-radius: 4px !important;
    color: #fff !important;
}
.xm-select-parent .xm-select-title div.xm-select-label > span > i {
    background-color: var(--ant-color-primary) !important;
    color: #fff !important;
}
/* 展开边框：绿 → 主蓝 */
.xm-form-selected .xm-select,
.xm-form-selected .xm-select:hover {
    border-color: var(--ant-color-primary) !important;
}
/* 下拉选中勾 / 单选点：绿 → 主蓝 */
.xm-select-parent dl dd.xm-select-this div i {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}
.xm-select-radio div.xm-form-checkbox > i {
    border-color: var(--ant-color-primary) !important;
}
/* 下拉面板：灰边 → ant 浮层面板 */
.xm-select-parent .xm-form-select dl {
    border: 1px solid var(--ant-color-border-secondary) !important;
    border-radius: var(--ant-border-radius-lg) !important;
    box-shadow: var(--ant-box-shadow-popover) !important;
    padding: 4px !important;
    background: var(--ant-color-bg-elevated) !important;
}
.xm-select-parent .xm-form-select dl dd:hover {
    background: var(--ant-color-bg-fill) !important;
}

/* ---- laydate 日期面板 ant 化 ---- */
.layui-laydate {
    border: 1px solid var(--ant-color-border-secondary) !important;
    border-radius: var(--ant-border-radius-lg) !important;
    box-shadow: var(--ant-box-shadow-popover) !important;
}
/* 选中日：偏青蓝 → ant 主蓝 */
.layui-laydate .layui-laydate-table td.layui-this {
    background-color: var(--ant-color-primary) !important;
    color: #fff !important;
}
.layui-laydate .layui-laydate-table td.layui-this:hover {
    background-color: var(--ant-color-primary) !important;
}
/* 日 hover：浅主色填充 */
.layui-laydate .layui-laydate-table td:hover {
    background-color: var(--ant-color-primary-bg) !important;
}
/* 头部翻页箭头：主蓝 */
.layui-laydate .layui-laydate-header i:hover,
.layui-laydate .layui-laydate-header span.layui-laydate-prev:hover,
.layui-laydate .layui-laydate-header span.layui-laydate-next:hover {
    color: var(--ant-color-primary) !important;
}
/* 底栏按钮（今天/清除/确定）：ant 次按钮 */
.layui-laydate .layui-laydate-footer span {
    border: 1px solid var(--ant-color-border) !important;
    border-radius: var(--ant-border-radius) !important;
    color: var(--ant-color-text) !important;
    background: var(--ant-color-bg-container) !important;
}
.layui-laydate .layui-laydate-footer span:hover {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}


/* ==========================================================================
 * 十四、layui layer 弹窗 ant 化（视觉压制：只改观感，不动结构/交互）
 * 适用：layer.open 的弹窗外框/标题栏/关闭钮/底部按钮/内容文字
 * ========================================================================== */
.layui-layer {
    border-radius: 8px !important;
    border: 1px solid var(--ant-color-border-secondary) !important;
    background: var(--ant-color-bg-container) !important;
    box-shadow: var(--ant-box-shadow-popover) !important;
}
.layui-layer-title {
    background: var(--ant-color-bg-container) !important;
    color: var(--ant-color-text) !important;
    border-bottom: 1px solid var(--ant-color-border-secondary) !important;
    font-size: 14px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding-left: 16px !important;
    border-radius: 8px 8px 0 0 !important;
}
.layui-layer-setwin .layui-layer-close1,
.layui-layer-setwin .layui-layer-close2 {
    border: none !important;
    background: transparent !important;
    color: var(--ant-color-text-secondary) !important;
}
.layui-layer-setwin .layui-layer-close1:hover,
.layui-layer-setwin .layui-layer-close2:hover {
    color: var(--ant-color-primary) !important;
}
.layui-layer-btn a {
    height: 30px !important;
    line-height: 30px !important;
    padding: 0 16px !important;
    margin: 0 4px !important;
    min-width: 64px !important;
    text-align: center !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    border: 1px solid var(--ant-color-border) !important;
    background: var(--ant-color-bg-container) !important;
    color: var(--ant-color-text) !important;
    text-decoration: none !important;
}
.layui-layer-btn a:hover {
    border-color: var(--ant-color-primary) !important;
    color: var(--ant-color-primary) !important;
}
.layui-layer-btn .layui-layer-btn0 {
    background: var(--ant-color-primary) !important;
    border-color: var(--ant-color-primary) !important;
    color: #fff !important;
}
.layui-layer-btn .layui-layer-btn0:hover {
    opacity: 0.85 !important;
    color: #fff !important;
}
.layui-layer-dialog .layui-layer-content {
    font-size: 13px !important;
    color: var(--ant-color-text) !important;
}
