/*
 * 总后台自有样式：只补官方 app.css 里没有的部分（滚动容器、表格微调、
 * 弹窗表单、分页、提示条、未开放占位）。配色沿用官方那套紫蓝 #535dd4。
 */
html, body { height: 100%; margin: 0; }
body {
  font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  background: #f3f3f3;
  color: #2b2d3f;
  font-size: 14px;
}
[hidden] { display: none !important; }

/* -------------------------------------------------------------- 登录页 */
#login.login-page { position: fixed; inset: 0; }
.login-page .captcha-img {
  height: 36px; width: 90px; margin-right: 8px; border-radius: 2px; cursor: pointer;
}
.login-page .login-msg { color: #ff5252; font-size: 14px; min-height: 20px; margin-top: 10px; text-align: center; }

/* -------------------------------------------------------------- 侧边栏 */
.sidebar-scroll { height: calc(100% - 130px); overflow-y: auto; overflow-x: hidden; }
.sidebar-scroll::-webkit-scrollbar { width: 6px; }
.sidebar-scroll::-webkit-scrollbar-thumb { background: #4a4d7a; border-radius: 3px; }
.slide-bar-content .pwd-btn {
  margin: 10px; padding: 8px 0; text-align: center; cursor: pointer; border-radius: 6px;
  color: #fff; font-size: 13px; background: linear-gradient(270deg, #6d63de, #4e5bd3);
}
.slide-bar-content .el-submenu__title { cursor: pointer; }
.slide-bar-content .el-menu-item-text { cursor: pointer; }
.slide-bar-content .el-menu--inline .el-menu-item.is-active { color: #fff !important; }

/* ------------------------------------------------------------- 内容区 */
.app-container { padding: 16px 10px 40px; }
.crumb-cur { color: #2b2d3f; font-size: 15px; font-weight: 600; }
.toolbar { display: flex; align-items: center; margin-bottom: 10px; }
.toolbar .search { margin-bottom: 0; margin-right: 12px; }

/* 表格：官方是 header/body 两张表，这里合成一张，保持相同视觉 */
.el-table.reset-table .el-table__body-wrapper { overflow-x: auto; }
.el-table.reset-table .el-table__body { width: 100%; min-width: 100%; table-layout: auto; }
.el-table.reset-table thead th.el-table__cell {
  background: #f5f6fb; color: #2b2d3f; font-weight: 600; border-bottom: 1px solid #dcdce5;
}
.el-table.reset-table td.el-table__cell,
.el-table.reset-table th.el-table__cell { padding: 8px 0; }
.el-table.reset-table .cell { white-space: nowrap; }
.el-table.reset-table .cell.is-center { text-align: center; }
.el-table .empty-cell { text-align: center; color: #909399; padding: 24px 0; }
.muted-cell { color: #b3b3bf; }
.tag-ok { color: #1aa053; }
.tag-bad { color: #e6473c; }
.row-ops { display: flex; gap: 6px; justify-content: center; flex-wrap: nowrap; white-space: nowrap; }
.row-ops .el-button { margin-left: 0 !important; }

/* -------------------------------------------------------------- 分页 */
.yx-pager { margin-top: 12px; display: flex; align-items: center; gap: 6px; }
.yx-pager .el-pagination__total { margin-right: 8px; color: #606266; }
.el-pager-btn {
  min-width: 30px; height: 28px; padding: 0 8px; border: 1px solid #dcdce5; background: #fff;
  border-radius: 4px; cursor: pointer; color: #2b2d3f; font-size: 13px;
}
.el-pager-btn:hover { color: #535dd4; }
.el-pager-btn.active { background: #535dd4; border-color: #535dd4; color: #fff; }
.el-pager-gap { color: #909399; padding: 0 2px; }

/* -------------------------------------------------------------- 弹窗 */
.v-modal { position: fixed; inset: 0; background: rgba(0, 0, 0, .5); z-index: 2000; }
.yx-dialog {
  position: fixed; inset: 0; z-index: 2001; overflow: auto;
}
.yx-dialog .el-dialog { margin: 12vh auto 50px; }
.yx-dialog .el-form-item { display: flex; align-items: center; margin-bottom: 14px; }
.yx-dialog .el-form-item__label { width: 110px; text-align: right; padding-right: 12px; color: #606266; }
.yx-dialog .el-form-item__content { flex: 1; display: flex; align-items: center; }
.yx-dialog .el-input { flex: 1; }
.yx-dialog .form-tip { color: #909399; font-size: 12px; margin-left: 10px; white-space: nowrap; }
.yx-dialog .static-value { font-size: 15px; color: #2b2d3f; line-height: 1.8; }
.yx-dialog .el-input__inner.is-disabled { background: #f5f7fa; color: #b3b3bf; cursor: not-allowed; }
.yx-dialog .dialog-footer { text-align: right; }

/* ------------------------------------------------------------ 账户概览 */
.ov-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.ov-card {
  background: #fff; border: 1px solid #e6e8f5; border-radius: 8px; padding: 16px 18px;
  box-shadow: 0 1px 4px rgba(0, 21, 41, .04);
}
.ov-card.muted { opacity: .6; }
.ov-label { color: #909399; font-size: 13px; margin-bottom: 8px; }
.ov-value { color: #535dd4; font-size: 22px; font-weight: 700; }
.ov-note { grid-column: 1 / -1; color: #909399; font-size: 13px; }

/* ---------------------------------------------------------- 其他区块 */
.panel-card { background: #fff; border: 1px solid #e6e8f5; border-radius: 8px; padding: 20px; }
.flow-detail { margin-top: 18px; }
.flow-title { margin: 0 0 10px; font-size: 15px; color: #2b2d3f; }
.not-open {
  background: #fff; border: 1px solid #e6e8f5; border-radius: 8px; padding: 60px 20px; text-align: center;
}
.not-open-title { font-size: 18px; color: #2b2d3f; margin: 0 0 10px; }
.not-open-text { color: #909399; margin: 0; }

/* -------------------------------------------------------------- 提示 */
#toast-root { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 3000; }
.yx-toast {
  min-width: 240px; margin-bottom: 10px; padding: 12px 18px; border-radius: 4px; font-size: 14px;
  background: #edf2fc; color: #606266; box-shadow: 0 2px 12px rgba(0, 0, 0, .1); transition: opacity .3s;
}
.yx-toast.ok { background: #f0f9eb; color: #67c23a; }
.yx-toast.err { background: #fef0f0; color: #f56c6c; }
.yx-toast.out { opacity: 0; }
