/* ============================================================
   GM 会员中心主题覆盖 · 基于麦云设计体系
   深海军蓝 #0E0B2A / 主蓝 #149CF4 / 绿 #58D06D
   加载于 common.css 与主题色 CSS 之后，覆盖默认视觉
   不改动任何功能标记与 JS 逻辑，仅视觉层
   ============================================================ */

:root {
  --gm-blue: #149CF4;
  --gm-blue-dark: #0D82CF;
  --gm-navy: #0E0B2A;
  --gm-navy-2: #171243;
  --gm-green: #58D06D;
  --gm-body: #758696;
  --gm-radius: 10px;
  --color-primary: #149CF4;
}

/* ---------------- 全局基调 ---------------- */
body {
  font-family: -apple-system, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', sans-serif !important;
}

/* 主按钮统一品牌蓝 */
.el-button--primary {
  background-color: var(--gm-blue) !important;
  border-color: var(--gm-blue) !important;
}
.el-button--primary:hover,
.el-button--primary:focus {
  background-color: var(--gm-blue-dark) !important;
  border-color: var(--gm-blue-dark) !important;
}
.el-button--primary.is-plain {
  color: var(--gm-blue) !important;
  background: rgba(20, 156, 244, .08) !important;
  border-color: rgba(20, 156, 244, .4) !important;
}
.el-button--text { color: var(--gm-blue) !important; }

/* 输入框聚焦态 */
.el-input__inner:focus,
.el-input.is-active .el-input__inner {
  border-color: var(--gm-blue) !important;
}
.el-input__inner {
  border-radius: 6px;
}
.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
  background-color: var(--gm-blue) !important;
  border-color: var(--gm-blue) !important;
}
.el-checkbox__input.is-checked + .el-checkbox__label { color: var(--gm-blue) !important; }
.el-radio__input.is-checked .el-radio__inner { border-color: var(--gm-blue) !important; background: var(--gm-blue) !important; }
.el-loading-spinner .path { stroke: var(--gm-blue) !important; }

/* 链接色 */
a { color: var(--gm-blue); }

/* 滚动条 */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #C9D4E0; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gm-blue); }

/* ---------------- 侧边菜单（登录后） ---------------- */
.aside-menu,
#app .el-aside,
.aside {
  background: var(--gm-navy) !important;
}
.aside-menu .menu-item,
.el-menu-item,
.el-submenu__title {
  color: #A8A5C8 !important;
}
.el-menu-item:hover,
.el-submenu__title:hover,
.el-menu-item.is-active {
  color: #fff !important;
  background: rgba(20, 156, 244, .18) !important;
}
.el-menu-item.is-active {
  border-right: 3px solid var(--gm-blue);
}

/* ---------------- 顶部菜单 ---------------- */
.top-menu,
.el-header {
  background: #fff !important;
  border-bottom: 1px solid #E3E6EC;
}

/* ---------------- 登录/注册页换肤 ---------------- */
/* 整体：左右分栏，左侧深蓝品牌区 + 右侧白色表单区 */
.login-container {
  background: #fff !important;
  display: grid !important;
  grid-template-columns: minmax(380px, 46%) 1fr !important;
  min-height: 100vh !important;
  position: relative !important;
  overflow: hidden;
}

/* 左侧品牌面板（原 .container-back） */
.login-container .container-back {
  position: relative !important;
  background:
    radial-gradient(ellipse 900px 600px at 120% -10%, rgba(20, 156, 244, .35), transparent 60%),
    radial-gradient(ellipse 700px 500px at -20% 110%, rgba(88, 208, 109, .18), transparent 60%),
    linear-gradient(160deg, #0E0B2A 0%, #171243 55%, #1F1A55 100%) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
/* 装饰线改造为有机曲线感 */
.login-container .back-line1,
.login-container .back-line2,
.login-container .back-line3 {
  border: 2px dashed rgba(88, 208, 109, .35) !important;
  border-radius: 50% !important;
  background: transparent !important;
  opacity: .8;
}
.login-container .back-line1 { width: 520px !important; height: 520px !important; top: -140px !important; right: -120px !important; left: auto !important; }
.login-container .back-line2 { width: 340px !important; height: 340px !important; bottom: -100px !important; left: -80px !important; top: auto !important; right: auto !important; border-color: rgba(20, 156, 244, .4) !important; }
.login-container .back-line3 { width: 180px !important; height: 180px !important; bottom: 120px !important; right: 15% !important; top: auto !important; left: auto !important; opacity: .5; }
.login-container .back-text {
  position: relative !important;
  z-index: 2;
  max-width: 420px;
}
.login-container .text-welcome {
  font-size: 13px !important;
  letter-spacing: .3em !important;
  color: #58D06D !important;
  background: rgba(88, 208, 109, .12) !important;
  border: 1px solid rgba(88, 208, 109, .4) !important;
  display: inline-block;
  padding: 6px 16px !important;
  border-radius: 99px !important;
  margin-bottom: 22px !important;
}
.login-container .text-title {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.4 !important;
  letter-spacing: -.01em;
}
.login-container .text-level {
  font-size: 15px !important;
  color: #A8A5C8 !important;
  margin-top: 16px !important;
  line-height: 1.8 !important;
}

/* 右侧表单区 */
.login-container .container-before {
  position: relative !important;
  background: #fff !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 40px;
}
.login-container .login {
  width: 100% !important;
  max-width: 400px !important;
  padding: 30px 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.login-container .login-text-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #14122B !important;
}
.login-container .login-text-regist a { color: var(--gm-blue) !important; font-weight: 600; }

/* 表单 */
.login-container .form-main .el-input__inner {
  height: 46px !important;
  line-height: 46px !important;
  border-radius: 8px !important;
}
.login-container .login-btn {
  height: 46px !important;
  border-radius: 8px !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  background: var(--gm-blue) !important;
  border: 0 !important;
}
.login-container .login-btn:hover { background: var(--gm-blue-dark) !important; }
.login-container .pass-btn {
  border: 0 !important;
  color: var(--gm-body) !important;
  background: transparent !important;
}

/* 扫码入口 */
.login-container .qr-code {
  background: var(--gm-navy) !important;
  border-radius: 12px !important;
}

/* 语言/跳转按钮浮层 */
.login-jump-btn {
  position: absolute !important;
  top: 22px !important;
  right: 30px !important;
  z-index: 10;
}

/* ---------------- 响应式：窄屏隐藏品牌区 ---------------- */
@media (max-width: 860px) {
  .login-container { grid-template-columns: 1fr !important; }
  .login-container .container-back { display: none !important; }
}

/* ---------------- 会员中心首页卡片（轻微品牌化） ---------------- */
.el-card {
  border-radius: var(--gm-radius) !important;
  border-color: #E3E6EC !important;
  box-shadow: 0 1px 2px rgba(14, 11, 42, .04), 0 4px 16px rgba(14, 11, 42, .05) !important;
}
.el-card__header { border-bottom-color: #EEF1F5 !important; }

/* 表格 */
.el-table th { background: #F5F6F8 !important; color: #14122B !important; }
.el-table td, .el-table th.is-leaf { border-bottom-color: #EEF1F5 !important; }

/* 分页 */
.el-pagination.is-background .el-pager li:not(.disabled).active {
  background-color: var(--gm-blue) !important;
}
.el-pagination.is-background .el-pager li:not(.disabled):hover { color: var(--gm-blue) !important; }

/* 弹窗 */
.el-dialog { border-radius: 12px !important; }
.el-dialog__header { border-bottom: 1px solid #EEF1F5; }

/* 标签 */
.el-tag--primary { background: rgba(20, 156, 244, .1) !important; color: var(--gm-blue) !important; border-color: rgba(20, 156, 244, .3) !important; }

/* 页面主Loading */
#mainLoading .ddr { background: var(--gm-blue) !important; }
