/*
 * Skin: Element Plus
 * -----------
 */
:root {
  --ep-primary: #409EFF;
  --ep-primary-hover: #66B1FF;
  --ep-primary-active: #3A8EE6;
  --ep-primary-dark:   #337ECC;
  --ep-primary-light-3: #79BBFF;
  --ep-primary-light-5: #A0CFFF;
  --ep-primary-light-7: #C6E2FF;
  --ep-primary-light-8: #D9ECFF;
  --ep-primary-light-9: #ECF5FF;
  --ep-link:           #2B6CB5;
  --ep-success: #67C23A;
  --ep-success-dark: #529B2E;
  --ep-success-light: #E1F3D8;
  --ep-success-light-8: #F0F9EB;
  --ep-warning: #E6A23C;
  --ep-warning-dark: #B88230;
  --ep-warning-light: #FAECD8;
  --ep-warning-light-8: #FDF6EC;
  --ep-danger: #F56C6C;
  --ep-danger-dark: #C45656;
  --ep-danger-light: #FDE2E2;
  --ep-danger-light-8: #FEF0F0;
  --ep-info: #909399;
  --ep-info-dark: #73767A;
  --ep-info-light: #E9E9EB;
  --ep-info-light-8: #F4F4F5;
  --ep-bg: #FFFFFF;
  --ep-page-bg: #F2F3F5;
  --ep-text: #303133;
  --ep-text-regular: #606266;
  --ep-text-secondary: #909399;
  --ep-text-placeholder: #C0C4CC;
  --ep-border: #DCDFE6;
  --ep-border-lighter: #EBEEF5;
  --ep-border-extra-light: #F2F6FC;
  --ep-radius: 4px;
  --ep-shadow-light: 0 2px 12px 0 rgba(0, 0, 0, .1);
}
.skin-element-plus .main-header .navbar-toggle { color: #333; }
.skin-element-plus .main-header .navbar-brand { color: #333; border-right: 1px solid #DCDFE6; }
.skin-element-plus .main-header .navbar { background-color: #fff; }
.skin-element-plus .main-header .navbar .nav > li > a { color: #444; }
.skin-element-plus .main-header .navbar .nav > li > a:hover,
.skin-element-plus .main-header .navbar .nav > li > a:active,
.skin-element-plus .main-header .navbar .nav > li > a:focus,
.skin-element-plus .main-header .navbar .nav .open > a,
.skin-element-plus .main-header .navbar .nav .open > a:hover,
.skin-element-plus .main-header .navbar .nav .open > a:focus,
.skin-element-plus .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, .02); color: #409EFF; }
.skin-element-plus .main-header .navbar .nav-addtabs li > .close-tab { color: #409EFF; }
.skin-element-plus .main-header .navbar .sidebar-toggle { color: #444; }
.skin-element-plus .main-header .navbar .sidebar-toggle:hover { color: #409EFF; background: rgba(0, 0, 0, .02); }
.skin-element-plus .main-header .navbar > .sidebar-toggle { color: #333; border-right: 1px solid #DCDFE6; }
.skin-element-plus .main-header .navbar .navbar-nav > li > a { border-right: 1px solid #DCDFE6; }
.skin-element-plus .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
.skin-element-plus .main-header .navbar .navbar-right > li > a { border-left: 1px solid #DCDFE6; border-left: none; border-right-width: 0; }
.skin-element-plus .main-header > .logo { background-color: #409EFF; color: #fff; border-bottom: 0 solid transparent; border-right: 1px solid #409EFF; box-shadow: none; }
.skin-element-plus .main-header > .logo:hover { background-color: #66B1FF; }
@media (max-width: 767px) {
  .skin-element-plus .main-header > .logo { background-color: #fff; color: #222; border-bottom: 0 solid transparent; border-right: none; }
  .skin-element-plus .main-header > .logo:hover { background-color: #fcfcfc; }
}
.skin-element-plus .main-header li.user-header { background-color: #409EFF; }
.skin-element-plus .main-header .nav-addtabs > li > a,
.skin-element-plus .main-header .nav-addtabs > li.active > a { border-right-color: transparent; }
.skin-element-plus .content-header { background: transparent; box-shadow: none; }
.skin-element-plus .wrapper,
.skin-element-plus .main-sidebar,
.skin-element-plus .left-side { background-color: #409EFF; }
.skin-element-plus .user-panel > .info,
.skin-element-plus .user-panel > .info > a { color: #fff; }
.skin-element-plus .sidebar-menu .treeview-menu { padding-left: 3px; }
.skin-element-plus .sidebar-menu > li.header { color: rgba(255, 255, 255, .7); background: #3A8EE6; }
.skin-element-plus .sidebar-menu > li:hover > a,
.skin-element-plus .sidebar-menu > li.active > a { color: #fff; background: #3A8EE6; border-left-color: #fff; }
.skin-element-plus .sidebar-menu > li > .treeview-menu { background: #3A8EE6; }
.skin-element-plus .sidebar a { color: rgba(255, 255, 255, .85); }
.skin-element-plus .sidebar a:hover { text-decoration: none; }
.skin-element-plus .treeview-menu > li > a { color: rgba(255, 255, 255, .85); }
.skin-element-plus .treeview-menu > li.active > a,
.skin-element-plus .treeview-menu > li > a:hover { color: #fff; }
.skin-element-plus .sidebar-form { border-radius: 4px; border: 1px solid #79BBFF; background-color: #79BBFF; margin: 10px 10px; }
.skin-element-plus .sidebar-form input[type="text"],
.skin-element-plus .sidebar-form .btn { box-shadow: none; background-color: #79BBFF; border: 1px solid transparent; height: 35px; }
.skin-element-plus .sidebar-form input[type="text"] { color: #666; border-top-left-radius: 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 4px; }
.skin-element-plus .sidebar-form input[type="text"]:focus,
.skin-element-plus .sidebar-form input[type="text"]:focus + .input-group-btn .btn { background-color: #fff; color: #666; }
.skin-element-plus .sidebar-form input[type="text"]:focus + .input-group-btn { background: #fff; border-top-left-radius: 0; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 0; }
.skin-element-plus .sidebar-form input[type="text"]:focus + .input-group-btn .btn { border-left-color: #fff; }
.skin-element-plus .sidebar-form .btn { color: #999; border-top-left-radius: 0; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 0; }
.skin-element-plus .sidebar-menu > li > a { border-left: 3px solid transparent; padding-left: 12px; }
.skin-element-plus .sidebar-menu > li.menu-open > a,
.skin-element-plus .sidebar-menu > li.menu-open:hover > a { color: #fff; background: #3A8EE6; border-left-color: #fff; }
.skin-element-plus .sidebar-menu li.treeview > a { background: transparent; border-left-color: transparent; }
.skin-element-plus .sidebar-menu li.treeview.active > a,
.skin-element-plus .sidebar-menu li.treeview.treeview-open > a { color: #fff; background-color: #3580CF; border-left-color: #3580CF; }
.skin-element-plus .treeview-menu > li > a { padding-left: 18px; }
.skin-element-plus .treeview-menu .treeview-menu > li > a { padding-left: 30px; }
.skin-element-plus .treeview-menu .treeview-menu .treeview-menu > li > a { padding-left: 40px; }
.skin-element-plus .treeview-menu > li.active > a,
.skin-element-plus .treeview-menu > li > a:hover { color: #fff; background-color: #3580CF; }
@media (min-width: 768px) {
  .skin-element-plus.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right) { margin-left: -3px; }
}
.skin-element-plus .sidebar-form input[type="text"]::-moz-placeholder { color: #fff; opacity: 1; }
.skin-element-plus .sidebar-form input[type="text"]:-ms-input-placeholder { color: #fff; }
.skin-element-plus .sidebar-form input[type="text"]::-webkit-input-placeholder { color: #fff; }
.skin-element-plus .sidebar-form input[type="text"],
.skin-element-plus .sidebar-form .btn { color: #fff; }
@media (max-width: 767px) {
  .skin-element-plus.multiplenav .main-header .navbar { background-color: #409EFF; }
  .skin-element-plus.multiplenav .main-header .navbar .nav > li > a { color: #fff; }
  .skin-element-plus.multiplenav .main-header .navbar .nav > li > a:hover,
  .skin-element-plus.multiplenav .main-header .navbar .nav > li > a:active,
  .skin-element-plus.multiplenav .main-header .navbar .nav > li > a:focus,
  .skin-element-plus.multiplenav .main-header .navbar .nav .open > a,
  .skin-element-plus.multiplenav .main-header .navbar .nav .open > a:hover,
  .skin-element-plus.multiplenav .main-header .navbar .nav .open > a:focus,
  .skin-element-plus.multiplenav .main-header .navbar .nav > .active > a { background: rgba(0, 0, 0, .1); color: #f6f6f6; }
  .skin-element-plus.multiplenav .main-header .navbar .nav-addtabs li > .close-tab { color: #f6f6f6; }
  .skin-element-plus.multiplenav .main-header .navbar .sidebar-toggle { color: #fff; }
  .skin-element-plus.multiplenav .main-header .navbar .sidebar-toggle:hover { color: #f6f6f6; background: rgba(0, 0, 0, .1); }
  .skin-element-plus.multiplenav .main-header > .logo { background-color: #409EFF; color: #fff; border-bottom: 0 solid transparent; }
  .skin-element-plus.multiplenav .main-header > .logo:hover { background-color: #66B1FF; }
  .skin-element-plus.multiplenav .sidebar .mobilenav a.btn-app { background: #79BBFF; color: #fff; }
  .skin-element-plus.multiplenav .sidebar .mobilenav a.btn-app.active { background: #fff; color: #79BBFF; }
}

/* ============ 组件层覆盖：全局 Element Plus 主题化 ============ */

/* —— 全局基础 —— */
/*
 * 链接用深色蓝 (--ep-link: #2B6CB5)，白底上对比度 >= 4.8:1
 * --ep-primary (#409EFF) 只用于填充背景（按钮/标签/进度条等）
 */
.skin-element-plus a { color: var(--ep-link); }
.skin-element-plus a:hover,
.skin-element-plus a:focus { color: var(--ep-primary); }
.skin-element-plus .btn-link { color: var(--ep-link) !important; }
.skin-element-plus .btn-link:hover { color: var(--ep-primary) !important; }

/* —— 默认按钮 (EP default / plain button) —— */
.skin-element-plus .btn-default { color: var(--ep-text-regular) !important; background-color: #fff !important; border-color: var(--ep-border) !important; }
.skin-element-plus .btn-default:hover,
.skin-element-plus .btn-default:focus,
.skin-element-plus .btn-default.focus { color: var(--ep-primary) !important; background-color: var(--ep-primary-light-9) !important; border-color: var(--ep-primary-light-5) !important; }
.skin-element-plus .btn-default:active,
.skin-element-plus .btn-default.active,
.skin-element-plus .open > .dropdown-toggle.btn-default { color: var(--ep-primary-dark) !important; background-color: var(--ep-primary-light-7) !important; border-color: var(--ep-primary-dark) !important; }

/* —— 主色按钮 (EP primary filled) —— */
.skin-element-plus .btn-primary,
.skin-element-plus .btn-primary.disabled,
.skin-element-plus .btn-primary[disabled],
.skin-element-plus fieldset[disabled] .btn-primary { color: #fff !important; background-color: var(--ep-primary) !important; border-color: var(--ep-primary) !important; }
.skin-element-plus .btn-primary:focus,
.skin-element-plus .btn-primary.focus { color: #fff !important; background-color: var(--ep-primary-active) !important; border-color: var(--ep-primary-active) !important; }
.skin-element-plus .btn-primary:hover { color: #fff !important; background-color: var(--ep-primary-hover) !important; border-color: var(--ep-primary-hover) !important; }
.skin-element-plus .btn-primary:active,
.skin-element-plus .btn-primary.active,
.skin-element-plus .open > .dropdown-toggle.btn-primary { color: #fff !important; background-color: var(--ep-primary-active) !important; border-color: var(--ep-primary-active) !important; }
.skin-element-plus .btn-primary:active:hover,
.skin-element-plus .btn-primary.active:hover,
.skin-element-plus .open > .dropdown-toggle.btn-primary:hover,
.skin-element-plus .btn-primary:active:focus,
.skin-element-plus .btn-primary.active:focus,
.skin-element-plus .open > .dropdown-toggle.btn-primary:focus,
.skin-element-plus .btn-primary:active.focus,
.skin-element-plus .btn-primary.active.focus,
.skin-element-plus .open > .dropdown-toggle.btn-primary.focus { color: #fff !important; background-color: var(--ep-primary-dark) !important; border-color: var(--ep-primary-dark) !important; }
.skin-element-plus .btn-primary .badge { color: var(--ep-primary) !important; background-color: #fff !important; }

/* —— 成功按钮 —— */
.skin-element-plus .btn-success,
.skin-element-plus .btn-success.disabled,
.skin-element-plus .btn-success[disabled],
.skin-element-plus fieldset[disabled] .btn-success { color: #fff !important; background-color: var(--ep-success) !important; border-color: var(--ep-success) !important; }
.skin-element-plus .btn-success:focus,
.skin-element-plus .btn-success.focus { color: #fff !important; background-color: var(--ep-success-dark) !important; border-color: var(--ep-success-dark) !important; }
.skin-element-plus .btn-success:hover { color: #fff !important; background-color: #5DAF31 !important; border-color: #53A32D !important; }
.skin-element-plus .btn-success:active,
.skin-element-plus .btn-success.active,
.skin-element-plus .open > .dropdown-toggle.btn-success { color: #fff !important; background-color: var(--ep-success-dark) !important; border-color: var(--ep-success-dark) !important; }
.skin-element-plus .btn-success .badge { color: var(--ep-success) !important; background-color: #fff !important; }

/* —— 警告按钮 —— */
.skin-element-plus .btn-warning,
.skin-element-plus .btn-warning.disabled,
.skin-element-plus .btn-warning[disabled],
.skin-element-plus fieldset[disabled] .btn-warning { color: #fff !important; background-color: var(--ep-warning) !important; border-color: var(--ep-warning) !important; }
.skin-element-plus .btn-warning:focus,
.skin-element-plus .btn-warning.focus { color: #fff !important; background-color: var(--ep-warning-dark) !important; border-color: var(--ep-warning-dark) !important; }
.skin-element-plus .btn-warning:hover { color: #fff !important; background-color: #D1922D !important; border-color: #C78A2B !important; }
.skin-element-plus .btn-warning:active,
.skin-element-plus .btn-warning.active,
.skin-element-plus .open > .dropdown-toggle.btn-warning { color: #fff !important; background-color: var(--ep-warning-dark) !important; border-color: var(--ep-warning-dark) !important; }
.skin-element-plus .btn-warning .badge { color: var(--ep-warning) !important; background-color: #fff !important; }

/* —— 危险按钮 —— */
.skin-element-plus .btn-danger,
.skin-element-plus .btn-danger.disabled,
.skin-element-plus .btn-danger[disabled],
.skin-element-plus fieldset[disabled] .btn-danger { color: #fff !important; background-color: var(--ep-danger) !important; border-color: var(--ep-danger) !important; }
.skin-element-plus .btn-danger:focus,
.skin-element-plus .btn-danger.focus { color: #fff !important; background-color: var(--ep-danger-dark) !important; border-color: var(--ep-danger-dark) !important; }
.skin-element-plus .btn-danger:hover { color: #fff !important; background-color: #E85B5B !important; border-color: #E45555 !important; }
.skin-element-plus .btn-danger:active,
.skin-element-plus .btn-danger.active,
.skin-element-plus .open > .dropdown-toggle.btn-danger { color: #fff !important; background-color: var(--ep-danger-dark) !important; border-color: var(--ep-danger-dark) !important; }
.skin-element-plus .btn-danger .badge { color: var(--ep-danger) !important; background-color: #fff !important; }

/* —— 信息按钮 —— */
.skin-element-plus .btn-info,
.skin-element-plus .btn-info.disabled,
.skin-element-plus .btn-info[disabled],
.skin-element-plus fieldset[disabled] .btn-info { color: #fff !important; background-color: var(--ep-info) !important; border-color: var(--ep-info) !important; }
.skin-element-plus .btn-info:focus,
.skin-element-plus .btn-info.focus { color: #fff !important; background-color: var(--ep-info-dark) !important; border-color: var(--ep-info-dark) !important; }
.skin-element-plus .btn-info:hover { color: #fff !important; background-color: #82848A !important; border-color: #7C7E84 !important; }
.skin-element-plus .btn-info:active,
.skin-element-plus .btn-info.active,
.skin-element-plus .open > .dropdown-toggle.btn-info { color: #fff !important; background-color: var(--ep-info-dark) !important; border-color: var(--ep-info-dark) !important; }
.skin-element-plus .btn-info .badge { color: var(--ep-info) !important; background-color: #fff !important; }

/* —— 标签 & 徽章 —— */
.skin-element-plus .label-primary,
.skin-element-plus .label-primary:hover,
.skin-element-plus .badge-primary { color: #fff; background-color: var(--ep-primary); }
.skin-element-plus .label-success,
.skin-element-plus .label-success:hover,
.skin-element-plus .badge-success { color: #fff; background-color: var(--ep-success); }
.skin-element-plus .label-warning,
.skin-element-plus .label-warning:hover,
.skin-element-plus .badge-warning { color: #fff; background-color: var(--ep-warning); }
.skin-element-plus .label-danger,
.skin-element-plus .label-danger:hover,
.skin-element-plus .badge-danger { color: #fff; background-color: var(--ep-danger); }
.skin-element-plus .label-info,
.skin-element-plus .label-info:hover,
.skin-element-plus .badge-info { color: #fff; background-color: var(--ep-info); }
.skin-element-plus .badge { color: #fff; background-color: var(--ep-text-secondary); }

/* —— 背景色工具类（保持白色文字） —— */
.skin-element-plus .bg-primary { color: #fff !important; background-color: var(--ep-primary) !important; }
.skin-element-plus .bg-success { color: #fff !important; background-color: var(--ep-success) !important; }
.skin-element-plus .bg-warning { color: #fff !important; background-color: var(--ep-warning) !important; }
.skin-element-plus .bg-danger  { color: #fff !important; background-color: var(--ep-danger) !important; }
.skin-element-plus .bg-info    { color: #fff !important; background-color: var(--ep-info) !important; }

/* —— 文本色工具类（用深色变体以增强白底对比度） —— */
.skin-element-plus .text-primary { color: var(--ep-link) !important; }
.skin-element-plus .text-success { color: var(--ep-success-dark) !important; }
.skin-element-plus .text-warning { color: var(--ep-warning-dark) !important; }
.skin-element-plus .text-danger  { color: var(--ep-danger-dark) !important; }
.skin-element-plus .text-info    { color: var(--ep-info-dark) !important; }

/* —— 表格 —— */
.skin-element-plus .table-striped > tbody > tr:nth-of-type(odd) { background-color: var(--ep-border-extra-light); }
.skin-element-plus .table-hover > tbody > tr:hover { background-color: var(--ep-border-lighter); }
.skin-element-plus .table > thead > tr > th { color: var(--ep-text-regular); border-bottom-color: var(--ep-border); }
.skin-element-plus .table-bordered,
.skin-element-plus .table-bordered > thead > tr > th,
.skin-element-plus .table-bordered > tbody > tr > th,
.skin-element-plus .table-bordered > tfoot > tr > th,
.skin-element-plus .table-bordered > thead > tr > td,
.skin-element-plus .table-bordered > tbody > tr > td,
.skin-element-plus .table-bordered > tfoot > tr > td { border-color: var(--ep-border-lighter); }

/* —— 分页 —— */
.skin-element-plus .pagination > li > a,
.skin-element-plus .pagination > li > span { color: var(--ep-link); }
.skin-element-plus .pagination > .active > a,
.skin-element-plus .pagination > .active > span,
.skin-element-plus .pagination > .active > a:hover,
.skin-element-plus .pagination > .active > span:hover,
.skin-element-plus .pagination > .active > a:focus,
.skin-element-plus .pagination > .active > span:focus { color: #fff !important; background-color: var(--ep-primary); border-color: var(--ep-primary); }
.skin-element-plus .pagination > li > a:hover,
.skin-element-plus .pagination > li > span:hover,
.skin-element-plus .pagination > li > a:focus,
.skin-element-plus .pagination > li > span:focus { color: var(--ep-primary); }

/* —— 表单 —— */
.skin-element-plus .form-control:focus { border-color: var(--ep-primary); -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(64,158,255,.4); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(64,158,255,.4); }
.skin-element-plus .has-success .help-block,
.skin-element-plus .has-success .control-label,
.skin-element-plus .has-success .radio,
.skin-element-plus .has-success .checkbox,
.skin-element-plus .has-success .radio-inline,
.skin-element-plus .has-success .checkbox-inline,
.skin-element-plus .has-success.radio label,
.skin-element-plus .has-success.checkbox label,
.skin-element-plus .has-success.radio-inline label,
.skin-element-plus .has-success.checkbox-inline label { color: var(--ep-success-dark); }
.skin-element-plus .has-success .form-control { border-color: var(--ep-success); }
.skin-element-plus .has-success .form-control:focus { border-color: #4C9A2B; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(103,194,58,.4); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(103,194,58,.4); }
.skin-element-plus .has-success .input-group-addon { color: var(--ep-success-dark); border-color: var(--ep-success); background-color: var(--ep-success-light-8); }
.skin-element-plus .has-success .form-control-feedback { color: var(--ep-success-dark); }
.skin-element-plus .has-warning .help-block,
.skin-element-plus .has-warning .control-label,
.skin-element-plus .has-warning .radio,
.skin-element-plus .has-warning .checkbox,
.skin-element-plus .has-warning .radio-inline,
.skin-element-plus .has-warning .checkbox-inline,
.skin-element-plus .has-warning.radio label,
.skin-element-plus .has-warning.checkbox label,
.skin-element-plus .has-warning.radio-inline label,
.skin-element-plus .has-warning.checkbox-inline label { color: var(--ep-warning-dark); }
.skin-element-plus .has-warning .form-control { border-color: var(--ep-warning); }
.skin-element-plus .has-warning .form-control:focus { border-color: #C08025; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(230,162,60,.4); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(230,162,60,.4); }
.skin-element-plus .has-warning .input-group-addon { color: var(--ep-warning-dark); border-color: var(--ep-warning); background-color: var(--ep-warning-light-8); }
.skin-element-plus .has-warning .form-control-feedback { color: var(--ep-warning-dark); }
.skin-element-plus .has-error .help-block,
.skin-element-plus .has-error .control-label,
.skin-element-plus .has-error .radio,
.skin-element-plus .has-error .checkbox,
.skin-element-plus .has-error .radio-inline,
.skin-element-plus .has-error .checkbox-inline,
.skin-element-plus .has-error.radio label,
.skin-element-plus .has-error.checkbox label,
.skin-element-plus .has-error.radio-inline label,
.skin-element-plus .has-error.checkbox-inline label { color: var(--ep-danger-dark); }
.skin-element-plus .has-error .form-control { border-color: var(--ep-danger); }
.skin-element-plus .has-error .form-control:focus { border-color: #E05050; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(245,108,108,.4); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px rgba(245,108,108,.4); }
.skin-element-plus .has-error .input-group-addon { color: var(--ep-danger-dark); border-color: var(--ep-danger); background-color: var(--ep-danger-light-8); }
.skin-element-plus .has-error .form-control-feedback { color: var(--ep-danger-dark); }

/* —— 下拉菜单 —— */
.skin-element-plus .dropdown-menu > .active > a,
.skin-element-plus .dropdown-menu > .active > a:hover,
.skin-element-plus .dropdown-menu > .active > a:focus { color: #fff; background-color: var(--ep-primary); }

/* —— 导航 —— */
.skin-element-plus .nav-pills > li.active > a,
.skin-element-plus .nav-pills > li.active > a:hover,
.skin-element-plus .nav-pills > li.active > a:focus { color: #fff; background-color: var(--ep-primary); }
.skin-element-plus .nav-pills > .active > a > .badge { color: var(--ep-primary); }
.skin-element-plus .nav-tabs > li.active > a,
.skin-element-plus .nav-tabs > li.active > a:hover,
.skin-element-plus .nav-tabs > li.active > a:focus { color: var(--ep-link); font-weight: 600; }
.skin-element-plus .nav-tabs > li > a:hover { color: var(--ep-primary); }
.skin-element-plus .nav-tabs-custom > .nav-tabs > li.active { border-top-color: var(--ep-primary); }

/* —— 列表组 —— */
.skin-element-plus .list-group-item.active,
.skin-element-plus .list-group-item.active:hover,
.skin-element-plus .list-group-item.active:focus { color: #fff; background-color: var(--ep-primary); border-color: var(--ep-primary); }
.skin-element-plus .list-group-item.active > .badge { color: var(--ep-primary); }
.skin-element-plus a.list-group-item:hover { color: var(--ep-primary); }

/* —— 进度条 —— */
.skin-element-plus .progress-bar { background-color: var(--ep-primary); }
.skin-element-plus .progress-bar-success { background-color: var(--ep-success); }
.skin-element-plus .progress-bar-warning { background-color: var(--ep-warning); }
.skin-element-plus .progress-bar-danger  { background-color: var(--ep-danger); }
.skin-element-plus .progress-bar-info    { background-color: var(--ep-info); }
.skin-element-plus .progress-bar-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); }

/* —— Alert —— */
.skin-element-plus .alert-success { color: var(--ep-success-dark); background-color: var(--ep-success-light-8); border-color: var(--ep-success-light); }
.skin-element-plus .alert-success .alert-link { color: #4C9A2B; }
.skin-element-plus .alert-info    { color: var(--ep-info-dark); background-color: var(--ep-info-light-8); border-color: var(--ep-info-light); }
.skin-element-plus .alert-info .alert-link    { color: #6B6E73; }
.skin-element-plus .alert-warning { color: var(--ep-warning-dark); background-color: var(--ep-warning-light-8); border-color: var(--ep-warning-light); }
.skin-element-plus .alert-warning .alert-link { color: #A07020; }
.skin-element-plus .alert-danger  { color: var(--ep-danger-dark); background-color: var(--ep-danger-light-8); border-color: var(--ep-danger-light); }
.skin-element-plus .alert-danger .alert-link  { color: #D05050; }

/* —— 模态框 —— */
.skin-element-plus .modal-primary .modal-header { background-color: var(--ep-primary); color: #fff; }
.skin-element-plus .modal-success .modal-header { background-color: var(--ep-success); color: #fff; }
.skin-element-plus .modal-warning .modal-header { background-color: var(--ep-warning); color: #fff; }
.skin-element-plus .modal-danger  .modal-header { background-color: var(--ep-danger); color: #fff; }
.skin-element-plus .modal-info    .modal-header { background-color: var(--ep-info); color: #fff; }

/* —— Box 卡片 —— */
.skin-element-plus .box.box-primary { border-top-color: var(--ep-primary); }
.skin-element-plus .box.box-success { border-top-color: var(--ep-success); }
.skin-element-plus .box.box-warning { border-top-color: var(--ep-warning); }
.skin-element-plus .box.box-danger  { border-top-color: var(--ep-danger); }
.skin-element-plus .box.box-info    { border-top-color: var(--ep-info); }
.skin-element-plus .box.box-solid.box-primary > .box-header { color: #fff; background: var(--ep-primary); }
.skin-element-plus .box.box-solid.box-primary { border-color: var(--ep-primary); }
.skin-element-plus .box.box-solid.box-success > .box-header { color: #fff; background: var(--ep-success); }
.skin-element-plus .box.box-solid.box-success { border-color: var(--ep-success); }
.skin-element-plus .box.box-solid.box-warning > .box-header { color: #fff; background: var(--ep-warning); }
.skin-element-plus .box.box-solid.box-warning { border-color: var(--ep-warning); }
.skin-element-plus .box.box-solid.box-danger > .box-header { color: #fff; background: var(--ep-danger); }
.skin-element-plus .box.box-solid.box-danger { border-color: var(--ep-danger); }
.skin-element-plus .box.box-solid.box-info > .box-header { color: #fff; background: var(--ep-info); }
.skin-element-plus .box.box-solid.box-info { border-color: var(--ep-info); }

/* —— Callout —— */
.skin-element-plus .callout.callout-primary { border-left-color: var(--ep-primary); }
.skin-element-plus .callout.callout-success { border-left-color: var(--ep-success); }
.skin-element-plus .callout.callout-warning { border-left-color: var(--ep-warning); }
.skin-element-plus .callout.callout-danger  { border-left-color: var(--ep-danger); }
.skin-element-plus .callout.callout-info    { border-left-color: var(--ep-info); }

/* —— 面板（Element Plus Card 风格） —— */
/* 基础面板 */
.skin-element-plus .panel {
    border-color: var(--ep-border-lighter);
    box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);
}
.skin-element-plus .panel > .panel-heading {
    background-color: #fff;
    border-bottom: 1px solid var(--ep-border-lighter);
    color: var(--ep-text);
}
.skin-element-plus .panel > .panel-heading .panel-title {
    color: var(--ep-text);
}
.skin-element-plus .panel > .panel-heading .panel-title a {
    color: var(--ep-text);
}
.skin-element-plus .panel > .panel-heading .panel-title a:hover {
    color: var(--ep-primary);
}
.skin-element-plus .panel-body {
    color: var(--ep-text-regular);
}
.skin-element-plus .panel-footer {
    background-color: #FAFAFA;
    border-top-color: var(--ep-border-lighter);
    color: var(--ep-text-secondary);
}

/* panel-default */
.skin-element-plus .panel-default { border-color: var(--ep-border-lighter); }
.skin-element-plus .panel-default > .panel-heading {
    background-color: #F5F7FA;
    border-bottom-color: var(--ep-border-lighter);
    color: var(--ep-text);
}
.skin-element-plus .panel-default > .panel-heading .panel-title {
    color: var(--ep-text);
}
.skin-element-plus .panel-default > .panel-heading .panel-title a {
    color: var(--ep-text);
}
.skin-element-plus .panel-default > .panel-heading .panel-title a:hover {
    color: var(--ep-primary);
}

/* panel-primary — 实心头部 */
.skin-element-plus .panel-primary { border-color: var(--ep-primary); }
.skin-element-plus .panel-primary > .panel-heading {
    background-color: var(--ep-primary);
    border-bottom: 1px solid var(--ep-primary-active);
    color: rgba(255,255,255,.95);
}
.skin-element-plus .panel-primary > .panel-heading .panel-title { color: #fff; }
.skin-element-plus .panel-primary > .panel-heading .panel-title a,
.skin-element-plus .panel-primary > .panel-heading .panel-title a:hover { color: #fff; }

/* panel-success — 实心头部 */
.skin-element-plus .panel-success { border-color: var(--ep-success); }
.skin-element-plus .panel-success > .panel-heading {
    background-color: var(--ep-success);
    border-bottom: 1px solid var(--ep-success-dark);
    color: rgba(255,255,255,.95);
}
.skin-element-plus .panel-success > .panel-heading .panel-title { color: #fff; }
.skin-element-plus .panel-success > .panel-heading .panel-title a,
.skin-element-plus .panel-success > .panel-heading .panel-title a:hover { color: #fff; }

/* panel-warning — 实心头部 */
.skin-element-plus .panel-warning { border-color: var(--ep-warning); }
.skin-element-plus .panel-warning > .panel-heading {
    background-color: var(--ep-warning);
    border-bottom: 1px solid var(--ep-warning-dark);
    color: rgba(255,255,255,.95);
}
.skin-element-plus .panel-warning > .panel-heading .panel-title { color: #fff; }
.skin-element-plus .panel-warning > .panel-heading .panel-title a,
.skin-element-plus .panel-warning > .panel-heading .panel-title a:hover { color: #fff; }

/* panel-danger — 实心头部 */
.skin-element-plus .panel-danger { border-color: var(--ep-danger); }
.skin-element-plus .panel-danger > .panel-heading {
    background-color: var(--ep-danger);
    border-bottom: 1px solid var(--ep-danger-dark);
    color: rgba(255,255,255,.95);
}
.skin-element-plus .panel-danger > .panel-heading .panel-title { color: #fff; }
.skin-element-plus .panel-danger > .panel-heading .panel-title a,
.skin-element-plus .panel-danger > .panel-heading .panel-title a:hover { color: #fff; }

/* panel-info — 实心头部 */
.skin-element-plus .panel-info { border-color: var(--ep-info); }
.skin-element-plus .panel-info > .panel-heading {
    background-color: var(--ep-info);
    border-bottom: 1px solid var(--ep-info-dark);
    color: rgba(255,255,255,.95);
}
.skin-element-plus .panel-info > .panel-heading .panel-title { color: #fff; }
.skin-element-plus .panel-info > .panel-heading .panel-title a,
.skin-element-plus .panel-info > .panel-heading .panel-title a:hover { color: #fff; }

/* panel-heading 内工具链接保持标题色不变 */
.skin-element-plus .panel > .panel-heading a { color: inherit; }
.skin-element-plus .panel > .panel-heading a:hover { opacity: .75; }

/* panel 内嵌 table 收尾 */
.skin-element-plus .panel > .table,
.skin-element-plus .panel > .table-responsive > .table { border-radius: 0; }

/* —— 面包屑 —— */
.skin-element-plus .breadcrumb > .active { color: var(--ep-text-secondary); }
.skin-element-plus .breadcrumb > li + li:before { color: var(--ep-text-placeholder); }

/* —— 开关 —— */
.skin-element-plus .has-switch.switch-on label,
.skin-element-plus .has-switch.switch-on span { background-color: var(--ep-primary) !important; border-color: var(--ep-primary) !important; }

/* —— Select2 —— */
.skin-element-plus .select2-container--default .select2-selection:focus,
.skin-element-plus .select2-container--default.select2-container--focus .select2-selection { border-color: var(--ep-primary) !important; }
.skin-element-plus .select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background-color: var(--ep-primary); }
.skin-element-plus .select2-container--default .select2-results__option[aria-selected=true] { background-color: var(--ep-border-lighter); }

/* —— Toastr 通知 —— */
.skin-element-plus .toast-primary { background-color: var(--ep-primary) !important; }
.skin-element-plus .toast-success { background-color: var(--ep-success) !important; }
.skin-element-plus .toast-warning { background-color: var(--ep-warning) !important; }
.skin-element-plus .toast-error   { background-color: var(--ep-danger) !important; }
.skin-element-plus .toast-info    { background-color: var(--ep-info) !important; }
.skin-element-plus .toast-inverse { background-color: var(--ep-text) !important; }
.skin-element-plus .toast-default { background-color: var(--ep-text-regular) !important; }

/* —— Layer 弹窗按钮 —— */
.skin-element-plus .layui-layer-btn .layui-layer-btn0 { color: #fff !important; background-color: var(--ep-primary) !important; border-color: var(--ep-primary) !important; }
.skin-element-plus .layui-layer-btn .layui-layer-btn1 { color: var(--ep-text-regular) !important; background-color: #fff !important; border-color: var(--ep-border) !important; }

/* —— 表单元素杂项 —— */
.skin-element-plus input[type="radio"]:checked:before { background: var(--ep-primary); }
.skin-element-plus input[type="checkbox"]:checked:before { color: var(--ep-primary); }
.skin-element-plus .input-group-addon { color: var(--ep-text-secondary); background-color: #F5F7FA; border-color: var(--ep-border); }

/* —— Bootstrap-select / Chosen —— */
.skin-element-plus .bootstrap-select.btn-group .dropdown-menu li.selected a,
.skin-element-plus .chosen-container .chosen-results li.highlighted { color: #fff !important; background-color: var(--ep-primary) !important; }
.skin-element-plus .bootstrap-select.btn-group .dropdown-menu li.selected a:hover,
.skin-element-plus .chosen-container .chosen-results li.result-selected,
.skin-element-plus .chosen-container .chosen-results li.result-selected.highlighted { color: var(--ep-text-regular) !important; background-color: var(--ep-border-lighter) !important; }

/* —— 日期时间选择器 —— */
.skin-element-plus .bootstrap-datetimepicker-widget table td.active,
.skin-element-plus .bootstrap-datetimepicker-widget table td.active:hover,
.skin-element-plus .bootstrap-datetimepicker-widget table td span.active { color: #fff !important; background-color: var(--ep-primary) !important; }
.skin-element-plus .bootstrap-datetimepicker-widget table td.today:before { border-bottom-color: var(--ep-primary) !important; }
.skin-element-plus .bootstrap-datetimepicker-widget table td span:hover,
.skin-element-plus .bootstrap-datetimepicker-widget table td.day:hover,
.skin-element-plus .bootstrap-datetimepicker-widget table td.hour:hover,
.skin-element-plus .bootstrap-datetimepicker-widget table td.minute:hover,
.skin-element-plus .bootstrap-datetimepicker-widget table td.second:hover { background: var(--ep-border-lighter); }

/* —— 文本排版 —— */
.skin-element-plus mark,
.skin-element-plus .mark { background-color: var(--ep-warning-light); color: var(--ep-warning-dark); }
.skin-element-plus blockquote { border-left-color: var(--ep-border); color: var(--ep-text-secondary); }
.skin-element-plus hr { border-top-color: var(--ep-border-lighter); }
.skin-element-plus legend { color: var(--ep-text); border-bottom-color: var(--ep-border-lighter); }

/* —— Well / Jumbotron —— */
.skin-element-plus .well { background-color: var(--ep-border-lighter); border-color: var(--ep-border); }
.skin-element-plus .well blockquote { border-color: var(--ep-border); }
.skin-element-plus .jumbotron { background-color: var(--ep-border-extra-light); }

/* —— 缩略图 —— */
.skin-element-plus .thumbnail { border-color: var(--ep-border); }

/* —— 关闭按钮 —— */
.skin-element-plus .close:hover,
.skin-element-plus .close:focus { color: var(--ep-danger); }

/* —— 提示框 —— */
.skin-element-plus .popover-title { color: var(--ep-text); background-color: #F5F7FA; border-bottom-color: var(--ep-border); }
.skin-element-plus .popover.top > .arrow:after { border-top-color: #F5F7FA; }

/* ============ 全局圆角统一：Element Plus border-radius: 4px ============ */
.skin-element-plus .btn,
.skin-element-plus .btn-group .btn,
.skin-element-plus .btn-group > .btn:first-child,
.skin-element-plus .btn-group > .btn:last-child,
.skin-element-plus .btn-group > .dropdown-toggle { border-radius: var(--ep-radius) !important; }

.skin-element-plus .form-control,
.skin-element-plus .input-group-addon,
.skin-element-plus .input-group .form-control:first-child,
.skin-element-plus .input-group .form-control:last-child,
.skin-element-plus .input-group .input-group-addon:first-child,
.skin-element-plus .input-group .input-group-addon:last-child { border-radius: var(--ep-radius) !important; }

.skin-element-plus .dropdown-menu { border-radius: var(--ep-radius); }
.skin-element-plus .dropdown-menu > li > a { border-radius: var(--ep-radius); }

.skin-element-plus .panel,
.skin-element-plus .panel-heading,
.skin-element-plus .panel-footer { border-radius: var(--ep-radius) !important; }

.skin-element-plus .box,
.skin-element-plus .box-header,
.skin-element-plus .box-footer,
.skin-element-plus .box-body { border-radius: var(--ep-radius) !important; }

.skin-element-plus .modal-content,
.skin-element-plus .modal-header,
.skin-element-plus .modal-footer { border-radius: var(--ep-radius) !important; }

.skin-element-plus .alert { border-radius: var(--ep-radius); }

.skin-element-plus .label { border-radius: var(--ep-radius); }

.skin-element-plus .badge { border-radius: 10px; }

.skin-element-plus .nav-pills > li > a { border-radius: var(--ep-radius); }

.skin-element-plus .nav-tabs > li > a { border-radius: var(--ep-radius) var(--ep-radius) 0 0; }

.skin-element-plus .list-group-item:first-child { border-top-left-radius: var(--ep-radius); border-top-right-radius: var(--ep-radius); }
.skin-element-plus .list-group-item:last-child  { border-bottom-left-radius: var(--ep-radius); border-bottom-right-radius: var(--ep-radius); }

.skin-element-plus .pagination > li:first-child > a,
.skin-element-plus .pagination > li:first-child > span { border-top-left-radius: var(--ep-radius); border-bottom-left-radius: var(--ep-radius); }
.skin-element-plus .pagination > li:last-child > a,
.skin-element-plus .pagination > li:last-child > span { border-top-right-radius: var(--ep-radius); border-bottom-right-radius: var(--ep-radius); }

.skin-element-plus .well { border-radius: var(--ep-radius); }

.skin-element-plus .jumbotron { border-radius: var(--ep-radius); }

.skin-element-plus .thumbnail,
.skin-element-plus .img-thumbnail { border-radius: var(--ep-radius); }

.skin-element-plus .breadcrumb { border-radius: var(--ep-radius); }

.skin-element-plus .progress,
.skin-element-plus .progress-bar { border-radius: var(--ep-radius); }

.skin-element-plus .popover { border-radius: var(--ep-radius); }
.skin-element-plus .popover-title { border-radius: var(--ep-radius) var(--ep-radius) 0 0; }

.skin-element-plus .tooltip-inner { border-radius: var(--ep-radius); }

.skin-element-plus .callout { border-radius: var(--ep-radius); }

.skin-element-plus pre { border-radius: var(--ep-radius); }

.skin-element-plus code { border-radius: var(--ep-radius); }

.skin-element-plus .navbar-form .form-control { border-radius: var(--ep-radius); }

.skin-element-plus .pager li > a,
.skin-element-plus .pager li > span { border-radius: var(--ep-radius); }

/* Select2 */
.skin-element-plus .select2-container--default .select2-selection--single,
.skin-element-plus .select2-container--default .select2-selection--multiple,
.skin-element-plus .select2-container--default .select2-selection--multiple .select2-selection__choice,
.skin-element-plus .select2-container--default .select2-dropdown,
.skin-element-plus .select2-container--default .select2-search--dropdown .select2-search__field { border-radius: var(--ep-radius) !important; }

/* Bootstrap-select */
.skin-element-plus .bootstrap-select .dropdown-menu,
.skin-element-plus .bootstrap-select .dropdown-menu > li > a { border-radius: var(--ep-radius); }

/* Chosen */
.skin-element-plus .chosen-container .chosen-drop,
.skin-element-plus .chosen-container-single .chosen-single,
.skin-element-plus .chosen-container-multi .chosen-choices,
.skin-element-plus .chosen-container-multi .chosen-choices li.search-choice { border-radius: var(--ep-radius) !important; }

/* Datetimepicker */
.skin-element-plus .bootstrap-datetimepicker-widget,
.skin-element-plus .bootstrap-datetimepicker-widget table td,
.skin-element-plus .bootstrap-datetimepicker-widget table td span { border-radius: var(--ep-radius); }

/* Layer 弹窗 */
.skin-element-plus .layui-layer-btn .layui-layer-btn0,
.skin-element-plus .layui-layer-btn .layui-layer-btn1 { border-radius: var(--ep-radius) !important; }
