/* ============================================================
   KCAR 管理后台 · 高端渐变主题 (theme-premium)
   设计目标：与默认 RuoYi/INSPINIA 风格截然不同，走“高端、科技感、蓝色”
   仅做样式覆盖，不改动任何接口、结构、脚本与技术方案。
   本文件统一在 </head> 前最后加载，确保覆盖默认样式。
   ============================================================ */
:root {
    --kc-brand-1: #2563eb;   /* 科技蓝 */
    --kc-brand-2: #3b82f6;   /* 亮蓝 */
    --kc-brand-3: #06b6d4;   /* 青色（科技感高光） */
    --kc-grad: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%);
    --kc-grad-strong: linear-gradient(135deg, #1d4ed8 0%, #0891b2 100%);
    --kc-side-grad: linear-gradient(180deg, #04101f 0%, #061d3a 48%, #0a2c54 100%);
    --kc-side-active: linear-gradient(90deg, rgba(37, 99, 235, .34) 0%, rgba(37, 99, 235, .10) 55%, rgba(37, 99, 235, 0) 100%);
    --kc-text-soft: #cbd5e1;
    --kc-radius: 12px;
    --kc-shadow: 0 10px 30px rgba(8, 47, 107, .14);
}

/* ============ 左侧导航侧边栏 ============ */
.navbar-static-side {
    background: var(--kc-side-grad) !important;
    box-shadow: 4px 0 24px rgba(6, 20, 45, .35);
}
.navbar-default.navbar-static-side { border-color: transparent !important; }

/* 侧边栏菜单文字 */
.navbar-static-side .nav > li > a,
.navbar-default .nav > li > a {
    color: var(--kc-text-soft) !important;
    font-weight: 500;
    border-radius: 9px;
    margin: 3px 10px;
    transition: all .2s ease;
}
.navbar-static-side .nav > li > a:hover,
.navbar-default .nav > li > a:hover {
    color: #fff !important;
    background: rgba(59, 130, 246, .14) !important;
}
/* 激活菜单项：品牌蓝左条 + 蓝色渐变高亮（与主题统一） */
.nav > li.active {
    border-left: 4px solid #3b82f6 !important;
    background: var(--kc-side-active) !important;
}
.nav > li.active > a { color: #fff !important; font-weight: 600; }
.nav-second-level li a,
.nav-third-level li a { color: var(--kc-text-soft) !important; }
/* 子菜单选中项：补齐蓝色高亮背景，避免“只变白字没选中感” */
.nav-second-level li.active,
.nav-third-level li.active {
    background: linear-gradient(90deg, rgba(37, 99, 235, .30) 0%, rgba(37, 99, 235, 0) 92%) !important;
}
.nav-second-level li.active > a,
.nav-third-level li.active > a { color: #fff !important; font-weight: 600; }
/* 菜单箭头 */
.navbar-static-side .nav > li > a .arrow,
.navbar-static-side .fa.arrow { color: rgba(255, 255, 255, .40) !important; }

/* 用户信息区 */
.sidebar-collapse .user-panel > .info,
.sidebar-collapse .user-panel > .info > a { color: #e2e8f0 !important; }
.sidebar-collapse .user-panel > .info > a:hover { color: #fff !important; }

/* ============ Logo 品牌区 ============ */
nav .logo {
    background: var(--kc-grad) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .10) !important;
    box-shadow: 0 6px 22px rgba(37, 99, 235, .45);
    letter-spacing: 6px !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

/* ============ 顶部导航栏（白底渐变 + 阴影） ============ */
.navbar.navbar-static-top {
    background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
    box-shadow: 0 2px 18px rgba(8, 47, 107, .10);
    border-bottom: 1px solid #e7eefb !important;
}
.navbar.navbar-static-top .nav > li > a { color: #334155 !important; }
.navbar.navbar-static-top .nav > li > a:hover {
    color: var(--kc-brand-1) !important;
    background: rgba(37, 99, 235, .08) !important;
}
/* 收起菜单按钮 */
.minimalize-styl-2 {
    color: var(--kc-brand-1) !important;
    background: rgba(37, 99, 235, .10) !important;
    border-radius: 8px;
    transition: all .2s ease;
}
.minimalize-styl-2:hover {
    color: #fff !important;
    background: var(--kc-grad) !important;
}

/* ============ 按钮（默认态 + 交互态 全量主题化） ============ */
/* style.min.css 用 background-color:#1ab394 等 INSPINIA 老色定义「默认态」。
   此处对每一类按钮同时写死 background-color 与 background-image 并加 !important，
   确保「没有操作时」的默认态也一定是主题蓝，不依赖 CSS 变量与 :not() 选择器。 */
.btn { border-radius: 8px; }

/* ---- 主要按钮：默认态即蓝→青渐变 ---- */
.btn.btn-primary {
    background-color: #2563eb !important;
    background-image: linear-gradient(135deg, #2563eb 0%, #3b82f6 50%, #06b6d4 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .35) !important;
}
.btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active,
.open > .dropdown-toggle.btn-primary, .open .dropdown-toggle.btn-primary {
    background-color: #1d4ed8 !important;
    background-image: linear-gradient(135deg, #1d4ed8 0%, #0891b2 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ---- 成功 ---- */
.btn.btn-success {
    background-color: #10b981 !important;
    background-image: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(16, 185, 129, .30) !important;
}
.btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active,
.open > .dropdown-toggle.btn-success, .open .dropdown-toggle.btn-success {
    background-color: #059669 !important;
    background-image: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ---- 信息 ---- */
.btn.btn-info {
    background-color: #0ea5e9 !important;
    background-image: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(14, 165, 233, .30) !important;
}
.btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active,
.open > .dropdown-toggle.btn-info, .open .dropdown-toggle.btn-info {
    background-color: #0284c7 !important;
    background-image: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ---- 警告 ---- */
.btn.btn-warning {
    background-color: #f59e0b !important;
    background-image: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(245, 158, 11, .30) !important;
}
.btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active,
.open > .dropdown-toggle.btn-warning, .open .dropdown-toggle.btn-warning {
    background-color: #d97706 !important;
    background-image: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ---- 危险 ---- */
.btn.btn-danger {
    background-color: #f43f5e !important;
    background-image: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(244, 63, 94, .30) !important;
}
.btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active,
.open > .dropdown-toggle.btn-danger, .open .dropdown-toggle.btn-danger {
    background-color: #e11d48 !important;
    background-image: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ---- 线条按钮 outline：默认态淡蓝底（原来为全透明，看不出主题） ---- */
.btn.btn-outline { background-image: none !important; }
.btn.btn-primary.btn-outline {
    background-color: rgba(37, 99, 235, .10) !important;
    border-color: #2563eb !important;
    color: #1d4ed8 !important;
}
.btn.btn-primary.btn-outline:hover, .btn.btn-primary.btn-outline:focus,
.btn.btn-primary.btn-outline:active, .btn.btn-primary.btn-outline.active {
    background-color: #2563eb !important;
    background-image: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
}
.btn.btn-success.btn-outline {
    background-color: rgba(16, 185, 129, .12) !important;
    border-color: #059669 !important; color: #047857 !important;
}
.btn.btn-success.btn-outline:hover, .btn.btn-success.btn-outline:focus,
.btn.btn-success.btn-outline:active, .btn.btn-success.btn-outline.active {
    background-color: #10b981 !important;
    background-image: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    border-color: transparent !important; color: #fff !important;
}
.btn.btn-info.btn-outline {
    background-color: rgba(14, 165, 233, .12) !important;
    border-color: #0284c7 !important; color: #0369a1 !important;
}
.btn.btn-info.btn-outline:hover, .btn.btn-info.btn-outline:focus,
.btn.btn-info.btn-outline:active, .btn.btn-info.btn-outline.active {
    background-color: #0ea5e9 !important;
    background-image: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%) !important;
    border-color: transparent !important; color: #fff !important;
}
.btn.btn-warning.btn-outline {
    background-color: rgba(245, 158, 11, .14) !important;
    border-color: #d97706 !important; color: #b45309 !important;
}
.btn.btn-warning.btn-outline:hover, .btn.btn-warning.btn-outline:focus,
.btn.btn-warning.btn-outline:active, .btn.btn-warning.btn-outline.active {
    background-color: #f59e0b !important;
    background-image: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    border-color: transparent !important; color: #fff !important;
}
.btn.btn-danger.btn-outline {
    background-color: rgba(244, 63, 94, .12) !important;
    border-color: #e11d48 !important; color: #be123c !important;
}
.btn.btn-danger.btn-outline:hover, .btn.btn-danger.btn-outline:focus,
.btn.btn-danger.btn-outline:active, .btn.btn-danger.btn-outline.active {
    background-color: #f43f5e !important;
    background-image: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%) !important;
    border-color: transparent !important; color: #fff !important;
}

/* ---- 默认 / 白色按钮：默认态改为淡蓝渐变底（原来为纯白、看不出主题） ---- */
.btn.btn-default, .btn.btn-white {
    background-color: #eef4ff !important;
    background-image: linear-gradient(135deg, #f5f9ff 0%, #e3edff 100%) !important;
    border-color: #c7d7f7 !important;
    color: #1e40af !important;
    border-radius: 8px !important;
}
.btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active,
.btn.btn-white:hover, .btn.btn-white:focus, .btn.btn-white:active, .btn.btn-white.active,
.open > .dropdown-toggle.btn-default, .open .dropdown-toggle.btn-default {
    background-color: #dbeafe !important;
    background-image: linear-gradient(135deg, #dbeafe 0%, #c7d7f7 100%) !important;
    border-color: #2563eb !important;
    color: #1d4ed8 !important;
}

/* ---- 链接按钮 ---- */
.btn-link { color: #2563eb !important; }
.btn-link:hover, .btn-link:focus, .btn-link:active { color: #1d4ed8 !important; }
.issue-tracker .btn-link { color: #2563eb !important; }

/* ---- 工具栏 / 搜索区按钮（kcarmx-ui.css 原为灰色 hover） ---- */
.btn-box-tool { color: #2563eb !important; background-color: transparent !important; background-image: none !important; }
.btn-box-tool:hover, .open .btn-box-tool { color: #1d4ed8 !important; }
.select-list .btn-default { background-color: transparent !important; background-image: none !important; border-color: #c7d7f7 !important; color: #1e40af !important; }
.select-list .btn-default:hover, .select-list .btn-default:focus,
.select-list .btn-default:active, .select-list .btn-default.active {
    background-color: #dbeafe !important;
    background-image: linear-gradient(135deg, #dbeafe 0%, #c7d7f7 100%) !important;
    border-color: #2563eb !important;
    color: #1d4ed8 !important;
}

/* ============ 卡片 / 面板 ============ */
.ibox {
    border: none !important;
    border-radius: var(--kc-radius) !important;
    box-shadow: var(--kc-shadow);
    overflow: hidden;
}
.ibox-title {
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    border-bottom: 2px solid #e7eefb !important;
    border-radius: var(--kc-radius) var(--kc-radius) 0 0 !important;
    position: relative;
}
.ibox-title::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 2px;
    background: var(--kc-grad);
}
.ibox-content { border-radius: 0 0 var(--kc-radius) var(--kc-radius) !important; }

.panel {
    border: none !important;
    border-radius: var(--kc-radius) !important;
    box-shadow: var(--kc-shadow);
    overflow: hidden;
}
.panel-heading { border-radius: var(--kc-radius) var(--kc-radius) 0 0 !important; }

/* ============ 页签（多标签页） ============ */
.content-tabs {
    background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
    border-bottom: 1px solid #e7eefb !important;
    box-shadow: 0 2px 10px rgba(8, 47, 107, .06);
}
.menuTab.active {
    background: var(--kc-grad) !important;
    color: #fff !important;
    border-color: transparent !important;
}
.page-tabs a:hover { background: rgba(37, 99, 235, .08) !important; color: var(--kc-brand-1) !important; }
.content-tabs .roll-nav,
.content-tabs button { color: #64748b !important; }
.content-tabs .roll-nav:hover,
.content-tabs button:hover {
    background: rgba(37, 99, 235, .10) !important;
    color: var(--kc-brand-1) !important;
}

/* ============ 表单控件聚焦 ============ */
.form-control:focus {
    border-color: var(--kc-brand-1) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .18) !important;
}

/* ============ 分页 ============ */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
    background: var(--kc-grad) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ============ 标签 / 徽标（点缀品牌色） ============ */
.label-primary { background: var(--kc-grad) !important; }
.badge-primary { background: var(--kc-brand-1) !important; }

/* ============ 表格选中/表头点缀 ============ */
.bootstrap-table .fixed-table-container thead th .th-inner { color: #334155; }
.fixed-table-header { border-bottom: 2px solid var(--kc-brand-1) !important; }

/* ============ 登录页（玻璃拟态 + 科技蓝背景蒙版） ============ */
body.signin {
    background-image: linear-gradient(135deg, rgba(8, 47, 107, .46) 0%, rgba(6, 182, 212, .28) 100%), url(/img/login-backgrounds.png) !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}
/* 登录框右移 + 整体加宽（覆盖 login 默认宽度与内联 margin-right:17%） */
.signinpanel {
    width: min(1000px, 92vw) !important;
    /* margin-top: 12vh !important; */
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: 10% !important;
}
.signinpanel form {
    background: rgba(255, 255, 255, .14) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, .25) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 60px rgba(6, 20, 45, .45) !important;
}
.signinpanel .uname,
.signinpanel .pword,
.signinpanel .code {
    background-color: #fff !important;
    border-radius: 10px !important;
    color: #333 !important;
}
.signinpanel .btn-success {
    background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%) !important;
    border-color: transparent !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(37, 99, 235, .50);
}
.signinpanel .btn-success:hover { background: linear-gradient(135deg, #1d4ed8 0%, #0891b2 100%) !important; color: #fff !important; }
.signup-footer { border-top: solid 1px rgba(255, 255, 255, .25) !important; color: rgba(255, 255, 255, .85); }

/* ============ 表格美化（bootstrap-table / 原生 table） ============ */
.bootstrap-table .table,
.table { border-collapse: separate; border-spacing: 0; }
.bootstrap-table .table > thead > tr > th,
.table > thead > tr > th {
    background: linear-gradient(180deg, #f3f8ff 0%, #e9f1ff 100%) !important;
    color: #14346b !important;
    font-weight: 600;
    font-size: 13px;
    border-bottom: 2px solid var(--kc-brand-1) !important;
    padding: 12px 10px !important;
    white-space: nowrap;
}
.bootstrap-table .table > tbody > tr > td,
.table > tbody > tr > td {
    border-top: 1px solid #f0f4fb !important;
    padding: 11px 10px !important;
    color: #475569;
}
.bootstrap-table .table > tbody > tr:nth-child(even) > td,
.table > tbody > tr:nth-child(even) > td { background: #fafbff !important; }
.bootstrap-table .table > tbody > tr:hover > td,
.table > tbody > tr:hover > td { background: rgba(37, 99, 235, .07) !important; }
.bootstrap-table .table > tbody > tr.selected > td { background: rgba(37, 99, 235, .13) !important; }
.fixed-table-container { border: none !important; }
.fixed-table-pagination { padding: 10px 12px !important; }

/* ============ 内容区背景（极淡科技网格） ============ */
body.gray-bg, .gray-bg {
    background-color: #f4f7fc !important;
    background-image:
        linear-gradient(rgba(37, 99, 235, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .045) 1px, transparent 1px) !important;
    background-size: 34px 34px, 34px 34px !important;
}

/* ============ 滚动条（细蓝渐变） ============ */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #eaf0fa; border-radius: 9px; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #3b82f6 0%, #06b6d4 100%);
    border-radius: 9px;
    border: 2px solid #eaf0fa;
}
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #2563eb 0%, #0891b2 100%); }
::-webkit-scrollbar-corner { background: #eaf0fa; }

/* ============ 字典类 / 状态标签（药丸样式） ============ */
.label {
    display: inline-block !important;
    border-radius: 999px !important;
    padding: 3px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .3px;
    line-height: 1.6 !important;
}
.label-primary { background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%) !important; }
.label-success { background: linear-gradient(135deg, #10b981 0%, #34d399 100%) !important; }
.label-info    { background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%) !important; }
.label-warning { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%) !important; }
.label-danger  { background: linear-gradient(135deg, #f43f5e 0%, #fb7185 100%) !important; }
.label-default { background: linear-gradient(135deg, #94a3b8 0%, #cbd5e1 100%) !important; color: #fff !important; }
.badge { border-radius: 999px !important; padding: 3px 8px !important; }

/* ============ 按钮增强（微交互） ============ */
.btn { transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important; }
.btn:not(.btn-link):hover { transform: translateY(-1px); }
.btn:not(.btn-link):active { transform: translateY(0); }
.btn:focus, .btn.focus { box-shadow: 0 0 0 3px rgba(37, 99, 235, .28) !important; }
.btn[disabled], .btn.disabled, fieldset[disabled] .btn { opacity: .6 !important; transform: none !important; }
.btn-white { border-radius: 8px !important; }

/* ============ 弹窗（layer）美化 ============ */
.layui-layer {
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 26px 64px rgba(6, 20, 45, .38) !important;
}
.layui-layer-title {
    background: var(--kc-grad) !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
    height: 46px !important;
    line-height: 46px !important;
}
.layui-layer-btn { padding: 8px 14px 14px !important; }
.layui-layer-btn a {
    border-radius: 9px !important;
    height: 34px !important;
    line-height: 32px !important;
    border-color: #dbe4f5 !important;
}
.layui-layer-btn .layui-layer-btn0 {
    background: var(--kc-grad) !important;
    border-color: transparent !important;
    color: #fff !important;
}

/* ============ 侧栏菜单图标染色 ============ */
.navbar-static-side .nav li a > i.fa:not(.arrow) {
    color: #67b7f7 !important;
    width: 20px;
    text-align: center;
}
.navbar-static-side .nav > li.active > a > i.fa:not(.arrow),
.navbar-static-side .nav-second-level li.active > a > i.fa:not(.arrow) { color: #7dd3fc !important; }

/* ============ 顶栏 / 下拉菜单 ============ */
.navbar-top-links .dropdown-menu {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 44px rgba(8, 47, 107, .20) !important;
    padding: 6px !important;
}
.navbar-top-links .dropdown-menu > li > a {
    border-radius: 9px !important;
    padding: 9px 12px !important;
    color: #334155 !important;
}
.navbar-top-links .dropdown-menu > li > a:hover {
    background: rgba(37, 99, 235, .10) !important;
    color: var(--kc-brand-1) !important;
}
.welcome-message > li > a { border-radius: 9px; }
.user-menu .user-image { border-radius: 50% !important; box-shadow: 0 0 0 2px rgba(37, 99, 235, .35); }

/* ============ 加载遮罩（blockUI） ============ */
.blockUI.blockOverlay { background: rgba(244, 247, 252, .70) !important; }
.blockUI.blockMsg {
    border: none !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 48px rgba(6, 20, 45, .28) !important;
    color: #1e3a8a !important;
    font-weight: 500;
}

/* ============ 首页工作台 · 顶部欢迎条 ============ */
.kc-hero {
    background: linear-gradient(120deg, #0b2a5b 0%, #164a9e 45%, #06b6d4 100%);
    border-radius: 16px;
    padding: 20px 24px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 8px;
    box-shadow: 0 14px 34px rgba(11, 42, 91, .28);
}
.kc-hero-title { font-size: 20px; font-weight: 600; letter-spacing: .5px; }
.kc-hero-sub { font-size: 12px; color: rgba(255, 255, 255, .82); margin-top: 4px; }
.kc-hero-right { display: flex; align-items: center; gap: 10px; }
.kc-hero-label { font-size: 12px; color: rgba(255, 255, 255, .85); margin: 0; font-weight: 500; }
.kc-hero-select {
    min-width: 176px;
    height: 34px;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, .38) !important;
    background: rgba(255, 255, 255, .16) !important;
    color: #fff !important;
    padding: 0 10px;
}
.kc-hero-select option { color: #1f2937; }

/* ============ 首页工作台 · KPI 渐变图标卡 ============ */
.kpi-card {
    background: #fff;
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 8px 26px rgba(8, 47, 107, .10);
    cursor: pointer;
    margin-bottom: 20px;
    transition: transform .22s ease, box-shadow .22s ease;
}
.kpi-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgba(8, 47, 107, .20);
}
.kpi-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    flex: 0 0 auto;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .35);
}
.kpi-icon-blue   { background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%); }
.kpi-icon-cyan   { background: linear-gradient(135deg, #06b6d4 0%, #22d3ee 100%); box-shadow: 0 8px 18px rgba(6, 182, 212, .32); }
.kpi-icon-indigo { background: linear-gradient(135deg, #1d4ed8 0%, #4f46e5 100%); }
.kpi-icon-teal   { background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%); box-shadow: 0 8px 18px rgba(13, 148, 136, .30); }
.kpi-icon-amber  { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%); box-shadow: 0 8px 18px rgba(245, 158, 11, .30); }
.kpi-icon-violet { background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%); box-shadow: 0 8px 18px rgba(79, 70, 229, .30); }
.kpi-body { min-width: 0; }
.kpi-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
}
.kpi-value {
    font-size: 26px;
    font-weight: 600;
    color: #0f2d6b;
    line-height: 1.25;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kpi-sub { font-size: 11px; color: #94a3b8; margin-top: 2px; }
.kpi-tag {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
}
.kpi-tag-green { background: linear-gradient(135deg, #10b981 0%, #34d399 100%); }
.kpi-tag-amber { background: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%); }
.kpi-tag-red   { background: linear-gradient(135deg, #f43f5e 0%, #fb7185 100%); }
.kc-chart-box .echarts { height: 320px; }

/* ============ 深色模式（body.kc-dark，含 iframe 内页） ============ */
body.kc-dark,
body.kc-dark.gray-bg {
    background-color: #0b1220 !important;
    background-image: none !important;
    color: #dbe4f5 !important;
}
body.kc-dark #page-wrapper,
body.kc-dark #page-wrapper.gray-bg {
    background-color: #0b1220 !important;
    background-image: none !important;
}
body.kc-dark .ibox,
body.kc-dark .panel { background: #121c31 !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .38) !important; }
body.kc-dark .ibox-title,
body.kc-dark .panel-heading {
    background: #16223b !important;
    border-color: #22314f !important;
    color: #dbe4f5 !important;
}
body.kc-dark .ibox-title h5,
body.kc-dark .panel-heading { color: #dbe4f5 !important; }
body.kc-dark .ibox-content {
    background: #121c31 !important;
    border-color: #22314f !important;
    color: #c3d0e8 !important;
}
body.kc-dark .navbar.navbar-static-top {
    background: #101a2e !important;
    border-bottom-color: #22314f !important;
    box-shadow: 0 2px 18px rgba(0, 0, 0, .40) !important;
}
body.kc-dark .navbar.navbar-static-top .nav > li > a { color: #b9c7e0 !important; }
body.kc-dark .content-tabs {
    background: #101a2e !important;
    border-bottom-color: #22314f !important;
}
body.kc-dark .page-tabs a { color: #94a3b8 !important; }
body.kc-dark .form-control,
body.kc-dark select,
body.kc-dark textarea {
    background: #0f1a2e !important;
    border-color: #25355a !important;
    color: #dbe4f5 !important;
}
body.kc-dark .bootstrap-table .table > thead > tr > th,
body.kc-dark .table > thead > tr > th {
    background: #16223b !important;
    color: #cbd5e1 !important;
}
body.kc-dark .bootstrap-table .table > tbody > tr > td,
body.kc-dark .table > tbody > tr > td { border-top-color: #1e2b47 !important; color: #c3d0e8 !important; }
body.kc-dark .bootstrap-table .table > tbody > tr:nth-child(even) > td,
body.kc-dark .table > tbody > tr:nth-child(even) > td { background: #101a2e !important; }
body.kc-dark .bootstrap-table .table > tbody > tr:hover > td,
body.kc-dark .table > tbody > tr:hover > td { background: rgba(37, 99, 235, .18) !important; }
body.kc-dark h1, body.kc-dark h2, body.kc-dark h3,
body.kc-dark h4, body.kc-dark h5, body.kc-dark h6 { color: #e8eefc !important; }
body.kc-dark .kpi-card { background: #121c31 !important; box-shadow: 0 10px 28px rgba(0, 0, 0, .42) !important; }
body.kc-dark .kpi-value { color: #eaf1ff !important; }
body.kc-dark .kpi-label { color: #9aaecb !important; }
body.kc-dark .kpi-sub { color: #74869f !important; }
body.kc-dark .nav-tabs > li > a { color: #9aaecb !important; }
