/* ============================================================
 * layui.custom.css —— Layui 组件定制（过渡期覆盖层）
 * ============================================================
 * 用途：
 *   集中存放对 layui 原生样式的全部视觉定制，与系统 UI 风格保持一致。
 *   完全改造完成后，本文件内容将直接替换进 layui.css 源文件并下线本文件。
 *
 * 引入位置：th-head.html，必须位于 layui.css 之后（级联依赖）
 * 命名约定：新增定制请追加到对应分区注释之下，勿打散
 *
 * 目录：
 *   01. 表单基础美化（标签/输入框/聚焦态/按钮）
 *   02. 弹窗表单标签置顶布局
 *   03. 下拉选择面板（触发器展开态/选项/选中项）
 *   04. 表单行自适应铺满（row-fill 白名单类）
 * ============================================================ */


/* ============================================================
 * 01. 表单基础美化
 *     标签左对齐、输入框圆角、蓝色聚焦环，仅视觉调整，
 *     不改变 layui 浮动布局结构
 * ============================================================ */

/* 表单项间距 */
.layui-form-item {
    margin-bottom: 18px;
}

/* 标签：左对齐、加深字重（保留 80px 宽度与浮动结构，避免破坏栅格） */
.layui-form-label {
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: #1d1d1f;
    padding: 9px 10px 9px 0;
    box-sizing: border-box;
}

/* 必填星号 */
.layui-form-label span,
.layui-form-label i {
    color: #e63946;
}

/* 输入框 / 文本域 / 下拉（layui select 由 .layui-input 模拟）
   焦点态与 smartSearch 一致：#1890ff 描边 + 2px 浅蓝环 */
.layui-form .layui-input,
.layui-form .layui-textarea {
    height: 36px;
    line-height: 1.5;
    border-radius: 8px;
    border: 1px solid #d2d2d7;
    background: #fff;
    color: #1d1d1f;
    font-size: 13px;
    transition: border-color .2s, box-shadow .2s;
}

.layui-form .layui-textarea {
    height: auto;
    min-height: 72px;
    padding: 8px 12px;
}

.layui-form .layui-input::placeholder,
.layui-form .layui-textarea::placeholder {
    color: #a1a1a6;
}

.layui-form .layui-input:hover,
.layui-form .layui-textarea:hover {
    border-color: #40a9ff;
}

/* 聚焦：与 smartSearch 输入框同款 */
.layui-form .layui-input:focus,
.layui-form .layui-textarea:focus {
    background: #fff;
    border-color: #1890ff;
    box-shadow: 0 0 0 2px rgba(24,144,255,.08);
    outline: none;
}

/* layui JS 给聚焦容器追加的类，保持同一视觉 */
.layui-form-focus .layui-input {
    border-color: #1890ff !important;
    box-shadow: 0 0 0 2px rgba(24,144,255,.08);
}

/* 禁用态 */
.layui-form .layui-input[disabled],
.layui-form .layui-textarea[disabled] {
    background: #f5f5f7;
    opacity: .75;
    cursor: not-allowed;
}

/* 表单内按钮圆角统一 */
.layui-form .layui-btn {
    border-radius: 8px;
}


/* ============================================================
 * 02. 弹窗表单：标签置顶布局（Top-aligned）
 *     标签紧贴输入框正上方，输入框全宽统一左对齐
 *     仅作用于 yt.open 弹层，页面内嵌表单保持原布局
 * ============================================================ */
#yt-layer-open .layui-form-label {
    display: block;
    float: none;
    width: auto;
    padding: 0 0 6px;
    line-height: 18px;
    font-size: 12px;
    color: #58585e;
    letter-spacing: .2px;
}

#yt-layer-open .layui-input-block,
#yt-layer-open .layui-input-inline {
    margin-left: 0;
    min-height: 36px;
}


/* ============================================================
 * 03. 下拉选择（select 渲染后的触发器 + 面板）
 *     展开态与输入聚焦同视觉；面板圆角投影；
 *     选中项与 smartSearch .ys-cs-opt.sel 同款
 * ============================================================ */

/* 触发器展开态：与输入框聚焦一致 */
.layui-form-select.layui-form-selected .layui-input {
    border-color: #1890ff !important;
    box-shadow: 0 0 0 2px rgba(24,144,255,.08);
}

/* 面板容器 */
.layui-form-select dl {
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
    padding: 4px 0;

}

/* 分组标题（optgroup） */
.layui-form-select dl dt {
    font-size: 12px;
    color: #999;
    line-height: 20px;
    padding: 8px 12px 4px;
    cursor: default;
}

/* 选项 */
.layui-form-select dl dd {
    padding: 7px 12px;
    font-size: 13px;
    color: #333;
    line-height: 20px;
    transition: background .15s ease;
}

.layui-form-select dl dd:hover {
    background: #f5f5f5;
}

/* 当前选中项：与 smartSearch 选项选中同款 */
.layui-form-select dl dd.layui-this {
    background: #e6f7ff;
    color: #1890ff;
}


/* ============================================================
 * 04. 表单行自适应铺满（row-fill 白名单类）
 *     纯输入双列行 flex 铺满，窄屏自动换行；
 *     按需加在 .layui-form-item 上，不影响默认表单
 * ============================================================ */
.layui-form-item.row-fill {
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
}

.layui-form-item.row-fill > .layui-inline {
    float: none;
    display: flex;
    flex-direction: column;
    flex: 1 1 300px;
    min-width: 260px;
}

.layui-form-item.row-fill .layui-input-inline {
    width: 100%;
}

/* ============================================================
 * 05. 必填星标：label 加 .ys-required 类，CSS ::after 加 *
 * ============================================================ */
.layui-form-label.ys-required::after {
    content: "*";
    color: #e63946;
    font-weight: 600;
    margin-left: 2px;
}


/* ============================================================
 * 06. 弹窗标题栏窗口控制按钮（最小化/最大化/关闭）hover 统一
 *     原生最大（全屏）按钮 hover 时切换雪碧图标位置，
 *     layer.css 为 layer.js 打开弹窗时动态注入，晚于本文件，
 *     故用 body 前缀提升特异性确保覆写生效；
 *     transition:none 切断 background-position 的位移动画。
 * ============================================================ */
body .layui-layer-setwin .layui-layer-max,
body .layui-layer-setwin .layui-layer-max:hover {
    background-position: -32px -40px !important;
    transition: none;
}

body .layui-layer-setwin .layui-layer-maxmin,
body .layui-layer-setwin .layui-layer-maxmin:hover {
    background-position: -65px -40px !important;
    transition: none;
}
