/* =========================================================
   科技工坊 · FastAdmin 用户中心主题
   覆盖 Bootstrap3 默认样式，与官网登录/注册/会员中心风格统一
   主色 #2b7cf5 · 主按钮蓝色渐变 · 控件高 40px
   用法：在本目录模板中加入
   <link rel="stylesheet" href="techgongfang-user.css">
   部署到 FastAdmin 时请将路径改为实际 CSS 存放路径
   ========================================================= */

body {
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color: #333a45;
}

/* ---------- 卡片面板 ---------- */
.panel-default {
  border: none;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(43, 124, 245, 0.12);
}

.panel-default > .panel-heading {
  background: #fff;
  border-bottom: 1px solid #e3e8f0;
  border-radius: 12px 12px 0 0;
}

.panel-body { padding: 24px 28px 30px; }

/* ---------- 页标题 ---------- */
.page-header {
  margin-top: 0;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e3e8f0;
  font-size: 19px;
  font-weight: 700;
  color: #333a45;
}

.page-header .btn { margin-top: -6px; }

.page-header .btn-primary .fa { margin-right: 4px; }

/* ---------- 按钮 ---------- */
.btn {
  border-radius: 8px;
  font-family: inherit;
  transition: background 0.2s, box-shadow 0.2s, color 0.2s, border-color 0.2s;
}

.btn-primary {
  background: linear-gradient(135deg, #2b7cf5, #4f96ff);
  border: none;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 6px 16px rgba(43, 124, 245, 0.35);
}

.btn-primary:hover, .btn-primary:focus,
.btn-primary:active, .btn-primary.active,
.btn-primary.disabled, .btn-primary[disabled] {
  background: linear-gradient(135deg, #1e63d0, #3b86f7);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 20px rgba(43, 124, 245, 0.42);
}

/* 次按钮：浅蓝描边（重置 / 返回注册等） */
.btn-default {
  background: #e8f1ff;
  border: 1px solid rgba(43, 124, 245, 0.35);
  color: #2b7cf5;
  font-weight: 600;
}

.btn-default:hover, .btn-default:focus {
  background: #dbe9ff;
  border-color: rgba(43, 124, 245, 0.6);
  color: #1e63d0;
}

/* 拼接在输入框右侧的功能按钮（修改 / 获取验证码） */
.btn-info {
  background: #2b7cf5;
  border: none;
  color: #fff;
}

.btn-info:hover, .btn-info:focus {
  background: #1e63d0;
  border-color: transparent;
  color: #fff;
}

.btn-success { background: #2b7cf5; border-color: #2b7cf5; }
.btn-success:hover, .btn-success:focus { background: #1e63d0; border-color: #1e63d0; }

/* ---------- 表单 ---------- */
.control-label { color: #333a45; font-weight: 600; }

.form-control {
  height: 36px;
  padding: 0 13px;
  font-size: 14px;
  font-family: inherit;
  color: #333a45;
  background: #fafcff;
  border: 1px solid #e3e8f0;
  border-radius: 8px;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

textarea.form-control { height: auto; padding: 10px 13px; }

.form-control:focus {
  border-color: #2b7cf5;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(43, 124, 245, 0.14);
}

.form-control[disabled], .form-control[readonly] {
  background: #f4f6fa;
  color: #8a93a3;
}

.input-group .form-control {
  border-right: none;
  border-radius: 8px 0 0 8px;
}

.input-group-btn .btn {
  height: 36px;
  border: none;
  border-radius: 0 8px 8px 0;
}

.help-block, .msg-box { font-size: 12px; }

/* ---------- 登录 / 注册选项卡 ---------- */
.user-section { max-width: 440px; margin: 0 auto; }

.logon-tab {
  display: flex;
  background: #f2f6fc;
  border-radius: 12px 12px 0 0;
  overflow: hidden;
}

.logon-tab a {
  float: none;
  flex: 1;
  padding: 14px 0;
  text-align: center;
  font-size: 15px;
  letter-spacing: 2px;
  color: #8a93a3;
  background: transparent;
  border-bottom: none;
}

.logon-tab a:hover { color: #2b7cf5; background: transparent; }

.logon-tab a.active {
  background: #fff;
  color: #2b7cf5;
  font-weight: 700;
}

.login-main {
  background: #fff;
  padding: 28px 26px 30px;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 12px 40px rgba(43, 124, 245, 0.12);
}

.login-main .btn-lg {
  height: 46px;
  font-size: 15px;
  letter-spacing: 6px;
}

.login-main .btn-block + .btn-block { margin-top: 12px; }

.checkbox label { color: #8a93a3; }

.btn-forgot { color: #8a93a3; font-size: 13px; }
.btn-forgot:hover { color: #2b7cf5; }

/* ---------- 会员中心基本信息 ---------- */
.user-center .avatar-img img,
.profile-user-img {
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 4px 12px rgba(43, 124, 245, 0.18);
}

.user-baseinfo h4 a { color: #2b7cf5; font-weight: 700; }

/* 信息条：标签 + 值 整行卡片（与设计稿一致） */
.basicinfo .row { margin: 0; }

.basicinfo .info-item {
  display: flex;
  align-items: center;
  margin: 0 6px 12px;
  padding: 12px 16px;
  background: #f7faff;
  border: 1px solid #edf2fb;
  border-radius: 8px;
  font-size: 14px;
}

.basicinfo .info-label {
  width: 84px;
  flex-shrink: 0;
  color: #8a93a3;
}

.basicinfo .info-value {
  color: #333a45;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.basicinfo .info-value a.viewmoney,
.basicinfo .info-value a.viewscore {
  color: #2b7cf5;
  font-weight: 600;
}

/* 「修改资料」白底描边按钮（设计稿同款：灰字灰图标，悬停变蓝） */
.btn-ghost-primary {
  background: #fff !important;
  border: 1px solid #e3e8f0 !important;
  color: #5a6579 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  height: 44px !important;
  line-height: 42px !important;
  padding: 0 18px !important;
  border-radius: 8px !important;
}

.btn-ghost-primary .fa { color: #8a93a3; margin-right: 6px; transition: color 0.2s; }

.btn-ghost-primary:hover, .btn-ghost-primary:focus {
  background: #f6faff !important;
  border-color: rgba(43, 124, 245, 0.45) !important;
  color: #2b7cf5 !important;
}

.btn-ghost-primary:hover .fa, .btn-ghost-primary:focus .fa { color: #2b7cf5; }

/* ---------- 左侧导航 ---------- */
.col-md-3 .panel {
  border: none;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(43, 124, 245, 0.12);
}

.list-group-item {
  border: none;
  border-left: 3px solid transparent;
  border-radius: 8px;
  margin-bottom: 2px;
  color: #5a6579;
}

.list-group-item:hover { background: #f6faff; color: #2b7cf5; }

.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background: #e8f1ff;
  color: #2b7cf5;
  font-weight: 600;
  border-left-color: #2b7cf5;
}

/* ---------- 弹层表单（修改邮箱 / 手机号 / 重置密码） ---------- */
.form-layer .form-footer { background: #f2f6fc; }

.form-footer .btn-primary {
  height: 36px;
  padding: 0 24px;
  letter-spacing: 2px;
}

/* =========================================================
   强接管区：覆盖 FastAdmin 自带的登录/注册默认样式
   （FastAdmin 对 logon-tab / login-main / btn-block 有内置样式，
    必须用 !important 才能完全生效）
   ========================================================= */

.user-section .logon-tab {
  display: flex !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #f2f6fc !important;
  border: none !important;
  border-radius: 12px 12px 0 0 !important;
  overflow: hidden !important;
}

.user-section .logon-tab a {
  float: none !important;
  display: block !important;
  flex: 1 !important;
  width: auto !important;
  padding: 14px 0 !important;
  margin: 0 !important;
  text-align: center !important;
  font-size: 15px !important;
  letter-spacing: 2px !important;
  color: #8a93a3 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.user-section .logon-tab a:hover { color: #2b7cf5 !important; background: transparent !important; }

.user-section .logon-tab a.active {
  background: #fff !important;
  color: #2b7cf5 !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: none !important;
}

/* 登录主体卡片：阴影只保留一层柔和蓝影 */
.user-section .login-main {
  background: #fff !important;
  border: none !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 12px 40px rgba(43, 124, 245, 0.12) !important;
  padding: 28px 26px 30px !important;
}

/* 相邻按钮间距收敛（主按钮与次按钮之间只留 14px） */
.btn-block + .btn-block { margin-top: 0 !important; }

/* 隐藏 Edge/IE 原生密码显隐眼睛，避免与自定义眼睛重复 */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear { display: none; }

/* =========================================================
   登录/注册区域二次接管：
   1) 去掉 FastAdmin 外层大白底，卡片收窄到 440px 居中
   2) 补上选中选项卡的 48px 蓝色下划线
   ========================================================= */

/* 外层容器透明化，避免大白底包住小卡片 */
#content-container { background: transparent !important; }

.user-section {
  max-width: 440px !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 选中选项卡下划线（与演示站一致） */
.user-section .logon-tab a { position: relative !important; }

.user-section .logon-tab a.active::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: 0 !important;
  width: 48px !important;
  height: 3px !important;
  border-radius: 3px 3px 0 0 !important;
  background: #2b7cf5 !important;
}

/* =========================================================
   三次接管：按钮 / 表单 / 第三方登录按钮强覆盖
   （线上 FastAdmin 默认皮肤可能后加载或优先级更高，统一 !important 兜底）
   ========================================================= */

/* 主按钮：蓝色渐变（覆盖默认深灰实底） */
.user-section .btn-primary {
  background: linear-gradient(135deg, #2b7cf5, #4f96ff) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 16px rgba(43, 124, 245, 0.35) !important;
}

.user-section .btn-primary:hover,
.user-section .btn-primary:focus,
.user-section .btn-primary:active {
  background: linear-gradient(135deg, #1e63d0, #3b86f7) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(43, 124, 245, 0.42) !important;
}

/* 次按钮：浅蓝描边（覆盖默认灰底） */
.user-section .btn-default {
  background: #e8f1ff !important;
  border: 1px solid rgba(43, 124, 245, 0.35) !important;
  color: #2b7cf5 !important;
  font-weight: 600 !important;
}

.user-section .btn-default:hover,
.user-section .btn-default:focus {
  background: #dbe9ff !important;
  border-color: rgba(43, 124, 245, 0.6) !important;
  color: #1e63d0 !important;
}

/* 输入控件：40px 高 + 浅蓝底 + 8px 圆角 */
.user-section .form-control {
  height: 36px !important;
  padding: 0 13px !important;
  background: #fafcff !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #333a45 !important;
}

.user-section .form-control:focus {
  border-color: #2b7cf5 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(43, 124, 245, 0.14) !important;
}

.user-section .form-group { margin-bottom: 18px !important; }

/* 主表单按钮高度与设计稿对齐 */
.user-section .login-main .btn-lg { height: 46px !important; }

/* 第三方 QQ 登录按钮：白底描边（与设计稿 QQ登录 同款，覆盖默认蓝实底） */
.user-section .login-main .btn-social,
.user-section .login-main .btn-qq,
.user-section .login-main a[href*="third"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px;
  margin-top: 12px;
  background: #fbfdff !important;
  border: 1px solid #e3e8f0 !important;
  border-radius: 8px !important;
  color: #6b7a90 !important;
  font-weight: 500 !important;
  letter-spacing: 2px;
  text-decoration: none !important;
  box-shadow: none !important;
}

.user-section .login-main .btn-social:hover,
.user-section .login-main .btn-qq:hover,
.user-section .login-main a[href*="third"]:hover {
  color: #2b7cf5 !important;
  background: #e8f1ff !important;
  border-color: rgba(43, 124, 245, 0.45) !important;
}

/* 补上设计稿大标题（登录：欢迎回来 👋 / 注册：创建新账号 ✨） */
.user-section .login-main::before {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #333a45;
  line-height: 1.3;
  margin-bottom: 18px;
}

.login-main:not(:has(#register-form))::before { content: "欢迎回来 👋"; }
.login-main:has(#register-form)::before { content: "创建新账号 ✨"; }

/* 相邻块级按钮间距收紧（覆盖 FastAdmin 注册模板的 mt-3） */
.btn-block { margin-bottom: 10px !important; }
.btn-block + .btn-block { margin-top: 0 !important; }

/* =========================================================
   layer 弹窗皮肤（忘记密码 / 修改邮箱 / 修改手机号）
   ========================================================= */

/* 弹窗整体：圆角卡片 + 柔和深色投影 */
.layui-layer {
  border-radius: 14px !important;
  box-shadow: 0 20px 60px rgba(31, 45, 61, 0.25) !important;
  overflow: hidden;
}

/* 标题栏：白底 + 底部细分隔线 */
.layui-layer-title {
  background: #fff !important;
  color: #333a45 !important;
  font-weight: 700;
  font-size: 16px;
  height: 52px !important;
  line-height: 52px !important;
  padding: 0 20px !important;
  border-bottom: 1px solid #e3e8f0 !important;
}

/* 底部按钮条：浅灰蓝底 + 品牌蓝渐变按钮 */
.layui-layer-btn {
  background: #f2f6fc !important;
  border-top: 1px solid #e3e8f0 !important;
  padding: 10px 15px !important;
  text-align: center !important;
}

.layui-layer-btn .layui-layer-btn0 {
  background: linear-gradient(135deg, #2b7cf5, #4f96ff) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 600;
  border-radius: 8px !important;
  height: 36px;
  line-height: 36px;
  padding: 0 28px !important;
}

.layui-layer-btn .layui-layer-btn0:hover {
  background: linear-gradient(135deg, #1e63d0, #3b86f7) !important;
}

.layui-layer-btn .layui-layer-btn1 {
  background: #e8f1ff !important;
  border: 1px solid rgba(43, 124, 245, 0.35) !important;
  color: #2b7cf5 !important;
  border-radius: 8px !important;
  height: 36px;
  line-height: 36px;
  padding: 0 24px !important;
}

/* 弹层表单底部条（模板内置的 form-footer） */
.form-layer .form-footer {
  background: #f2f6fc !important;
  border-top: 1px solid #e3e8f0;
}

/* 单选框品牌色（类型：通过邮箱/通过手机重置） */
input[type="radio"], input[type="checkbox"] { accent-color: #2b7cf5; }

/* 弹层内标签与控件间距微调 */
.form-layer .control-label { text-align: right; }
.form-layer .form-group { margin-bottom: 16px; }

/* =========================================================
   密码显隐眼睛按钮（登录页）
   ========================================================= */
.pwd-box {
  position: relative;
}

.pwd-box .form-control {
  padding-right: 42px;
}

.pwd-box .toggle-pwd {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #b6bfce;
  cursor: pointer;
  transition: color 0.2s;
  padding: 0;
}

.pwd-box .toggle-pwd:hover { color: #2b7cf5; }

.pwd-box .toggle-pwd svg {
  width: 18px;
  height: 18px;
}

/* =========================================================
   四次接管：选项卡分隔线 / 按钮字距 / 弹层竖排布局 / 左侧栏圆角
   ========================================================= */

/* ---------- 1. 选项卡：补分隔线 + 未选中文字加深 ---------- */
.user-section .logon-tab {
  border-bottom: 1px solid #e3e8f0 !important;
}

.user-section .logon-tab a:not(.active) {
  color: #5a6579 !important;
}

/* ---------- 2. 按钮字距：主按钮保留 4px，次按钮归零 ---------- */
.login-main .btn-lg { letter-spacing: 0 !important; }
.login-main .btn-primary.btn-lg { letter-spacing: 4px !important; }

/* ---------- 3. 弹层表单：统一竖排布局（标签在上、输入框占满整行） ---------- */
.form-layer .form-body { padding: 18px 20px 4px; }

.form-layer .control-label {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  padding: 0 !important;
  margin-bottom: 8px;
}

.form-layer .form-group > div[class*="col-"] {
  width: 100% !important;
  padding: 0 !important;
}

/* 类型单选行 */
.form-layer .radio-row {
  display: flex;
  gap: 20px;
  padding: 4px 0 2px;
}

.form-layer .radio-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: normal !important;
  color: #5a6579;
  cursor: pointer;
  margin: 0 !important;
  padding-left: 0 !important;
}

/* 验证码行：输入框 + 发送按钮并排、留缝、各自圆角 */
.form-layer .captcha-row {
  display: flex;
  gap: 10px;
}

.form-layer .captcha-row .form-control { flex: 1; min-width: 0; }

.form-layer .captcha-row .btn-captcha {
  height: 36px;
  line-height: 36px;
  padding: 0 16px !important;
  border-radius: 8px !important;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(43, 124, 245, 0.3);
}

/* 弹层底部按钮条：取消 + 确定 居中排列 */
.form-layer .form-footer {
  display: flex !important;
  justify-content: center;
  gap: 12px;
  margin: 0 !important;
  padding: 12px 15px !important;
  background: #f2f6fc !important;
  border-top: 1px solid #e3e8f0;
}

.form-layer .form-footer .btn {
  height: 36px;
  line-height: 36px;
  padding: 0 28px !important;
  margin: 0 !important;
}

.form-layer .btn-layer-cancel {
  background: #fff !important;
  border: 1px solid #e3e8f0 !important;
  color: #5a6579 !important;
  font-weight: 600;
}

.form-layer .btn-layer-cancel:hover {
  color: #2b7cf5 !important;
  border-color: rgba(43, 124, 245, 0.45) !important;
  background: #fff !important;
}

/* ---------- 4. 左侧栏：圆角卡片强接管 ---------- */
.col-md-3 > .panel,
.col-md-3 > .panel-default,
.col-md-3 > .list-group,
.col-md-3 > div {
  border: none !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 40px rgba(43, 124, 245, 0.12) !important;
  background: #fff !important;
}

.col-md-3 .panel-heading {
  background: #fff !important;
  border-bottom: 1px solid #e3e8f0 !important;
  color: #8a93a3 !important;
}

/* =========================================================
   五次接管：弹窗免滚动 / 选项卡轮廓 / 去阴影 / 拼接按钮对齐
   ========================================================= */

/* ---------- 1. 登录/注册卡片：统一外轮廓 + 未选中文字加深 ---------- */
.user-section .logon-tab,
.user-section .login-main { box-shadow: none !important; }

.user-section {
  filter: drop-shadow(0 14px 34px rgba(43, 124, 245, 0.18));
}

.user-section .logon-tab a:not(.active) {
  color: #5a6579 !important;
  font-weight: 600 !important;
}

/* ---------- 2. layer 弹窗：高度自适应，杜绝滚动条 ---------- */
.layui-layer-page {
  height: auto !important;
  width: 560px !important;
  max-width: calc(100vw - 32px) !important;
}

.layui-layer-page .layui-layer-content {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.form-layer { height: auto !important; min-height: 0 !important; }

.form-layer .form-body {
  position: static !important;
  overflow: visible !important;
  padding: 20px 24px 6px !important;
}

.form-layer .form-group { margin-bottom: 18px !important; }

/* 底部按钮：取消 + 确定 等宽排列（与设计稿一致，无阴影） */
.form-layer .form-footer {
  padding: 14px 18px !important;
  gap: 14px !important;
}

.form-layer .form-footer .btn {
  flex: 1 !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 !important;
  font-size: 15px;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.form-layer .btn-layer-cancel {
  background: #e8f1ff !important;
  border: none !important;
  color: #2b7cf5 !important;
}

.form-layer .btn-layer-cancel:hover {
  background: #dbe9ff !important;
  color: #1e63d0 !important;
}

/* ---------- 3. 个人资料页：头像改淡阴影、确定/重置按钮去阴影加宽 ---------- */
.user-center .avatar-img img,
.profile-user-img {
  box-shadow: 0 4px 12px rgba(43, 124, 245, 0.18) !important;
}

.normal-footer .btn {
  height: 44px !important;
  line-height: 42px !important;
  min-width: 118px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* ---------- 4. 输入框拼接按钮（修改/获取验证码）：高度对齐、垂直居中 ---------- */
.input-group {
  display: flex !important;
  align-items: stretch;
}

.input-group .form-control {
  flex: 1 1 auto;
  width: 1% !important;
}

.input-group .input-group-addon,
.input-group .input-group-btn {
  display: flex !important;
  align-items: stretch;
}

.input-group .input-group-btn .btn {
  height: auto !important;
  min-height: 36px;
  padding: 0 18px !important;
  margin: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}

/* ---------- 5. 个人介绍：多行文本域 ---------- */
#content-container textarea.form-control { min-height: 130px; }

/* =========================================================
   六次接管：动态渐变背景 + 漂浮光晕（与演示站设计稿一致）
   纯 CSS 实现：body 渐变底 + body::before/::after 两个漂浮圆
   不需要改 FastAdmin 任何 layout 文件
   ========================================================= */
body {
  background:
    linear-gradient(180deg, rgba(232, 241, 255, 0.55), rgba(244, 248, 254, 0) 40%),
    radial-gradient(1200px 500px at 70% -10%, #dcebff 0%, transparent 60%),
    #f4f8fe !important;
  background-attachment: fixed !important;
}

body::before,
body::after {
  content: "";
  position: fixed;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

/* 右上角蓝色光晕，缓慢漂移缩放 */
body::before {
  width: 460px;
  height: 460px;
  top: -140px;
  right: -100px;
  background: radial-gradient(circle at 32% 32%, rgba(111, 168, 255, 0.4), rgba(43, 124, 245, 0.14) 58%, transparent 74%);
  animation: tb-float-a 14s ease-in-out infinite;
  animation-delay: var(--tb-delay-a, 0s);
}

/* 左下角橙色光晕，反向漂移 */
body::after {
  width: 380px;
  height: 380px;
  bottom: -150px;
  left: -110px;
  background: radial-gradient(circle at 60% 40%, rgba(255, 196, 140, 0.28), rgba(255, 122, 47, 0.09) 58%, transparent 75%);
  animation: tb-float-b 18s ease-in-out infinite;
  animation-delay: var(--tb-delay-b, 0s);
}

@keyframes tb-float-a {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(-46px, 34px) scale(1.08); }
}

@keyframes tb-float-b {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(54px, -30px) scale(0.94); }
}

/* 用户系统开启「减少动态效果」时自动静止 */
@media (prefers-reduced-motion: reduce) {
  body::before, body::after { animation: none; }
}

/* =========================================================
   七次接管：卡片描边（演示站 .auth-card 同款）
   解决未选中选项卡区域与页面背景同色、右上角轮廓不清
   ========================================================= */
.user-section .logon-tab {
  background: #eef3fb !important;
  border: 1px solid rgba(43, 124, 245, 0.12) !important;
  border-bottom: 1px solid #e3e8f0 !important;
}

.user-section .login-main {
  border: 1px solid rgba(43, 124, 245, 0.12) !important;
  border-top: none !important;
}

/* ---------- 侧栏/下拉图标过渡处理：统一尺寸与配色（形状需换模板内的 SVG） ---------- */
.col-md-3 .fa,
.col-md-3 i.fa {
  font-size: 15px;
  width: 20px;
  text-align: center;
  color: #8a93a3;
}

.col-md-3 .active .fa,
.col-md-3 .active i.fa { color: #2b7cf5; }

.col-md-3 .list-group-item:hover .fa { color: #2b7cf5; }

/* =========================================================
   八次接管：弹窗遮盖兜底 / 紧凑按钮 / 验证码图片 / 头像统一 / 页面按钮降高
   ========================================================= */

/* 1. 弹窗高度全面兜底：新密码等内容永不裁切 */
.layui-layer:not(.layui-layer-iframe) {
  height: auto !important;
  max-height: none !important;
}

.layui-layer:not(.layui-layer-iframe) .layui-layer-content {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
}

/* 2. 弹窗收窄至 480px，底部按钮紧凑化（取消 40px / 确定 40px，不再拉满整行） */
.layui-layer-page { width: 480px !important; }

.form-layer .form-footer {
  gap: 12px !important;
  padding: 12px 16px !important;
}

.form-layer .form-footer .btn {
  flex: 0 0 auto !important;
  height: 40px !important;
  line-height: 40px !important;
  padding: 0 26px !important;
  font-size: 14px;
}

/* 3. 注册页图形验证码：图片限制在输入框行内，不再溢出卡片 */
.input-group .input-group-addon,
.input-group .input-group-btn {
  flex: 0 1 auto !important;
  min-width: 0;
}

.input-group img {
  max-width: 120px;
  height: 36px;
  object-fit: contain;
  cursor: pointer;
}

/* 4. 会员中心头像与个人资料头像完全统一（100px + 白描边 + 淡阴影） */
.user-center .avatar-img img {
  width: 100px !important;
  height: 100px !important;
  object-fit: cover;
}

/* 5. 页面级按钮降为 36px（确定/重置），修改资料远离下方分隔线 */
.normal-footer .btn {
  height: 36px !important;
  line-height: 34px !important;
  min-width: 104px !important;
  padding: 0 20px !important;
}

.page-header .btn-ghost-primary {
  height: 36px !important;
  line-height: 34px !important;
  padding: 0 16px !important;
  margin-top: -3px !important;
}

/* =========================================================
   九次接管：（已回滚旧版布局）大头像占左列、信息条右栏单列
   ========================================================= */
.user-baseinfo { margin-top: 4px; }

.user-center .avatar-img img {
  width: 100px !important;
  height: 100px !important;
  object-fit: cover;
}

/* 信息条：右栏内单列堆叠 */
.basicinfo .row {
  display: flex !important;
  flex-direction: column;
  margin: 0 !important;
}

.basicinfo .info-item {
  flex: 0 0 auto !important;
  max-width: 100%;
}

/* =========================================================
   头像阴影完全统一（会员中心 = 个人资料同款）
   ========================================================= */
.user-baseinfo .avatar-img img,
.user-center .avatar-img img,
.profile-user-img {
  border-radius: 50% !important;
  border: 3px solid #fff !important;
  box-shadow: 0 4px 14px rgba(31, 45, 61, 0.16) !important;
}

/* =========================================================
   十次接管：根治弹窗内容被底部条遮盖 / 验证码图片溢出
   根因：FastAdmin 全局样式将 .form-layer .form-footer 设为
   absolute bottom:0，悬浮在内容之上 → 新密码输入框被盖住。
   这里把弹窗结构全部拉回文档流。
   ========================================================= */
.form-layer {
  position: static !important;
  height: auto !important;
}

.form-layer .form-body {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.form-layer .form-footer {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  height: auto !important;
  line-height: normal !important;
}

/* 注册页图形验证码：确定性 flex 布局，图片永不出界 */
.input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  max-width: 100%;
}

.input-group .form-control {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
}

.input-group .input-group-addon,
.input-group .input-group-btn {
  flex: 0 0 auto !important;
  max-width: 130px;
  overflow: hidden;
}

.input-group img {
  max-width: 120px !important;
  width: auto !important;
  height: 36px !important;
  object-fit: contain;
  display: block;
}

/* =========================================================
   十一次接管：信息条高度收紧（单列）；修改资料按钮降高上移
   ========================================================= */
.basicinfo .info-item {
  padding: 8px 12px !important;
  margin: 0 6px 12px !important;
}

.basicinfo .info-label {
  width: auto;
  margin-right: 10px;
  white-space: nowrap;
  flex-shrink: 0;
}

.page-header .btn-ghost-primary {
  height: 32px !important;
  line-height: 30px !important;
  padding: 0 14px !important;
  margin-top: -8px !important;
  font-size: 13px;
}

/* =========================================================
   信息条高度对齐文本框标准：36px
   ========================================================= */
.basicinfo .info-item {
  height: 36px !important;
  padding: 0 14px !important;
  margin: 0 6px 12px !important;
}

/* =========================================================
   十二次接管：修正验证码图片 / 修改按钮被压缩成细条
   根因：bootstrap 给 .input-group-addon 设 width:1%，
   flex-basis:auto 解析成 1% 宽，再被 overflow:hidden 裁剪
   ========================================================= */
.input-group .input-group-addon,
.input-group .input-group-btn {
  width: auto !important;
  flex: 0 0 auto !important;
  max-width: none !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center;
}

.input-group .input-group-btn .btn {
  flex: 0 0 auto !important;
  min-width: 88px !important;
  height: 36px !important;
  line-height: 34px !important;
  padding: 0 16px !important;
}

.input-group img {
  max-width: 130px !important;
  width: auto !important;
  height: 36px !important;
  object-fit: contain;
  display: block;
}

/* 验证码行补充：容器满宽、输入框吃剩余空间、图片完整显示不被遮挡 */
.input-group {
  width: 100% !important;
  box-sizing: border-box;
}

.input-group .form-control {
  flex: 1 1 0 !important;
  min-width: 120px !important;
}

.input-group .input-group-addon img,
.input-group img {
  max-width: 130px !important;
  height: 36px !important;
}

/* =========================================================
   十三次接管：修正修改邮箱/手机号弹窗内容贴边
   根因：bootstrap .form-horizontal .form-group 自带 -15px 负边距，
   抵消了 form-body 的 24px 内边距 → 内容贴到弹窗边缘
   ========================================================= */
.form-layer .form-group {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.form-layer .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.form-layer .form-body {
  padding: 20px 24px 6px !important;
}
