/**
 * antd 视觉风格全局覆盖层
 * Copyright (c) ksxy
 *
 * 说明：
 * 1. 本文件在 ksxy-ui.css 之后加载，用于将 Bootstrap/AdminLTE 组件视觉统一为 Ant Design 风格
 * 2. 设计令牌采用 antd 5：
 *    - 主色 #1677ff（hover #4096ff / active #0958d9）
 *    - 成功 #52c41a  警告 #faad14  错误 #ff4d4f
 *    - 边框 #d9d9d9  分割线 #f0f0f0  文本 #262626/#595959/#8c8c8c
 *    - 圆角 6px（卡片/弹框 8px）  控件高度 32px
 * 3. 仅覆盖视觉（颜色/圆角/阴影/间距），不改 DOM 结构与交互
 */

/* ==================== 一、全局基础 ==================== */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
        'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
    font-size: 14px;
    color: #262626;
}

body.gray-bg, .gray-bg {
    background-color: #f5f5f5;
}

a {
    color: #1677ff;
}

a:hover, a:focus {
    color: #4096ff;
}

hr {
    border-top-color: #f0f0f0;
}

/* ==================== 二、按钮 ==================== */
.btn {
    border-radius: 6px;
    font-size: 14px;
    height: 32px;
    line-height: 22px;
    padding: 4px 15px;
    box-shadow: none !important;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.btn:focus, .btn.focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1) !important;
}

.btn:active, .btn.active, .open .dropdown-toggle.btn {
    box-shadow: none !important;
    background-image: none;
}

/* 主按钮 */
.btn-primary {
    background-color: #1677ff;
    border-color: #1677ff;
    color: #fff;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary.focus {
    background-color: #4096ff;
    border-color: #4096ff;
    color: #fff;
}

.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
    background-color: #0958d9;
    border-color: #0958d9;
    color: #fff;
}

.btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus,
.btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary {
    background-color: #1677ff;
    border-color: #1677ff;
    color: #fff;
    opacity: .4;
}

/* 成功按钮 */
.btn-success {
    background-color: #52c41a;
    border-color: #52c41a;
    color: #fff;
}

.btn-success:hover, .btn-success:focus, .btn-success.focus {
    background-color: #73d13d;
    border-color: #73d13d;
    color: #fff;
}

.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
    background-color: #389e0d;
    border-color: #389e0d;
    color: #fff;
}

.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success {
    background-color: #52c41a;
    border-color: #52c41a;
    color: #fff;
    opacity: .4;
}

/* 警告按钮 */
.btn-warning {
    background-color: #faad14;
    border-color: #faad14;
    color: #fff;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning.focus {
    background-color: #ffc53d;
    border-color: #ffc53d;
    color: #fff;
}

.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
    background-color: #d48806;
    border-color: #d48806;
    color: #fff;
}

.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning {
    background-color: #faad14;
    border-color: #faad14;
    color: #fff;
    opacity: .4;
}

/* 危险按钮 */
.btn-danger {
    background-color: #ff4d4f;
    border-color: #ff4d4f;
    color: #fff;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger.focus {
    background-color: #ff7875;
    border-color: #ff7875;
    color: #fff;
}

.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
    background-color: #d9363e;
    border-color: #d9363e;
    color: #fff;
}

.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger {
    background-color: #ff4d4f;
    border-color: #ff4d4f;
    color: #fff;
    opacity: .4;
}

/* 信息按钮（antd 无 info，跟随主色） */
.btn-info {
    background-color: #1677ff;
    border-color: #1677ff;
    color: #fff;
}

.btn-info:hover, .btn-info:focus, .btn-info.focus {
    background-color: #4096ff;
    border-color: #4096ff;
    color: #fff;
}

.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
    background-color: #0958d9;
    border-color: #0958d9;
    color: #fff;
}

.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info {
    background-color: #1677ff;
    border-color: #1677ff;
    color: #fff;
    opacity: .4;
}

/* 默认按钮 */
.btn-default {
    background-color: #fff;
    border-color: #d9d9d9;
    color: #262626;
}

.btn-default:hover, .btn-default:focus, .btn-default.focus {
    background-color: #fff;
    border-color: #4096ff;
    color: #4096ff;
}

.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
    background-color: #fff;
    border-color: #0958d9;
    color: #0958d9;
}

.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus,
.btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus,
fieldset[disabled] .btn-default {
    background-color: #fff;
    border-color: #d9d9d9;
    color: rgba(0, 0, 0, .25);
}

/* 白色按钮（RuoYi）跟随默认按钮 */
.btn-white {
    background-color: #fff;
    border-color: #d9d9d9;
    color: #262626;
}

.btn-white:hover, .btn-white:focus, .btn-white.focus {
    background-color: #fff;
    border-color: #4096ff;
    color: #4096ff;
}

/* 链接按钮 */
.btn-link {
    color: #1677ff;
    border-color: transparent;
    background-color: transparent;
    box-shadow: none;
}

.btn-link:hover, .btn-link:focus {
    color: #4096ff;
    border-color: transparent;
    background-color: transparent;
}

.btn-link:active, .btn-link.active {
    color: #0958d9;
}

/* 描边按钮 */
.btn-outline {
    background-color: #fff;
    border-color: #d9d9d9;
    color: #262626;
}

.btn-primary.btn-outline {
    color: #1677ff;
    border-color: #1677ff;
    background-color: #fff;
}

.btn-success.btn-outline {
    color: #52c41a;
    border-color: #52c41a;
    background-color: #fff;
}

.btn-warning.btn-outline {
    color: #faad14;
    border-color: #faad14;
    background-color: #fff;
}

.btn-danger.btn-outline {
    color: #ff4d4f;
    border-color: #ff4d4f;
    background-color: #fff;
}

.btn-info.btn-outline {
    color: #1677ff;
    border-color: #1677ff;
    background-color: #fff;
}

.btn-primary.btn-outline:hover, .btn-success.btn-outline:hover,
.btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover, .btn-info.btn-outline:hover {
    color: #fff;
}

.btn-primary.btn-outline:hover {
    background-color: #4096ff;
    border-color: #4096ff;
}

.btn-success.btn-outline:hover {
    background-color: #73d13d;
    border-color: #73d13d;
}

.btn-warning.btn-outline:hover {
    background-color: #ffc53d;
    border-color: #ffc53d;
}

.btn-danger.btn-outline:hover {
    background-color: #ff7875;
    border-color: #ff7875;
}

.btn-info.btn-outline:hover {
    background-color: #4096ff;
    border-color: #4096ff;
}

/* 尺寸 */
.btn-sm {
    height: 24px;
    line-height: 22px;
    padding: 0 7px;
    font-size: 14px;
    border-radius: 6px;
}

.btn-xs {
    height: 22px;
    line-height: 20px;
    padding: 0 7px;
    font-size: 12px;
    border-radius: 4px;
}

.btn-lg {
    height: 40px;
    line-height: 30px;
    padding: 4px 15px;
    font-size: 16px;
    border-radius: 8px;
}

/* 表格工具栏按钮组间距 */
.fixed-table-toolbar .bars .btn + .btn,
.fixed-table-toolbar .bars .btn-group + .btn-group {
    margin-left: 8px;
}

/* ==================== 三、输入框 ==================== */
.form-control, .single-line {
    height: 32px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    padding: 4px 11px;
    color: #262626;
    font-size: 14px;
    background-color: #fff;
    box-shadow: none;
}

.form-control:hover, .single-line:hover {
    border-color: #4096ff;
}

.form-control:focus, .single-line:focus {
    border-color: #1677ff !important;
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1) !important;
    outline: none;
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    background-color: #f5f5f5;
    border-color: #d9d9d9;
    color: rgba(0, 0, 0, .25);
}

.form-control::-webkit-input-placeholder {
    color: #bfbfbf;
}

.form-control:-moz-placeholder {
    color: #bfbfbf;
}

.form-control::-moz-placeholder {
    color: #bfbfbf;
}

.form-control:-ms-input-placeholder {
    color: #bfbfbf;
}

textarea.form-control {
    height: auto;
    min-height: 32px;
}

.form-control.kv-fileinput-caption {
    height: 32px !important;
}

/* 表单标签与提示 */
.form-horizontal .control-label, .form-group .control-label {
    color: #595959;
    font-weight: normal;
}

.help-block {
    color: #8c8c8c;
}

.has-error .form-control, .has-error .form-control:focus {
    border-color: #ff4d4f !important;
    box-shadow: 0 0 0 2px rgba(255, 77, 79, .1) !important;
}

.has-success .form-control {
    border-color: #52c41a;
}

.has-warning .form-control {
    border-color: #faad14;
}

/* 校验失败样式（ksxy 自定义） */
.Validform_error, input.error, textarea.error, select.error {
    background-color: #fff;
    border-color: #ff4d4f;
    color: #ff4d4f;
}

label.error {
    color: #ff4d4f;
}

/* 输入组 */
.input-group-addon {
    border-color: #d9d9d9;
    background-color: #fafafa;
    color: #262626;
    border-radius: 6px;
}

.input-group .form-control {
    border-radius: 6px;
}

/* ==================== 四、下拉选择（select2 / bootstrap-select） ==================== */
.select2-container .select2-selection--single {
    height: 32px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 30px;
    padding-left: 11px;
    padding-right: 20px;
    color: #262626;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 30px;
}

.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #1677ff;
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1);
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #bfbfbf;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    color: #bfbfbf;
}

.select2-dropdown {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #e6f4ff;
    color: #1677ff;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #fafafa;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    outline: none;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #1677ff;
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1);
}

/* 多选标签 */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e6f4ff;
    border-color: #91caff;
    color: #1677ff;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #1677ff;
    margin-right: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #0958d9;
}

/* bootstrap-select 下拉按钮 */
.bootstrap-select .btn {
    background-color: #fff;
    border-color: #d9d9d9;
    color: #262626;
}

.bootstrap-select .btn:hover, .bootstrap-select .btn:focus,
.bootstrap-select.btn-group.open .btn {
    background-color: #fff;
    border-color: #4096ff;
    color: #4096ff;
}

.bootstrap-select .dropdown-menu {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

.bootstrap-select .dropdown-menu > li > a:hover,
.bootstrap-select .dropdown-menu > li.selected > a,
.bootstrap-select .dropdown-menu > li.active > a {
    background-color: #e6f4ff;
    color: #1677ff;
}

/* ==================== 五、表格（bootstrap-table） ==================== */
.table {
    color: #262626;
    background-color: #fff;
}

.table > thead > tr > th {
    border-bottom: 1px solid #f0f0f0;
    background-color: #fafafa;
    color: #262626;
    font-weight: 500;
    padding: 12px 8px;
}

.table > tbody > tr > td {
    border-top: 1px solid #f0f0f0;
    padding: 12px 8px;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
    border-color: #f0f0f0;
}

.table-hover > tbody > tr:hover {
    background-color: #fafafa;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fafafa;
}

/* bootstrap-table 固定表头容器 */
.fixed-table-container {
    border: 1px solid #f0f0f0;
    border-radius: 6px 6px 0 0;
}

.fixed-table-container .fixed-table-header {
    background-color: #fafafa;
}

.fixed-table-container .fixed-table-header .table thead th {
    background-color: #fafafa;
    color: #262626;
    font-weight: 500;
    border-bottom: 1px solid #f0f0f0;
}

.fixed-table-container tbody tr:hover td {
    background-color: #fafafa;
}

.fixed-table-container tbody .selected td {
    background-color: #e6f4ff;
}

.fixed-table-container .fixed-table-pagination {
    border-top: 1px solid #f0f0f0;
    background-color: #fff;
    border-radius: 0 0 6px 6px;
}

.fixed-table-pagination .pagination-detail,
.fixed-table-pagination div.pagination-info {
    color: #595959;
}

/* 工具栏 */
.fixed-table-toolbar {
    border-bottom: 1px solid #f0f0f0;
    background-color: #fff;
}

.fixed-table-toolbar .columns .dropdown-menu {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

.fixed-table-toolbar .columns .dropdown-menu label {
    color: #262626;
}

.table-responsive {
    border: 1px solid #f0f0f0;
    border-radius: 6px;
}

/* 展开行/树形表格按钮颜色 */
.fixed-table-container .detail-icon,
.fixed-table-container tbody .card-view .title {
    color: #1677ff;
}

/* ==================== 六、分页 ==================== */
.pagination > li > a, .pagination > li > span {
    float: none;
    display: inline-block;
    margin: 0 4px 0 0;
    padding: 0 6px;
    min-width: 32px;
    height: 32px;
    line-height: 30px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background-color: #fff;
    color: #262626;
    text-align: center;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
    margin-left: 4px;
    border-radius: 6px;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
    border-radius: 6px;
}

.pagination > li > a:hover, .pagination > li > span:hover,
.pagination > li > a:focus, .pagination > li > span:focus {
    color: #1677ff;
    border-color: #1677ff;
    background-color: #fff;
}

.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover,
.pagination > .active > a:focus, .pagination > .active > span:focus {
    background-color: #1677ff;
    border-color: #1677ff;
    color: #fff;
    z-index: auto;
}

.pagination > .disabled > span, .pagination > .disabled > span:hover,
.pagination > .disabled > a, .pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
    color: #bfbfbf;
    border-color: #d9d9d9;
    background-color: #fff;
    cursor: not-allowed;
}

/* ==================== 七、弹框 ==================== */
/* --- layer 弹框（html body 前缀提升特异性，覆盖动态加载的 moon 皮肤） --- */
html body .layer-ext-moon {
    border-radius: 8px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

html body .layer-ext-moon .layui-layer-title {
    background: #fff;
    color: #262626;
    font-size: 16px;
    font-weight: 600;
    height: 56px;
    line-height: 56px;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    padding: 0 80px 0 24px;
    border-radius: 8px 8px 0 0;
}

html body .layer-ext-moon .layui-layer-setwin {
    top: 20px;
    right: 24px;
}

html body .layer-ext-moon .layui-layer-setwin .layui-layer-close1,
html body .layer-ext-moon .layui-layer-setwin .layui-layer-close2 {
    border-radius: 4px;
}

html body .layer-ext-moon .layui-layer-setwin .layui-layer-close1:hover,
html body .layer-ext-moon .layui-layer-setwin .layui-layer-close2:hover {
    background-color: rgba(0, 0, 0, .06);
}

html body .layer-ext-moon .layui-layer-btn {
    text-align: right;
    padding: 10px 16px;
    background: transparent;
    border-top: 1px solid #f0f0f0;
}

html body .layer-ext-moon .layui-layer-btn a {
    font-size: 14px;
    font-weight: normal;
    margin: 0 0 0 8px;
    padding: 0 15px;
    height: 32px;
    line-height: 32px;
    color: #262626;
    border: 1px solid #d9d9d9;
    background: #fff;
    border-radius: 6px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    outline: none;
    -webkit-transition: all .2s;
    transition: all .2s;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn0 {
    background: #1677ff;
    border: 1px solid #1677ff;
    color: #fff;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn0:hover {
    background: #4096ff;
    border-color: #4096ff;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn1 {
    background: #fff;
    color: #262626;
    border: 1px solid #d9d9d9;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn1:hover {
    color: #4096ff;
    border-color: #4096ff;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn2 {
    background: #faad14;
    border: 1px solid #faad14;
    color: #fff;
}

html body .layer-ext-moon .layui-layer-btn .layui-layer-btn3 {
    background: #ff4d4f;
    border: 1px solid #ff4d4f;
    color: #fff;
}

/* layer 提示框（msg/alert） */
html body .layui-layer-page,
html body .layui-layer-dialog {
    border-radius: 8px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

/* --- Bootstrap Modal --- */
.modal-content {
    border-radius: 8px;
    border: none;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

.modal-header {
    border-bottom: 1px solid #f0f0f0;
    padding: 16px 24px;
    border-radius: 8px 8px 0 0;
}

.modal-title {
    font-size: 16px;
    font-weight: 600;
    color: #262626;
}

.modal-header .close {
    font-size: 16px;
    font-weight: normal;
    color: rgba(0, 0, 0, .45);
    opacity: 1;
    margin-top: 0;
    padding: 4px 6px;
    border-radius: 4px;
    line-height: 1;
}

.modal-header .close:hover {
    color: rgba(0, 0, 0, .88);
    background-color: rgba(0, 0, 0, .06);
}

.modal-body {
    padding: 24px;
}

.modal-footer {
    border-top: 1px solid #f0f0f0;
    padding: 10px 16px;
    text-align: right;
    border-radius: 0 0 8px 8px;
}

/* ==================== 八、页签（主页标签页） ==================== */
.content-tabs {
    background: #fff;
}

.page-tabs-content > a {
    color: #595959;
    border-right: 1px solid #f0f0f0;
    background-color: #fafafa;
}

.page-tabs-content > a:hover {
    color: #1677ff;
    background-color: #fff;
}

.page-tabs-content > a.active {
    color: #1677ff;
    background-color: #fff;
    border-bottom: 2px solid #1677ff;
}

/* ==================== 九、面板/卡片 ==================== */
.ibox {
    border-color: #f0f0f0;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);
}

.ibox-title {
    border-bottom: 1px solid #f0f0f0;
    background-color: #fff;
    border-radius: 8px 8px 0 0;
    color: #262626;
}

.ibox-title h5, .ibox-title h4 {
    font-weight: 600;
    color: #262626;
}

.panel {
    border-color: #f0f0f0;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);
}

.panel-default > .panel-heading {
    background-color: #fff;
    border-color: #f0f0f0;
}

.panel-title {
    color: #262626;
    font-weight: 600;
}

.panel-body {
    color: #262626;
}

.panel-footer {
    background-color: #fafafa;
    border-top: 1px solid #f0f0f0;
}

/* ==================== 十、查询区/搜索表单 ==================== */
.search-collapse, .select-table {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .03), 0 1px 6px -1px rgba(0, 0, 0, .02), 0 2px 4px 0 rgba(0, 0, 0, .02);
}

.select-list li {
    color: #262626;
}

/* 查询区标签列 14px 字号下需容纳“项目名称：”等 5 字符，原 65px 宽不够会折行，加宽至 85px 并禁止折行 */
.select-list li label:not(.radio-box) {
    width: 85px;
    white-space: nowrap;
}

/* 查询区按钮（搜索/重置等 btn-sm）与 32px 输入框同高，避免上下不对齐 */
.select-list li .btn-sm {
    height: 32px;
    padding: 4px 15px;
}

.select-list li input, .select-list li select {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    height: 32px;
}

.select-list li input:focus, .select-list li select:focus {
    border-color: #1677ff;
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1);
}

.select-list .btn-default {
    color: #262626;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background: #fff;
    height: 32px;
}

.select-list .btn-default:hover, .select-list .btn-default:focus,
.select-list .btn-default:active, .select-list .btn-default.active,
.open .dropdown-toggle.btn-default {
    color: #4096ff;
    background-color: #fff;
    border-color: #4096ff;
}

/* ==================== 十一、标签/徽章（antd Tag 风格） ==================== */
.label {
    border-radius: 4px;
    padding: 3px 8px;
    font-weight: normal;
    font-size: 12px;
    line-height: 16px;
}

.label-primary {
    background-color: #e6f4ff;
    color: #1677ff;
}

.label-success {
    background-color: #f6ffed;
    color: #52c41a;
}

.label-warning {
    background-color: #fffbe6;
    color: #faad14;
}

.label-danger {
    background-color: #fff1f0;
    color: #ff4d4f;
}

.label-info {
    background-color: #e6f4ff;
    color: #1677ff;
}

.label-default {
    background-color: #fafafa;
    color: #595959;
}

.badge {
    background-color: #ff4d4f;
    border-radius: 10px;
    font-weight: normal;
}

.badge-primary {
    background-color: #1677ff;
}

.badge-success {
    background-color: #52c41a;
}

.badge-warning {
    background-color: #faad14;
}

/* ==================== 十二、复选框/单选框（iCheck 重绘为 antd 风格） ==================== */
.icheckbox-blue, .iradio-blue {
    width: 16px;
    height: 16px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 2px;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.icheckbox-blue.hover, .icheckbox-blue:hover,
.icheckbox-blue.focus, .icheckbox-blue:focus {
    border-color: #1677ff;
}

.icheckbox-blue.focus {
    box-shadow: 0 0 0 2px rgba(5, 145, 255, .1);
}

.icheckbox-blue.checked {
    background: #1677ff;
    border-color: #1677ff;
    background-image: none;
}

.icheckbox-blue.checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 9px;
    border: 2px solid #fff;
    border-top: 0;
    border-left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    box-sizing: border-box;
}

.icheckbox-blue.disabled, .iradio-blue.disabled {
    opacity: .4;
    cursor: not-allowed;
}

.iradio-blue {
    border-radius: 50%;
}

.iradio-blue.hover, .iradio-blue:hover, .iradio-blue.focus {
    border-color: #1677ff;
}

.iradio-blue.checked {
    background: #fff;
    border-color: #1677ff;
    background-image: none;
}

.iradio-blue.checked::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 8px;
    height: 8px;
    background: #1677ff;
    border-radius: 50%;
}

/* ==================== 十三、导航页签/下拉菜单 ==================== */
.nav-tabs {
    border-bottom: 1px solid #f0f0f0;
}

.nav-tabs > li > a {
    color: #595959;
    border-radius: 0;
}

.nav-tabs > li > a:hover {
    color: #1677ff;
    background-color: transparent;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    color: #1677ff;
    border-bottom-color: #1677ff;
}

/* 全局下拉菜单 */
.dropdown-menu {
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, .08), 0 3px 6px -4px rgba(0, 0, 0, .12), 0 9px 28px 8px rgba(0, 0, 0, .05);
}

.dropdown-menu > li > a {
    color: #262626;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a {
    background-color: #e6f4ff;
    color: #1677ff;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    background-color: #e6f4ff;
    color: #1677ff;
}

.dropdown-menu > .divider {
    background-color: #f0f0f0;
}

/* ==================== 十四、杂项 ==================== */
/* 加载遮罩文字颜色 */
.fixed-table-container .loading-text, .fixed-table-container .loading-icon {
    color: #1677ff;
}

/* 表格展开按钮 */
.bootstrap-table .table > tbody > tr.selected > td {
    background-color: #e6f4ff;
}

/* 滚动条颜色（webkit） */
::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
    border-radius: 6px;
}

/* ==================== 十五、框架导航（顶部导航栏/侧边栏） ==================== */
/* 顶部导航栏：antd Layout.Header 白底 + 细分割线 */
.navbar-static-top {
    background-color: #fff !important;
}

#page-wrapper > .row.border-bottom {
    border-bottom-color: #f0f0f0 !important;
}

/* 收起菜单按钮 */
.navbar-minimalize {
    color: #262626 !important;
}

.navbar-minimalize:hover {
    background-color: rgba(0, 0, 0, .045) !important;
}

/* 顶部导航栏项目名称（可点击切换，完整显示不截断） */
.navbar-project {
    display: inline-block;
    float: left;
    height: 50px;
    line-height: 50px;
    margin-left: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #262626;
    cursor: pointer;
    white-space: nowrap;
}

.navbar-project:hover {
    color: #1677ff;
}

/* 顶部导航栏用户菜单 */
.nav.navbar-right > li > a {
    color: #262626 !important;
}

.navbar-right > .user-menu .dropdown-toggle span {
    color: #262626 !important;
}

.nav.navbar-right > li > a:hover, .nav.navbar-right > li > a:focus {
    background-color: rgba(22, 119, 255, .06);
    color: #1677ff !important;
}

.navbar-static-top .nav .open > a {
    background-color: rgba(22, 119, 255, .06) !important;
    color: #1677ff !important;
}

/* 侧边栏：antd Sider 深色背景 */
body .navbar-static-side {
    background-color: #001529 !important;
}

.navbar-static-side .logo {
    background-color: #001529 !important;
    color: #fff;
}

/* 一级菜单 */
.navbar-static-side .nav > li > a {
    color: rgba(255, 255, 255, .65) !important;
    font-weight: 400;
}

.navbar-static-side .nav > li > a:hover, .navbar-static-side .nav > li > a:focus {
    background-color: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

/* 展开状态父菜单：文字变白，背景不变色 */
.navbar-static-side .nav .open > a,
.navbar-static-side .nav .open > a:hover,
.navbar-static-side .nav .open > a:focus {
    background-color: transparent !important;
    color: #fff !important;
}

/* 父菜单激活/展开：li 不整块变色，避免子菜单区域透出蓝色 */
.navbar-static-side .nav:not(.navbar-toolbar) > li.active {
    background: transparent;
    border-left: 3px solid transparent;
    color: #fff;
}

.navbar-static-side .nav > li.active > a {
    color: #fff !important;
}

.navbar-static-side .nav ul li.active > a {
    color: #fff !important;
}

/* 子菜单区域独立深色背景，不随父菜单变色 */
.navbar-static-side .nav > li > ul {
    background-color: #001529;
}

/* 二、三、四级菜单 */
.navbar-static-side .nav-second-level > li > a,
.navbar-static-side .nav-third-level > li > a,
.navbar-static-side .nav-four-level > li > a {
    color: rgba(255, 255, 255, .65) !important;
}

.navbar-static-side .nav-second-level > li > a:hover,
.navbar-static-side .nav-third-level > li > a:hover,
.navbar-static-side .nav-four-level > li > a:hover {
    background-color: rgba(255, 255, 255, .08) !important;
    color: #fff !important;
}

/* 选中叶子菜单项蓝色高亮（叶子项均带 menuItem 类），覆盖 RuoYi 的 selected 深蓝 */
.navbar-static-side .nav li.active > a.menuItem,
.navbar-static-side .nav li.selected > a {
    background-color: #1677ff !important;
    color: #fff !important;
}

/* 收起侧边栏时弹出的子菜单 */
body.mini-navbar .navbar-static-side .nav-second-level,
body.mini-navbar .navbar-static-side .nav-third-level,
body.mini-navbar .navbar-static-side .nav-four-level {
    background-color: #001529 !important;
}

/* 页签滚动按钮 */
.content-tabs .roll-nav {
    color: #8c8c8c;
}

.content-tabs .roll-nav:hover {
    background-color: rgba(0, 0, 0, .045);
    color: #262626;
}

.content-tabs .roll-left {
    border-right-color: #f0f0f0;
}

.content-tabs .roll-right {
    border-left-color: #f0f0f0;
}

/* ==================== 十六、数据汇总页（main.html） ==================== */
/* 顶部信息栏：项目名称/状态/编辑入口 */
.main-project-title {
    color: #262626;
    font-size: 20px;
    font-weight: 600;
}

.main-project-status {
    color: #ff4d4f;
    font-size: 14px;
    font-weight: 400;
    margin-left: 8px;
}

.main-edit-link {
    color: #1677ff;
    cursor: pointer;
}

.main-edit-link:hover {
    color: #4096ff;
}

/* 顶部信息栏与状态卡片布局（原内联样式迁入，保持原布局） */
.vertical-center {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 10%;
}

.horizontal-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.status-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 140px;
    background-color: #fafafa;
    border-radius: 8px;
}

.status-title {
    font-size: 14px;
    color: #8c8c8c;
    margin-bottom: 8px;
}

.status-number {
    font-size: 32px;
    font-weight: 600;
    color: #262626;
}

/* 人员统计模块：顶部横排页签，antd Tabs 风格（底部 2px 蓝色指示条，style.min862f.css 后加载，需 !important） */
.main-stat-tabs .nav-tabs {
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 0 16px;
    background-color: #fff;
}

.main-stat-tabs .nav-tabs > li {
    float: left;
    margin-bottom: 0 !important;
}

.main-stat-tabs .nav-tabs > li > a {
    position: relative;
    color: #595959 !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
    margin-right: 24px !important;
    font-weight: 400;
}

.main-stat-tabs .nav-tabs > li > a:hover,
.main-stat-tabs .nav-tabs > li > a:focus {
    color: #1677ff !important;
    background-color: transparent !important;
}

.main-stat-tabs .nav-tabs > li.active > a,
.main-stat-tabs .nav-tabs > li.active > a:hover,
.main-stat-tabs .nav-tabs > li.active > a:focus {
    color: #1677ff !important;
    background-color: transparent !important;
    font-weight: 600;
}

/* 激活页签底部 2px 蓝色指示条 */
.main-stat-tabs .nav-tabs > li.active > a::after {
    content: '';
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: -1px;
    height: 2px;
    background-color: #1677ff;
    border-radius: 1px 1px 0 0;
}

/* 面板主体：白底无边框，flex 布局（左侧环形图 + 右侧统计卡） */
.main-stat-tabs .panel-body {
    border: none !important;
    border-radius: 0 0 8px 8px;
    padding: 20px 24px 24px !important;
}

.main-stat-body {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.main-stat-chart {
    flex: none;
    width: 150px;
    height: 150px;
    margin-right: 24px;
}

.main-stat-chart > div {
    width: 150px;
    height: 150px;
}

.main-stat-cards {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-wrap: wrap;
}

.main-stat-card {
    flex: 1;
    min-width: 140px;
    height: 110px;
    margin: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fafafa;
    border-radius: 8px;
    padding: 12px;
}

/* 区块标题（今日参建单位出勤情况等） */
.select-table h3 {
    color: #262626;
    font-weight: 600;
    font-size: 16px;
    margin: 10px 0 16px;
}

/* ============================================================
   十七、登录页（login.html）—— 农民工实名制管理平台
   ============================================================ */
/* 背景：工地实景图 + 深蓝渐变遮罩（覆盖 login.min.css 的 body.signin） */
body.signin {
    min-height: 100vh;
    background-color: #0b1e3c;
    background-image: linear-gradient(rgba(9, 30, 66, .86), rgba(9, 30, 66, .78)), url(../img/bg.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* 卡片容器：全屏 flex 居中 */
.signinpanel {
    width: auto;
    max-width: 920px;
    min-height: 100vh;
    margin: 0 auto;
    padding: 32px 20px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 白色主卡片：左品牌右表单双栏 */
.login-card {
    display: flex;
    width: 100%;
    min-height: 480px;
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 21, 41, .35);
}

/* ---- 左侧品牌区：深蓝渐变 ---- */
.login-brand {
    flex: 0 0 340px;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(160deg, #0b1e3c 0%, #12437f 100%);
    color: #fff;
}

.login-brand-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    color: #fff;
    background-color: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 14px;
}

.login-brand-title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 1px;
}

.login-brand-sub {
    margin-top: 10px;
    font-size: 14px;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, .65);
}

.login-brand-list {
    list-style: none;
    margin: 36px 0 0;
    padding: 0;
}

.login-brand-list li {
    margin-bottom: 18px;
    font-size: 14px;
    color: rgba(255, 255, 255, .85);
}

.login-brand-list li i {
    width: 24px;
    margin-right: 10px;
    color: #40a9ff;
}

/* ---- 右侧表单区：白底 ---- */
.login-main {
    flex: 1;
    min-width: 0;
    padding: 48px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-main form {
    width: 100%;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.login-form-title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: #262626;
}

.login-form-sub {
    margin: 8px 0 28px;
    font-size: 14px;
    color: #8c8c8c;
}

/* 输入框：antd Input 风格 */
.login-main .form-control {
    height: 40px !important;
    margin: 0 0 20px;
    padding: 6px 12px !important;
    font-size: 14px;
    color: #262626;
    border: 1px solid #d9d9d9;
    border-radius: 6px !important;
    background-color: #fff;
    transition: border-color .2s, box-shadow .2s;
}

.login-main .form-control:focus {
    border-color: #1677ff !important;
    box-shadow: 0 0 0 2px rgba(22, 119, 255, .15);
}

/* 验证码行 */
.login-captcha {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.login-captcha .form-control {
    flex: 1;
    margin: 0 12px 0 0;
}

.login-captcha-img {
    flex: none;
    display: block;
    line-height: 0;
}

.login-captcha-img img {
    height: 40px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
}

/* 记住我：antd Checkbox 风格 */
.login-main .checkbox-custom {
    margin: 0 0 24px;
    padding: 0 0 0 25px;
}

.login-main .checkbox-custom label {
    color: #595959;
}

.login-main .checkbox-custom label:before {
    border-radius: 4px;
    border-color: #d9d9d9;
}

.login-main .checkbox-custom input[type="checkbox"]:checked + label:after {
    color: #1677ff;
}

/* 登录按钮：antd 主色 */
.login-main .login-btn {
    height: 40px;
    font-size: 16px;
    letter-spacing: 6px;
    border-radius: 6px !important;
    background: #1677ff !important;
    border-color: #1677ff !important;
    box-shadow: none;
}

.login-main .login-btn:hover,
.login-main .login-btn:focus {
    background: #4096ff !important;
    border-color: #4096ff !important;
}

.login-main .login-btn:active {
    background: #0958d9 !important;
    border-color: #0958d9 !important;
}

/* 校验错误提示 */
.login-main label.error {
    margin: -12px 0 12px;
    display: block;
    font-size: 12px;
    color: #ff4d4f;
    text-align: left;
}

/* 移动端适配：单栏 */
@media screen and (max-width: 768px) {
    .signinpanel {
        padding: 16px;
    }

    .login-card {
        flex-direction: column;
        min-height: auto;
    }

    .login-brand {
        flex: none;
        padding: 28px 24px;
    }

    .login-brand-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 16px;
        font-size: 22px;
    }

    .login-brand-list {
        display: none;
    }

    .login-main {
        padding: 32px 24px;
    }
}
