/* =====================================================================
 * QPMS 全局设计系统主题（清新现代青蓝风 · B）
 * 仅做视觉层覆盖：配色 / 字体 / 圆角 / 阴影 / 卡片 / 按钮 / 表格 / 表单 / 导航
 * 不改变布局结构与尺寸，移除本文件即可恢复 FastAdmin 原样。
 * ===================================================================== */

:root {
  --qp-primary: #1e6fff;
  --qp-primary-2: #13c2c2;
  --qp-gradient: linear-gradient(135deg, #13c2c2 0%, #1e6fff 100%);
  --qp-ink: #233042;
  --qp-ink-2: #51607a;
  --qp-ink-3: #8a97a8;
  --qp-line: #e9eef4;
  --qp-line-2: #f0f3f7;
  --qp-bg: #f4f7fb;
  --qp-tint: #eaf2ff;
  --qp-tint-2: #e6faf8;
  --qp-success: #20b985;
  --qp-warning: #f5a623;
  --qp-danger: #f3556a;
  --qp-radius: 12px;
  --qp-radius-sm: 8px;
  --qp-shadow-card: 0 2px 14px rgba(24, 58, 110, .07);
  --qp-shadow-hover: 0 10px 28px rgba(30, 92, 180, .14);
  --qp-shadow-sm: 0 1px 3px rgba(24, 58, 110, .06);
}

/* ---------- 基础 ---------- */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color: var(--qp-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, .content-wrapper, .right-side { background: var(--qp-bg); }

a { color: var(--qp-primary); }
a:hover, a:focus { color: #0d5ce0; }

/* 数字（统计/大屏）更专业 */
.table .number, .stat-num, .kpi-num { font-variant-numeric: tabular-nums; }

/* 滚动条美化 */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: #cdd7e4; border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #aebdce; background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }

/* =====================================================================
 * 框架（严格按原型）：深色品牌 logo 区 + 深色侧边栏 + 白色顶部导航
 * ===================================================================== */
.main-header, .main-header .navbar { background: #ffffff !important; border: none; }
.main-header { border-bottom: 1px solid var(--qp-line); }

/* 左侧 logo 品牌区：深色 #1a2226，与下方深色侧栏连成一条 */
.main-header .logo {
  background: #1a2226 !important; border-right: none;
  display: flex; align-items: center; justify-content: center;
  gap: 9px; padding: 0 14px; overflow: hidden;
}
.main-header .logo .logo-img {
  width: 30px; height: 30px; border-radius: 50%;
  background: #fff; padding: 2px; object-fit: contain; flex: 0 0 auto;
}
.main-header .logo .logo-txt { color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .5px; white-space: nowrap; }
.sidebar-collapse .main-header .logo { padding: 0; }
.sidebar-collapse .main-header .logo .logo-txt { display: none; }

.main-header .navbar .nav > li > a,
.main-header .navbar .sidebar-toggle { color: var(--qp-ink-2); }
.main-header .navbar .nav > li > a:hover,
.main-header .navbar .sidebar-toggle:hover { background: var(--qp-tint) !important; color: var(--qp-primary); }

/* multiplenav 顶部一级菜单（白色背景） */
#firstnav .nav-addtabs { border: none; background: transparent; }
#firstnav .nav-addtabs > li > a { color: var(--qp-ink-2); border: none !important; font-weight: 500; transition: .18s; }
#firstnav .nav-addtabs > li > a:hover { background: var(--qp-tint); color: var(--qp-primary); }
#firstnav .nav-addtabs > li.active > a,
#firstnav .nav-addtabs > li.active > a:hover,
#firstnav .nav-addtabs > li.active > a:focus {
  background: transparent; color: var(--qp-primary);
  border-bottom: 2px solid var(--qp-primary) !important; font-weight: 600;
}
#firstnav .nav-addtabs > li > a .fa { color: inherit; }

/* 二级标签条 */
#secondnav { background: #fff; border-bottom: 1px solid var(--qp-line); }
#secondnav .nav-addtabs { border: none; }
#secondnav .nav-addtabs > li > a { color: var(--qp-ink-2); border: none; }
#secondnav .nav-addtabs > li.active > a { color: var(--qp-primary); }

/* ---------- 深色侧边栏（原型 #222d32） ---------- */
.main-sidebar, .left-side, .sidebar { background: #222d32; }
.main-sidebar { border-right: none; }
.sidebar-menu, .main-sidebar .user-panel, .sidebar-menu > li.header { color: #b8c7ce; }
.sidebar-menu > li > a {
  border-left: 3px solid transparent; color: #b8c7ce;
  font-weight: 500; transition: background .16s, color .16s;
}
.sidebar-menu > li > a .fa { color: inherit; width: 20px; margin-right: 10px; }
.sidebar-menu > li > a:hover { background: #2a363c; color: #fff; }
/* 展开的分组：保持深色，文字变亮 */
.sidebar-menu > li.treeview-open > a,
.sidebar-menu > li.treeview.active > a { background: #222d32; color: #fff; }
.sidebar-menu > li.treeview-open > a:hover { background: #2a363c; }
/* 选中的直接叶子（运营总览等）与深层叶子：蓝底 + 青色左条 */
.sidebar-menu > li.active:not(.treeview) > a,
.sidebar-menu .treeview-menu > li.active > a,
.sidebar-menu .treeview-menu .treeview-menu > li.active > a {
  background: #1e6fff !important; color: #fff !important;
  border-left-color: #13c2c2 !important; font-weight: 600;
}
.sidebar-menu .treeview-menu { background: #1c252a; padding-left: 4px; }
.sidebar-menu .treeview-menu > li > a { color: #a9b8c0; font-size: 13.5px; }
.sidebar-menu .treeview-menu > li > a:hover { background: #2a363c; color: #fff; }
.sidebar-menu .treeview-menu .treeview-menu { padding-left: 12px; }

/* 侧栏搜索（深色适配） */
.sidebar-form, .sidebar-form .input-group { background: transparent !important; border: none; box-shadow: none; }
.sidebar-form .input-group { background: #2a363c !important; border: 1px solid #34414a; border-radius: var(--qp-radius-sm); }
.sidebar-form input, .sidebar-form .form-control {
  background: #2a363c !important; color: #d3dde2 !important;
  border: none !important; box-shadow: none !important;
}
.sidebar-form .btn, .sidebar-form .fa-search { background: transparent !important; color: #8fa0ad !important; border: none; }
.menuresult.sidebar-form {
  background: #2a363c !important; border: 1px solid #34414a;
  border-radius: var(--qp-radius-sm); box-shadow: var(--qp-shadow-hover); overflow: hidden;
}
.menuresult .list-group-item { color: #b8c7ce; border-color: #34414a; background: #2a363c; }
.menuresult .list-group-item:hover, .menuresult .list-group-item.active { background: #1e6fff !important; color: #fff; }

/* =====================================================================
 * 卡片 / 面板
 * ===================================================================== */
.panel, .box {
  background: #fff;
  border: 1px solid var(--qp-line-2);
  border-radius: var(--qp-radius);
  box-shadow: var(--qp-shadow-card);
}
.panel-intro { overflow: hidden; }
.panel-heading, .box-header {
  background: #fff;
  border-bottom: 1px solid var(--qp-line-2);
  border-top-left-radius: var(--qp-radius);
  border-top-right-radius: var(--qp-radius);
  padding: 14px 18px;
}
.panel-title, .box-header .box-title { font-weight: 600; color: var(--qp-ink); font-size: 15px; }
.panel-body, .box-body { padding: 18px; }
.panel-default > .panel-heading { background: #fff; }

/* 内容卡片悬浮 */
.panel-intro:hover { box-shadow: var(--qp-shadow-card); }

/* =====================================================================
 * 按钮
 * ===================================================================== */
.btn {
  border-radius: var(--qp-radius-sm);
  font-weight: 500;
  transition: all .18s;
  border: 1px solid transparent;
}
.btn:focus, .btn:active:focus, .btn.active:focus { outline: none; box-shadow: 0 0 0 3px rgba(30, 111, 255, .14); }

.btn-primary {
  background: var(--qp-primary);
  border-color: var(--qp-primary);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background: #1560e6; border-color: #1560e6; color: #fff;
  box-shadow: 0 5px 14px rgba(30, 111, 255, .28);
}
/* 新增/成功类按钮统一为青绿色，与主色协调 */
.btn-success {
  background: var(--qp-primary-2);
  border-color: var(--qp-primary-2);
  color: #fff;
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
  background: #0fb0b0; border-color: #0fb0b0; color: #fff;
  box-shadow: 0 5px 14px rgba(19, 194, 194, .28);
}
.btn-danger { background: var(--qp-danger); border-color: var(--qp-danger); color: #fff; }
.btn-danger:hover, .btn-danger:focus { background: #e8435a; border-color: #e8435a; color: #fff; }
.btn-warning { background: var(--qp-warning); border-color: var(--qp-warning); color: #fff; }
.btn-default {
  background: #fff;
  border-color: #dde4ed;
  color: var(--qp-ink-2);
}
.btn-default:hover, .btn-default:focus {
  background: #fff; border-color: var(--qp-primary); color: var(--qp-primary);
}
.btn-link { color: var(--qp-primary); }
.btn-link:hover { color: #0d5ce0; }
/* 工具栏图标按钮 */
.toolbar .btn .fa, .fixed-table-toolbar .btn .fa { margin-right: 4px; }

/* =====================================================================
 * 表单
 * ===================================================================== */
.form-control, .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-radius: var(--qp-radius-sm);
  border-color: #dde4ed;
  transition: border-color .16s, box-shadow .16s;
}
.form-control { color: var(--qp-ink); background: #fff; }
.form-control:focus {
  border-color: var(--qp-primary);
  box-shadow: 0 0 0 3px rgba(30, 111, 255, .12);
}
.form-control::placeholder { color: #aab5c4; }
label { color: var(--qp-ink-2); font-weight: 500; }
.help-block { color: var(--qp-ink-3); }
.input-group-addon { border-radius: var(--qp-radius-sm); border-color: #dde4ed; background: #f8fafc; color: var(--qp-ink-2); }
.checkbox input[type=checkbox], .radio input[type=radio], input[type=checkbox], input[type=radio] { accent-color: var(--qp-primary); }

/* =====================================================================
 * 表格
 * ===================================================================== */
.table { background: #fff; }
.table > thead > tr > th {
  background: #f7f9fc;
  border-bottom: 1px solid var(--qp-line);
  border-top: none;
  color: var(--qp-ink-2);
  font-weight: 600;
  text-transform: none;
}
.table > tbody > tr > td, .table > thead > tr > th { border-top: 1px solid var(--qp-line-2); }
/* 去除竖向边框，仅保留横向分隔 */
.table-bordered, .table-bordered > tbody > tr > td, .table-bordered > thead > tr > th { border-left: none; border-right: none; }
.table-bordered { border: none; }
.table-striped > tbody > tr:nth-of-type(odd) { background: #fafbfd; }
.table-hover > tbody > tr:hover { background: var(--qp-tint); }
.table > tbody > tr > td { color: var(--qp-ink-2); }
.bootstrap-table .table { margin-bottom: 0; }

/* 表格上方工具栏 */
.fixed-table-toolbar .bars, .fixed-table-toolbar .search, .fixed-table-toolbar .columns { margin-top: 4px; }
.fixed-table-pagination .pagination-detail { color: var(--qp-ink-3); }

/* =====================================================================
 * 标签页 / 分页 / 徽章 / 下拉 / 模态
 * ===================================================================== */
.nav-tabs { border-bottom: 1px solid var(--qp-line); }
.nav-tabs > li > a { color: var(--qp-ink-2); border: none; border-radius: 0; margin-right: 4px; transition: .16s; }
.nav-tabs > li > a:hover { background: var(--qp-tint); color: var(--qp-primary); }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  border: none; border-bottom: 2px solid var(--qp-primary); color: var(--qp-primary); font-weight: 600;
}

.pagination > li > a, .pagination > li > span {
  color: var(--qp-ink-2); border-color: #e3e9f1; border-radius: var(--qp-radius-sm); margin: 0 3px;
}
.pagination > li > a:hover { color: var(--qp-primary); border-color: var(--qp-primary); background: #fff; }
.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover,
.pagination > .active > span { background: var(--qp-primary); border-color: var(--qp-primary); color: #fff; }
.pagination > .disabled > a, .pagination > .disabled > a:hover { color: #b6c0cd; }

.badge { border-radius: 10px; font-weight: 600; padding: 3px 8px; font-size: 11.5px; }
.label { border-radius: 5px; font-weight: 600; padding: .25em .6em; font-size: 11.5px; }
.label-primary, .badge.bg-primary { background: var(--qp-primary) !important; }
.label-success, .badge.bg-success, .bg-green { background: var(--qp-success) !important; }
.label-warning, .badge.bg-warning { background: var(--qp-warning) !important; }
.label-danger, .badge.bg-danger { background: var(--qp-danger) !important; }
.label-info { background: var(--qp-primary-2) !important; }

.dropdown-menu {
  border: 1px solid var(--qp-line);
  border-radius: var(--qp-radius-sm);
  box-shadow: var(--qp-shadow-hover);
  padding: 6px;
}
.dropdown-menu > li > a { color: var(--qp-ink-2); border-radius: 6px; padding: 8px 14px; transition: .14s; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background: var(--qp-tint); color: var(--qp-primary); }
.dropdown-menu .divider { background: var(--qp-line-2); margin: 5px 0; }

.modal-content {
  border: none; border-radius: var(--qp-radius); overflow: hidden;
  box-shadow: 0 20px 60px rgba(20, 50, 100, .25);
}
.modal-header { background: #fff; border-bottom: 1px solid var(--qp-line-2); padding: 16px 20px; }
.modal-title { font-weight: 600; color: var(--qp-ink); }
.modal-body { padding: 20px; }
.modal-footer { border-top: 1px solid var(--qp-line-2); padding: 14px 20px; }

.alert { border: none; border-radius: var(--qp-radius-sm); }
.alert-success { background: #e7f8f1; color: #128a63; }
.alert-warning { background: #fdf3e1; color: #b9791a; }
.alert-danger { background: #fdecef; color: #cf3a50; }
.alert-info { background: var(--qp-tint); color: #1559b8; }

/* 工具条/卡片内嵌快速统计 */
.info-box, .small-box { border-radius: var(--qp-radius); box-shadow: var(--qp-shadow-card); }
.small-box { background: #fff !important; color: var(--qp-ink) !important; }
.small-box .inner h3 { color: var(--qp-primary); font-weight: 700; }
.small-box .inner p { color: var(--qp-ink-2); }
.small-box .icon { color: #d6e4f7 !important; }
.small-box-footer { background: rgba(0,0,0,.02) !important; color: var(--qp-ink-2) !important; }

/* 页脚 */
.main-footer { background: #fff; border-top: 1px solid var(--qp-line); color: var(--qp-ink-3); padding: 12px 20px; }

/* 选中文字 */
::selection { background: rgba(30, 111, 255, .18); }

/* 响应式：窄屏保持可用，不改变结构 */
@media (max-width: 767px) {
  .main-header .logo, .main-header .navbar { background: #fff !important; }
  .panel-body, .box-body { padding: 14px; }
}
/* ===== 入驻审核弹窗 ===== */
.qpms-audit-layer{border-radius:14px!important;overflow:hidden;box-shadow:0 16px 48px rgba(20,40,80,.18)!important;border:0!important;}
.qpms-audit-layer .layui-layer-title{background:#fff;border-bottom:1px solid #eef1f6;color:#1f2a44;font-size:15px;font-weight:600;}
.qpms-audit-layer .layui-layer-content{padding:20px 24px 4px!important;}
.qpms-audit-layer .layui-layer-btn{padding:14px 24px 20px;text-align:right;}
.qpms-audit-layer .layui-layer-btn a{height:36px;line-height:36px;border-radius:9px;padding:0 22px;font-size:14px;margin-left:10px;border:0;}
.qpms-audit-layer .layui-layer-btn .layui-layer-btn0{background:linear-gradient(135deg,#2f7fff,#1e6fff);color:#fff;box-shadow:0 6px 16px rgba(30,111,255,.28);}
.qpms-audit-layer .layui-layer-btn .layui-layer-btn1{background:#f1f4f9;color:#5a6a85;}
.qpms-audit-form .audit-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid #eef1f6;border-radius:10px;cursor:pointer;font-size:14px;color:#3d4a66;transition:all .15s;}
.qpms-audit-form .audit-opt:hover{border-color:#c5d8ff;background:#f8fbff;}
.qpms-audit-form .audit-opt input{margin:0;}
.qpms-audit-form .audit-opt .dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.qpms-audit-form .dot-green{background:#20b985;}
.qpms-audit-form .dot-red{background:#f3556a;}
.qpms-audit-form .dot-blue{background:#1e6fff;}
.qpms-audit-form .audit-remark{width:100%;margin-top:8px;border:1px solid #e3e8f0;border-radius:10px;padding:10px 12px;font-size:13px;resize:vertical;outline:none;box-sizing:border-box;color:#3d4a66;}
.qpms-audit-form .audit-remark:focus{border-color:#8ab4ff;}