/* =====================================================================
 * 万象云GEO 现代卡片风全局主题（覆盖层，最后加载）
 * 主色靛蓝 #4C6FFF，页面浅灰底，卡片圆角+柔和阴影
 * 回退方式：删除 include.html / index.html / login.html 中的引用即可
 * ===================================================================== */

:root {
    --mu-primary: #4C6FFF;
    --mu-primary-dark: #3B5BDB;
    --mu-success: #22C55E;
    --mu-danger: #EF4444;
    --mu-warning: #F59E0B;
    --mu-info: #0EA5E9;
    --mu-bg: #F1F4F9;
    --mu-card: #FFFFFF;
    --mu-text: #1F2937;
    --mu-text-sub: #6B7280;
    --mu-border: #E8ECF3;
    --mu-radius: 10px;
    --mu-radius-sm: 6px;
    --mu-shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);
    --mu-shadow-lg: 0 8px 24px rgba(16, 24, 40, .12);
}

/* ---------- 全局背景与文字 ---------- */
body {
    background-color: var(--mu-bg);
    color: var(--mu-text);
    -webkit-font-smoothing: antialiased;
}
#page-wrapper, .wrapper-content {
    background-color: var(--mu-bg);
}
a { color: var(--mu-primary); }
a:hover, a:focus { color: var(--mu-primary-dark); }

/* ---------- 卡片（ibox） ---------- */
.ibox {
    border: none;
    border-radius: var(--mu-radius);
    box-shadow: var(--mu-shadow);
    background: var(--mu-card);
    margin-bottom: 20px;
    transition: box-shadow .2s ease;
}
.ibox:hover { box-shadow: 0 4px 12px rgba(16, 24, 40, .10); }
.ibox-title {
    border: none;
    border-bottom: 1px solid var(--mu-border);
    border-radius: var(--mu-radius) var(--mu-radius) 0 0;
    padding: 14px 20px;
    background: var(--mu-card);
}
.ibox-title h5 { font-weight: 600; color: var(--mu-text); }
.ibox-content {
    border: none;
    border-radius: 0 0 var(--mu-radius) var(--mu-radius);
    padding: 18px 20px;
}
/* 列表页搜索区卡片 */
.search-collapse, .ibox .ibox-content.search-collapse { background: var(--mu-card); }

/* ---------- 按钮 ---------- */
.btn {
    border-radius: var(--mu-radius-sm);
    border: none;
    transition: all .15s ease;
    box-shadow: none;
}
.btn-primary {
    background: linear-gradient(135deg, var(--mu-primary), var(--mu-primary-dark));
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background: linear-gradient(135deg, var(--mu-primary-dark), var(--mu-primary-dark));
}
.btn-success { background: var(--mu-success); }
.btn-success:hover, .btn-success:focus { background: #16A34A; }
.btn-danger { background: var(--mu-danger); }
.btn-danger:hover, .btn-danger:focus { background: #DC2626; }
.btn-warning { background: var(--mu-warning); }
.btn-warning:hover, .btn-warning:focus { background: #D97706; }
.btn-info { background: var(--mu-info); }
.btn-info:hover, .btn-info:focus { background: #0284C7; }
.btn-white, .btn-default {
    background: var(--mu-card);
    border: 1px solid var(--mu-border);
    color: var(--mu-text);
}
.btn-white:hover, .btn-default:hover {
    border-color: var(--mu-primary);
    color: var(--mu-primary);
    background: #F8FAFF;
}
.btn-outline { border-radius: var(--mu-radius-sm); }

/* ---------- 表格 ---------- */
.table > thead > tr > th {
    background: #F8FAFC;
    border-bottom: 1px solid var(--mu-border);
    color: var(--mu-text-sub);
    font-weight: 600;
    white-space: nowrap;
}
.table > tbody > tr > td { border-top: 1px solid var(--mu-border); }
.table-hover > tbody > tr:hover { background: #F8FAFF; }
.fixed-table-container { border: none; }
.bootstrap-table .fixed-table-toolbar .bars,
.bootstrap-table .fixed-table-toolbar .columns { margin-top: 4px; }
.fixed-table-body { border-radius: 0 0 var(--mu-radius) var(--mu-radius); }

/* ---------- 表单 ---------- */
.form-control {
    border-radius: var(--mu-radius-sm);
    border: 1px solid var(--mu-border);
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus {
    border-color: var(--mu-primary);
    box-shadow: 0 0 0 3px rgba(76, 111, 255, .15);
}
.input-group-addon {
    border-radius: var(--mu-radius-sm);
    border-color: var(--mu-border);
    background: #F8FAFC;
}
select.form-control { border-radius: var(--mu-radius-sm); }

/* ---------- 标签 / 徽章（胶囊） ---------- */
.label, .badge {
    border-radius: 999px;
    padding: .3em .8em;
    font-weight: 500;
}
.label-primary { background: var(--mu-primary); }
.label-success { background: var(--mu-success); }
.label-danger { background: var(--mu-danger); }
.label-warning { background: var(--mu-warning); }
.label-info { background: var(--mu-info); }

/* ---------- 分页 ---------- */
.pagination { border-radius: var(--mu-radius-sm); }
.pagination > li > a, .pagination > li > span {
    border: 1px solid var(--mu-border);
    color: var(--mu-text-sub);
    border-radius: var(--mu-radius-sm) !important;
    margin: 0 2px;
}
.pagination > .active > a, .pagination > .active > span,
.pagination > .active > a:hover, .pagination > .active > span:hover {
    background: var(--mu-primary);
    border-color: var(--mu-primary);
}
.pagination > li > a:hover { color: var(--mu-primary); border-color: var(--mu-primary); }

/* ---------- 弹窗（layer / modal） ---------- */
.layui-layer {
    border-radius: var(--mu-radius) !important;
    overflow: hidden;
    box-shadow: var(--mu-shadow-lg) !important;
}
.layui-layer-title {
    background: var(--mu-card) !important;
    color: var(--mu-text) !important;
    border-bottom: 1px solid var(--mu-border) !important;
    font-weight: 600;
}
.layui-layer-setwin .layui-layer-close1 { margin-top: 2px; }
.modal-content {
    border: none;
    border-radius: var(--mu-radius);
    box-shadow: var(--mu-shadow-lg);
}
.modal-header { border-bottom: 1px solid var(--mu-border); }
.modal-footer { border-top: 1px solid var(--mu-border); }

/* =====================================================================
 * 主框架 index.html：深色侧边栏 + 白顶栏 + 胶囊页签
 * ===================================================================== */

/* 侧边栏整体 */
.navbar-static-side, .nav-header, #side-menu {
    background: linear-gradient(180deg, #1E293B 0%, #0F172A 100%);
}
.navbar-static-side { transition: none; }
.nav-header {
    background: transparent;
    padding: 24px 18px;
}
.nav-header .logo, .nav-header img { border-radius: 8px; }
.nav-header .text-muted, .nav-header a { color: #94A3B8; }

/* 侧边菜单 */
#side-menu > li > a, #side-menu li a {
    color: #CBD5E1;
    border-radius: 8px;
    margin: 2px 10px;
    padding: 10px 14px;
    transition: background .15s ease, color .15s ease;
}
#side-menu li a:hover, #side-menu li a:focus {
    background: rgba(255, 255, 255, .08);
    color: #FFFFFF;
}
#side-menu > li.active > a, #side-menu > li > a.active {
    background: var(--mu-primary);
    color: #FFFFFF;
    border-left: none;
}
#side-menu .nav-second-level li a { border-radius: 8px; margin: 1px 10px 1px 18px; }
#side-menu .nav-second-level li.active a { background: rgba(76, 111, 255, .25); color: #FFF; }
#side-menu li .nav-header { padding: 12px 18px; }
.navbar-default { border: none; }

/* 顶栏 */
.navbar-static-top, .navbar-top-links, .navbar-top-links .welcome-message,
.navbar-static-top .navbar-header, .navbar-static-top .nav {
    background: linear-gradient(135deg, var(--mu-primary), var(--mu-primary-dark));
}
.navbar-static-top { border: none; }
/* 顶栏所有链接、图标强制白色（蓝底白字），但排除下拉菜单内 */
.navbar-top-links > li > a,
.navbar-top-links .dropdown-toggle,
.navbar-minimalize {
    color: #FFFFFF !important;
}
.navbar-top-links > li > a:hover,
.navbar-top-links .dropdown-toggle:hover,
.navbar-minimalize:hover {
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, .15);
}
.navbar-minimalize { background: transparent !important; }
/* 下拉菜单保持白底深字 */
.navbar-top-links .dropdown-menu,
.navbar-top-links .dropdown-menu li a {
    background: var(--mu-card);
    color: var(--mu-text);
}
.navbar-top-links .dropdown-menu li a:hover { background: #F1F5F9; color: var(--mu-primary); }

/* 页签（胶囊） */
.content-tabs {
    background: var(--mu-bg);
    border-bottom: none;
    padding: 6px 8px 0;
}
.content-tabs .page-tabs .page-tab {
    border-radius: 999px;
    border: none;
    background: transparent;
    color: var(--mu-text-sub);
    margin: 0 3px;
    padding: 6px 16px;
    transition: all .15s ease;
}
.content-tabs .page-tabs .page-tab.active {
    background: var(--mu-card);
    color: var(--mu-primary);
    box-shadow: var(--mu-shadow);
    font-weight: 600;
}
.roll-nav, .page-tabs a { color: var(--mu-text-sub); }

/* 主内容区底色 */
#mainContent, .page-wrapper { background: var(--mu-bg); }

/* =====================================================================
 * 登录页 login.html：渐变背景 + 居中白卡片
 * ===================================================================== */
body.signin {
    background: #0a0e27 !important;
    background-image:
        radial-gradient(circle at 15% 50%, rgba(76, 111, 255, .15) 0%, transparent 25%),
        radial-gradient(circle at 85% 30%, rgba(124, 58, 237, .15) 0%, transparent 25%),
        radial-gradient(circle at 50% 80%, rgba(14, 165, 233, .10) 0%, transparent 30%),
        linear-gradient(180deg, #0a0e27 0%, #0f1b3d 50%, #0a0e27 100%) !important;
    background-attachment: fixed;
}
/* 科技网格层（伪元素） */
body.signin::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image:
        linear-gradient(rgba(76, 111, 255, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(76, 111, 255, .06) 1px, transparent 1px);
    background-size: 40px 40px;
    pointer-events: none;
    z-index: 0;
}
body.signin > * { position: relative; z-index: 1; }
.signinpanel {
    background: var(--mu-card);
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .35);
    padding: 40px 44px;
    margin-top: 120px;
}
.signinpanel .signin-info { color: var(--mu-text-sub); }
.signinpanel .signin-info h4 { color: var(--mu-text); font-weight: 600; }
.signinpanel .signin-info strong { color: var(--mu-primary); }
.signinpanel .signin-info ul li { color: var(--mu-text-sub); }
.signinpanel .signin-info ul li i { color: var(--mu-primary); }
.signinpanel .logopanel h1 { color: var(--mu-text); }
.signinpanel form h4 { color: var(--mu-text); font-weight: 600; }
.signinpanel form p { color: var(--mu-text-sub); }
.signinpanel .form-control {
    height: 42px;
    border-radius: 8px;
    background: #F8FAFC;
}
.signinpanel .imgcode { border-radius: 8px; }
.signinpanel #btnSubmit {
    height: 44px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--mu-primary), #7C3AED);
}
.signinpanel #btnSubmit:hover { background: linear-gradient(135deg, var(--mu-primary-dark), #6D28D9); }
.signup-footer { color: #9CA3AF; border-top: 1px solid var(--mu-border); padding-top: 16px; margin-top: 24px; }
.signinpanel .checkbox-custom label { color: var(--mu-text-sub); }

/* 小屏适配：登录卡片边距 */
@media (max-width: 768px) {
    .signinpanel { margin-top: 40px; padding: 28px 22px; }
}

/* ---------- 其他细节 ---------- */
/* 页头标题条 */
.page-heading, .ibox-title h4 { font-weight: 600; }
/* 开关/复选 hover 柔和 */
.icheckbox_square-green, .iradio_square-green { transition: all .15s ease; }
/* 滚动条美化（webkit） */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #94A3B8; }
::-webkit-scrollbar-track { background: transparent; }
