/* 后台管理布局：左侧菜单栏 + 右侧内容区（深色主题，与登录页/K线页一致） */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
  font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
  background: #0d1520; color: #e0e6ed;
}

/* ---------- 整体布局 ---------- */
.layout { display: flex; height: 100vh; }
.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.content { position: relative; flex: 1; min-height: 0; overflow: hidden; }
.spacer { flex: 1; }

/* ---------- 左侧菜单栏 ---------- */
.sidebar {
  width: 210px; flex-shrink: 0;
  background: #111c2b; border-right: 1px solid rgba(255,255,255,0.08);
  display: flex; flex-direction: column;
}
.brand { padding: 16px 16px 14px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.brand-title { font-size: 15px; font-weight: 700; }
.brand-sub { font-size: 11px; color: #8a97a8; margin-top: 4px; }

.menu { flex: 1; overflow-y: auto; padding: 8px 0; }
.menu-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px; font-size: 13.5px; color: #aab6c5;
  cursor: pointer; user-select: none; text-decoration: none;
  border-left: 3px solid transparent;
}
.menu-item:hover { background: rgba(255,255,255,0.05); color: #e0e6ed; }
.menu-item .icon { font-size: 14px; width: 18px; text-align: center; }
.menu-item.active {
  color: #fff; background: rgba(58,122,254,0.15);
  border-left-color: #3a7afe;
}
.caret { margin-left: auto; font-size: 10px; color: #8a97a8; transition: transform .2s; }
.menu-group.open > .menu-item .caret { transform: rotate(180deg); }

.submenu { display: none; }
.menu-group.open .submenu { display: block; }
.submenu-item {
  display: block; padding: 9px 16px 9px 44px;
  font-size: 13px; color: #8a97a8; text-decoration: none;
  border-left: 3px solid transparent; cursor: pointer;
}
.submenu-item:hover { background: rgba(255,255,255,0.05); color: #e0e6ed; }
.submenu-item.active {
  color: #5a9bff; background: rgba(58,122,254,0.12);
  border-left-color: #3a7afe;
}
.sidebar-footer {
  padding: 10px 16px; font-size: 11px; color: #5c6a7d;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* ---------- 顶栏 ---------- */
.topbar {
  min-height: 48px; display: flex; align-items: center; gap: 14px;
  padding: 8px 18px; background: #111c2b;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.page-title { font-size: 15px; font-weight: 700; }
.logout-btn {
  background: rgba(255,255,255,0.08); color: #c5cfdb;
  border: 1px solid rgba(255,255,255,0.12); border-radius: 4px;
  padding: 5px 12px; font-size: 12px; cursor: pointer;
}
.logout-btn:hover { background: rgba(255,93,93,0.25); border-color: #ff5d5d; color: #ff8787; }

/* ---------- 通用弹窗 + 表单（修改密码等全局弹窗用；与各页面局部样式同款） ---------- */
.btn { background: #3a7afe; color: #fff; border: none; border-radius: 4px; padding: 6px 14px; font-size: 12.5px; cursor: pointer; }
.btn:hover { opacity: .88; }
.btn.ghost { background: rgba(255,255,255,0.08); color: #c5cfdb; border: 1px solid rgba(255,255,255,0.12); }
.btn.ghost:hover { opacity: 1; border-color: #3a7afe; color: #fff; }
.modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.55); display: none; align-items: center; justify-content: center; z-index: 50; }
.modal-mask.show { display: flex; }
.modal { width: 400px; background: #141f30; border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 20px 22px; }
.modal h3 { font-size: 14px; margin-bottom: 16px; color: #e0e6ed; }
.form-item { margin-bottom: 12px; }
.form-item label { display: block; font-size: 12px; color: #8a97a8; margin-bottom: 5px; }
.form-item input, .form-item select {
  width: 100%; padding: 8px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.15);
  background: rgba(0,0,0,0.3); color: #e0e6ed; font-size: 13px; outline: none;
}
.form-item input:focus, .form-item select:focus { border-color: #3a7afe; }
.form-error { color: #ff6b6b; font-size: 12px; min-height: 16px; margin-top: 4px; }
.modal-foot { display: flex; justify-content: flex-end; gap: 10px; margin-top: 12px; }
