@import url("../../plugs/layui-v2.x/css/layui.css");
@import url("../../plugs/font-awesome-6.x/css/all.min.css");
@import url("../css/color.css");
@import url("../css/themes/index.css");
@import url("../css/iconfont.css");

:root {
    --ea8-theme-main-color: #16b777;
}

html, body {
    font-family: "Source Han Sans CN Light", "思源黑体 Light";
    /*font-weight: 100;*/
}

.ws-header-theme .layui-form-switch { vertical-align: baseline; }
.ws-header-theme .layui-form-onswitch { background: #333333; border: 1px solid rgba(255, 255, 255, .7); }

.layuimini-container { min-height: 250px; padding: 15px; margin: 0 auto; }
.layuimini-main {
    position: relative;
    padding: 15px 15px;
    background-color: #ffffff;
    border: 1px solid #f2f2f2;
    border-radius: 5px;
}
.dark .layuimini-main {
    position: relative;
    padding: 15px 15px;
    background-color: var(--lay-color-bg-1);
    border: 1px solid #363636;
    border-radius: 5px;
}

/* ★ 表单行距拉大，不再上下拥挤贴在一起 ★ */
.layuimini-form .layui-form-item { 
    position: relative; 
    padding: 0 60px 0 0; 
    line-height: 24px; 
    margin-bottom: 28px !important; 
}

/* ★ 优化表单前置文字 (Label)，颜色变柔和 ★ */
.layuimini-form .layui-form-label {
    color: #666666 !important; 
    font-weight: 500 !important;
}

.text-center { text-align: center; }
.layuimini-form { margin-top: 10px; }
.easy-bg-white { background-color: #ffffff; height: auto; }

.hr-line { height: 1px; margin: 30px 0; border-top: 1px dashed #e7eaec; }
.dark .hr-line { color: #363636; height: 1px; margin: 30px 0; background-color: #363636; border-top: 1px dashed #363636; }

.layuimini-container .layui-table-cell { height: 50px; line-height: 42px; }
.layui-iconpicker-body.layui-iconpicker-body-page .hide { display: none; }

.layuimini-form > .layui-form-item .required:after {
    content: '*'; color: red; position: absolute; margin-left: 4px; font-weight: bold; line-height: 1.8em; top: 6px; right: 5px;
}
.layuimini-form > .layui-form-item > .layui-input-block tip, .layuimini-form > .layui-form-item > .layui-inline tip {
    display: inline-block; margin-top: 10px; line-height: 15px; font-size: 10px; color: #a29c9c;
}

.tableSearch-xmSelect xm-select { min-height: 30px !important; line-height: 30px !important; margin: 0 !important; background-color: var(--lay-color-fill-2); }
.elem-style-dark .tableSearch-xmSelect xm-select { background-color: var(--lay-color-fill-2); color: var(--lay-color-text-2); border-color: var(--lay-color-border-1) !important; }

.layuimini-container .layuimini-btn-primary { color: #fff; background-color: #2c3e50; }
.layuimini-container .layui-btn-sm i { font-size: 12px !important; }


/* ================= 7. ★★★ 图片上传组件苹果风重塑 ★★★ ================= */
.layuimini-upload { position: relative; }
.layuimini-upload > .layui-input { padding-right: 160px !important; }
.layuimini-upload .layuimini-upload-btn {
    display: flex !important; align-items: center !important; gap: 6px !important;
    position: absolute; right: 4px !important; top: 4px !important; 
    background-color: transparent !important;
}
.layuimini-upload .layuimini-upload-btn .layui-btn {
    height: 28px !important; line-height: 28px !important; padding: 0 10px !important;
    font-size: 13px !important; border-radius: 4px !important; box-shadow: none !important;
    border: none !important; margin: 0 !important;
}
.layuimini-upload .layuimini-upload-btn span:first-child .layui-btn { background-color: #f5f5f7 !important; color: #444444 !important; }
.layuimini-upload .layuimini-upload-btn span:first-child .layui-btn:hover { background-color: #e5e5ea !important; }
.layuimini-upload .layuimini-upload-btn span:last-child .layui-btn { background-color: #4bb368 !important; color: #ffffff !important; }
.layuimini-upload .layuimini-upload-btn span:last-child .layui-btn:hover { background-color: #3fa059 !important; }

.layuimini-upload-show { margin-top: 10px; margin-bottom: 0; }
.layuimini-upload-show li { position: relative; display: inline-block; padding: 5px 0 5px 0; padding-left: 10px; padding-right: 10px; border: 1px solid #e2e2e2; border-radius: 6px; }
.layuimini-upload-show a img { height: 80px; object-fit: cover; border-radius: 4px; }
.layuimini-upload-show .uploads-delete-tip { position: absolute; right: 10px; font-size: 12px; background: rgba(0,0,0,0.5); color: #fff; padding: 2px 4px; border-radius: 4px; }


/* ================= 8. ★★★ 地图坐标拾取按钮苹果风重塑 ★★★ ================= */
.js-map-picker.layui-btn {
    height: 36px !important; 
    line-height: 36px !important;
    border-radius: 6px !important;
    font-weight: normal !important;
    border: none !important;
    padding: 0 16px !important;
    box-shadow: none !important;
}
/* 拾取按钮 (草绿色) */
.js-map-picker.layui-btn-normal { background-color: #4bb368 !important; color: #ffffff !important; }
.js-map-picker.layui-btn-normal:hover { background-color: #3fa059 !important; }
/* 查看按钮 (淡灰色) */
.js-map-picker.layui-btn-primary { background-color: #f5f5f7 !important; color: #444444 !important; }
.js-map-picker.layui-btn-primary:hover { background-color: #e5e5ea !important; }


.bg-red { background-color: #e74c3c !important; }
.color-red { color: #e74c3c !important; }
.badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 11px; font-weight: bold; color: #fff; line-height: 1; vertical-align: middle; white-space: nowrap; text-align: center; background-color: #777777; border-radius: 10px; }

[v-cloak] { display: none; }
.layuimini-table-url { color: #1497f3; border-radius: 3px; size: 8px !important; padding: 2px }
.layuimini-table-url:hover { color: #1497f3; border-radius: 3px; size: 8px !important; padding: 2px }

.layui-form-label { width: 100px; }
.layui-input-block { margin-left: 130px; min-height: 36px }

.layuimini-container .layui-laypage .layui-laypage-curr .layui-laypage-em { border-radius: 30px !important; background-color: #4bb368 !important; }
.layuimini-container .layui-table-tool { background-color: #ffffff; padding: 10px; padding-bottom: 15px !important; }
.layuimini-container .layui-table-box .layui-table-header th { font-weight: normal !important; }

.form-search .layui-btn { height: 32px; line-height: 28px; font-size: 12px; padding: 0 10px; }
.form-search .layui-input-inline { min-width: 170px; max-width: 300px; width: auto; }
.form-search .layui-input-inline input, .form-search .layui-input-inline select { width: 100%; height: 32px; padding: 2px 8px; line-height: 1em; }

.layuimini-container .layui-btn-success { color: #fff; background-color: #4bb368; border-color: #4bb368; }
.layuimini-container .layui-btn-success:hover { background-color: #24b539 !important; }

.layuimini-container .layui-btn-danger { color: #fff; background-color: #f56c6c; border-color: #f56c6c; }
.layuimini-container .layui-table-tool .layui-btn + .layui-btn { margin-left: 5px; }
.layuimini-container .layui-table-tool .layui-inline[lay-event] { width: 30px; height: 30px; line-height: 30px; padding: 0px; }
.layuimini-container .layui-table-tool .layui-inline .layui-icon { font-size: 16px; }

@media screen and (max-width: 1024px) { .layuimini-form .layui-form-item { position: relative; padding: 0 30px 0 0; line-height: 24px; margin-bottom: 20px !important; } }
@media screen and (max-width: 768px) {
    .easyadmin-export-btn { display: none; }
    .form-search .layui-input-inline input, .form-search .layui-input-inline select { width: 100% !important; }
    .tableSelect { margin: 5px !important; min-width: auto !important; left: 1px !important; right: 1px !important; }
    .tableSelect img { object-fit: cover; height: 100%; }
}

.easy-load-lock { cursor: not-allowed; }
.line-limit-length { width: 200px; overflow: hidden; text-overflow: ellipsis; background: goldenrod; white-space: nowrap; }
.wangEditor_div { z-index: 99999; border: 1px solid var(--w-e-textarea-slight-border-color); }
.layui-tabs-item { height: 100%; }


/* ========================================================= */
/* ================== 顶部 Tab “胶囊化”彻底重绘 ================== */
/* ========================================================= */

.layui-layout-admin .layuimini-tab {
    background-color: #f5f5f7 !important; 
    padding: 12px 15px 0 15px !important; 
    border-bottom: none !important; 
}

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header, 
.layui-layout-admin .layuimini-tab > .layui-tab-title {
    padding: 0 !important; height: auto !important; min-height: 36px !important;
    background-color: transparent !important; border-bottom: none !important; 
    display: flex !important; align-items: center !important; gap: 8px !important; 
}

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li, 
.layui-layout-admin .layuimini-tab > .layui-tab-title li {
    height: 32px !important; line-height: 32px !important; border-radius: 6px !important; 
    background-color: #ffffff !important; border: 1px solid #ebebeb !important; 
    color: #555555 !important; font-weight: normal !important; 
    padding: 0 15px !important; margin: 0 !important; transition: all 0.2s ease !important;
    display: flex !important; align-items: center !important;
}

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li:hover, 
.layui-layout-admin .layuimini-tab > .layui-tab-title li:hover {
    border-color: #4bb368 !important; color: #4bb368 !important;
}

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li.layui-this,
.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li.layui-this span,
.layui-layout-admin .layuimini-tab > .layui-tab-title li.layui-this,
.layui-layout-admin .layuimini-tab > .layui-tab-title li.layui-this span {
    background-color: #4bb368 !important; border-color: #4bb368 !important; color: #ffffff !important; 
    font-weight: normal !important; box-shadow: 0 2px 6px rgba(75, 179, 104, 0.3) !important; 
}

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li .layuimini-tab-active,
.layui-layout-admin .layuimini-tab > .layui-tab-title li:after { display: none !important; }

.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li .layui-tab-close,
.layui-layout-admin .layuimini-tab > .layui-tab-title li .layui-tab-close {
    margin-left: 6px !important; width: 14px !important; height: 14px !important; line-height: 14px !important;
    border-radius: 50% !important; color: #aaaaaa !important; font-size: 12px !important; transition: all 0.2s !important;
}
.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li.layui-this .layui-tab-close { color: rgba(255, 255, 255, 0.8) !important; }
.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li.layui-this .layui-tab-close:hover { background-color: #ffffff !important; color: #4bb368 !important; }
.layui-layout-admin .layuimini-tab > ul.layui-tabs-header li:not(.layui-this) .layui-tab-close:hover { background-color: #ff3b30 !important; color: #ffffff !important; }


/* ========================================================= */
/* ====== 全局极简风：弹窗、搜索栏、表格、按钮大统一 ====== */
/* ========================================================= */

.layui-layer-easy { border-radius: 12px !important; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.2) !important; overflow: hidden !important; background: #ffffff !important; }
.layui-layer-easy .layui-layer-title { background: #f5f5f7 !important; color: #1d1d1f !important; font-size: 15px !important; font-weight: 500 !important; text-align: center !important; border-bottom: 1px solid #e8e8e8 !important; height: 50px !important; line-height: 50px !important; padding: 0 !important; }
.layui-layer-easy .layui-layer-setwin { right: 15px !important; left: auto !important; top: 17px !important; }
.layui-layer-easy .layui-layer-setwin .layui-layer-min:before, .layui-layer-easy .layui-layer-setwin .layui-layer-min:after, .layui-layer-easy .layui-layer-setwin .layui-layer-max:before, .layui-layer-easy .layui-layer-setwin .layui-layer-max:after { border-color: #86868b !important; }
.layui-layer-easy .layui-layer-setwin .layui-layer-close1 { color: #86868b !important; }
.layui-layer-easy .layui-layer-setwin a:hover:before, .layui-layer-easy .layui-layer-setwin a:hover:after { border-color: #1d1d1f !important; }
.layui-layer-easy .layui-layer-setwin .layui-layer-close1:hover { color: #1d1d1f !important; }

.layuimini-form .layui-input, .layuimini-form .layui-textarea, .layui-form-select .layui-input, .form-search .layui-input-inline input, .form-search .layui-input-inline select { border-radius: 6px !important; border: 1px solid #d2d2d7 !important; background-color: #ffffff !important; color: #1d1d1f !important; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important; }
.layuimini-form .layui-input:focus, .layuimini-form .layui-textarea:focus, .layui-form-select .layui-input:focus, .layui-form-select.layui-form-selected .layui-input, .form-search .layui-input-inline input:focus, .form-search .layui-input-inline select:focus { border-color: #4bb368 !important; box-shadow: 0 0 0 3px rgba(75, 179, 104, 0.2) !important; outline: none !important; }

.form-search .layui-form-label { width: auto !important; padding: 0 12px 0 0 !important; line-height: 32px !important; color: #444444 !important; font-weight: 500 !important; border: none !important; background: transparent !important; text-align: right !important; }
.layui-form-pane .form-search .layui-form-label { border: none !important; background: transparent !important; }

.layui-btn { border-radius: 6px !important; font-weight: 500 !important; transition: all 0.2s ease !important; border: none !important; }
.layui-btn-normal { background-color: #4bb368 !important; color: #fff !important; }
.layui-btn-normal:hover { background-color: #3fa059 !important; }
.layui-btn-primary { background-color: #ffffff !important; color: #1d1d1f !important; border: 1px solid #d2d2d7 !important; }
.layui-btn-primary:hover { background-color: #f5f5f7 !important; border-color: #c7c7cc !important; }

.layuimini-container .layui-btn-success { background-color: #28cd41 !important; color: #fff !important; }
.layuimini-container .layui-btn-success:hover { background-color: #24b539 !important; }
.layuimini-container .layui-btn-danger { background-color: #ff3b30 !important; color: #fff !important; }
.layuimini-container .layui-btn-danger:hover { background-color: #e6352b !important; }

body .layui-form-select dl { border: 1px solid #ebebeb !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important; padding: 6px !important; top: 36px !important; background-color: #ffffff !important; }
body .layui-form-select dl dd { border-radius: 6px !important; margin: 2px 0 !important; padding: 0 12px !important; height: 36px !important; line-height: 36px !important; color: #333333 !important; font-weight: normal !important; transition: background 0.2s !important; }
body .layui-form-select dl dd:hover { background-color: #f5f5f7 !important; color: #1d1d1f !important; }
body .layui-form-select dl dd.layui-this { background-color: #4bb368 !important; color: #ffffff !important; font-weight: normal !important; }


/* ================= 6. 列表页面骨架与表格高级优化 ================= */
body { background-color: #f5f5f7 !important; }
body:has(.layuimini-form) { background-color: #ffffff !important; }
.layuimini-form, .layuimini-form body { background-color: #ffffff !important; }

.layuimini-container { background-color: transparent !important; }

.layuimini-main {
    border-radius: 12px !important; border: none !important; box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
    background-color: #ffffff !important; padding: 20px !important;
}

body .layuimini-container .table-search-fieldset {
    border: 1px solid #ebebeb !important; border-radius: 8px !important; background-color: #fafafa !important; 
    margin-bottom: 20px !important; padding: 15px 20px 5px 20px !important;
}
body .layuimini-container .table-search-fieldset legend { color: #86868b !important; font-weight: 500; }
body .layuimini-container .table-search-fieldset .layui-form-item { margin-bottom: 0 !important; }
body .layuimini-container .table-search-fieldset .layui-inline { margin-bottom: 10px !important; margin-right: 15px !important; vertical-align: top !important; }
body .layuimini-container .table-search-fieldset .layui-inline:last-child { float: right !important; margin-right: 0 !important; }
body .layuimini-container .table-search-fieldset::after { content: ''; display: block; clear: both; }

body .layui-table-view { border-radius: 10px !important; border: 1px solid #ebebeb !important; overflow: hidden !important; }
body .layui-table-header { border-bottom: 1px solid #ebebeb !important; }

/* ★ 增加表头竖线，完善网格感 ★ */
body .layui-table th {
    background-color: #ffffff !important; color: #333333 !important; font-weight: normal !important; 
    font-size: 15px !important; border-left: none !important; border-top: none !important;
    border-bottom: 1px solid #ebebeb !important; border-right: 1px solid #ebebeb !important; /* 右侧竖线 */
}

body .layui-table th .layui-table-cell {
    overflow: visible !important; height: auto !important; padding-top: 12px !important; padding-bottom: 12px !important;
}
body .layui-table th .layui-table-cell > span:first-child {
    display: inline-block !important; position: relative !important; padding-bottom: 0 !important; 
}
body .layui-table th .layui-table-cell > span:first-child::after {
    content: ''; position: absolute; bottom: 0; left: 15%; right: 15%; height: 3px;
    background-color: #4bb368 !important; border-radius: 3px !important;
}
body .layui-table th .laytable-cell-checkbox > span::after, body .layui-table th .layui-table-sort::after { display: none !important; }


/* ★ 增加数据单元格竖线，配置鼠标滑过/点击时的高级淡绿特效 ★ */
body .layui-table td { 
    border-left: none !important; 
    border-right: 1px solid #f2f2f2 !important; /* 右侧竖线 */
    border-bottom: 1px solid #f2f2f2 !important; 
    color: #444444 !important; font-size: 14px !important; 
}

/* ★ 彻底修复：鼠标滑过表格行变高级淡绿色，覆盖 Layui 默认的灰色和点击变灰 ★ */
body .layui-table-view .layui-table tbody tr:hover,
body .layui-table-view .layui-table tbody tr:hover td,
body .layui-table-view .layui-table-hover,
body .layui-table-view .layui-table-hover td,
body .layui-table-view .layui-table-click,
body .layui-table-view .layui-table-click td {
    background-color: #f0f9f4 !important; /* 极淡的护眼草绿色 */
}

body .layui-table-tool { background-color: #ffffff !important; border-bottom: 1px solid #ebebeb !important; }


/* ========================================================= */
/* ================== 顶部导航与 Logo 极简改造 ================== */
/* ========================================================= */

body .layui-layout-admin .layui-header .layui-logo { background-color: #ffffff !important; box-shadow: none !important; border-right: 1px solid #f0f0f0 !important; }
body .layui-layout-admin .layui-header .layui-logo a { display: flex !important; align-items: center !important; justify-content: center !important; height: 100% !important; width: 100% !important; }
body .layui-layout-admin .layui-header .layui-logo img { height: 26px !important; width: auto !important; margin-right: 8px !important; display: block !important; }
body .layui-layout-admin .layui-header .layui-logo h1 { color: #333333 !important; font-size: 16px !important; font-weight: bold !important; line-height: normal !important; margin: 0 !important; }
body .layui-layout-admin .layui-header .layui-nav .layui-nav-item > a { font-size: 16px !important; font-weight: normal !important; }


/* ========================================================= */
/* ======= 究极侧边栏：极简白 + 缩紧二级菜单间距 + 草绿胶囊 ======= */
/* ========================================================= */

body .layui-layout-admin .layui-side, body .layui-layout-admin .layui-side.layui-bg-black, body .layui-layout-admin .layui-side .layui-nav, body .layuimini-menu-left { background-color: #ffffff !important; background-image: none !important; border-right: 1px solid #f0f0f0 !important; }
body .layuimini-menu-left .layui-nav-tree { border-top: 1px solid #e5e5ea !important; margin-top: 5px !important; }

body .layuimini-menu-left .layui-nav-tree .layui-nav-item, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd { border-bottom: none !important; position: relative; }
body .layuimini-menu-left .layui-nav-tree .layui-nav-item::after { content: ''; position: absolute; bottom: 0; left: 30px; right: 30px; height: 1px; background-color: #f0f0f0 !important; }
body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd::after { content: ''; position: absolute; bottom: 0; left: 45px; right: 25px; height: 1px; background-color: #e8e8e8 !important; display: block !important; }
body .layuimini-menu-left .layui-nav-tree .layui-nav-item:last-child::after, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd:last-child::after { display: none !important; }

body .layuimini-menu-left .layui-nav .layui-nav-item > a, body .layuimini-menu-left .layui-nav .layui-nav-child dd > a { color: #444444 !important; font-weight: 500 !important; background-color: transparent !important; transition: all 0.2s ease !important; }
body .layuimini-menu-left .layui-nav .layui-nav-item > a i, body .layuimini-menu-left .layui-nav .layui-nav-child dd > a i, body .layuimini-menu-left .layui-nav .layui-nav-more { color: #666666 !important; }
body .layuimini-menu-left .layui-nav .layui-nav-item > a:hover, body .layuimini-menu-left .layui-nav .layui-nav-child dd > a:hover { color: #222222 !important; background-color: #f5f5f7 !important; }
body .layuimini-menu-left .layui-nav .layui-nav-item > a:hover i, body .layuimini-menu-left .layui-nav .layui-nav-child dd > a:hover i, body .layuimini-menu-left .layui-nav .layui-nav-item > a:hover .layui-nav-more { color: #222222 !important; }

body .layuimini-menu-left .layui-nav-tree .layui-nav-itemed > a { background-color: transparent !important; }

body .layuimini-menu-left .layui-nav-tree .layui-nav-child {
    background-color: #fafafa !important; padding: 4px 0 !important; margin: 4px 10px !important; 
    border: 1px solid #f0f0f0 !important; border-radius: 8px !important;
}

body .layuimini-menu-left .layui-nav .layui-nav-item > a {
    margin: 4px 12px !important; border-radius: 8px !important;  
    line-height: 40px !important; height: 40px !important; padding-left: 15px !important;
}

body .layuimini-menu-left .layui-nav-child dd > a {
    margin: 4px 12px !important; border-radius: 8px !important;
    line-height: 36px !important; height: 36px !important; padding-left: 35px !important;
}

body .layuimini-menu-left .layui-nav-tree .layui-this:after, body .layuimini-menu-left .layui-nav-tree .layui-nav-itemed:after { display: none !important; }
body .layuimini-menu-left .layui-nav-tree .layui-nav-item.layui-this, body .layui-layout-admin .layui-side .layui-nav-child dd.layui-this { background-color: transparent !important; }

body .layuimini-menu-left .layui-nav-tree .layui-this > a, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this > a { background-color: #4bb368 !important; color: #ffffff !important; font-weight: normal !important; box-shadow: 0 2px 6px rgba(75, 179, 104, 0.3) !important; }
body .layuimini-menu-left .layui-nav-tree .layui-this > a i, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this > a i { color: #ffffff !important; }
body .layuimini-menu-left .layui-nav-tree .layui-this > a:hover, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this > a:hover { background-color: #3fa059 !important; color: #ffffff !important; }
body .layuimini-menu-left .layui-nav-tree .layui-this > a:hover i, body .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this > a:hover i { color: #ffffff !important; }