/*
 * File: ua-portal.css
 * Version: v0.3.15-homepage-skin-litebold-nobluebar-graylogout
 * Last Updated: 2026-03-11
 *
 * 说明：
 * - 本次修改仅做前台视觉皮肤对齐，不改登录/注册/找回/资料/密码等业务逻辑。
 * - 视觉基线对齐 6sets 首页插件：大圆角、浅灰蓝底、轻阴影、蓝色主按钮、胶囊式 tabs / 导航。
 * - 保留原有密码眼睛按钮、密码强度条、错误提示、各类确认弹窗的功能行为。
 * - 2026-03-11：去掉所有卡片/容器顶部蓝色条；将大部分 700/800 字重降到 400/500/600。
 * - 2026-03-11：左侧 Logout 按钮改为灰底风格，和其余导航按钮保持同一体系。
 */

/* =========================
 * 主页风格对齐：基础容器 / 颜色 / 卡片
 * ========================= */
.uap-portal,
.uap-card,
.uap-modal,
#uapRegEmailModal,
#uapLogoutModal{
  color:#0f172a;
  font-family:inherit;
}

.uap-portal{
  max-width:1140px;
  margin:48px auto;
  padding:0 16px;
}

.uap-grid{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  align-items:stretch;
}

.uap-col{
  flex:1 1 480px;
  min-width:320px;
}

/* 移动端（默认） */
.uap-col--left{order:2;}
.uap-col--right{order:1;}

/* 桌面端：左右对换 */
@media (min-width:900px){
  .uap-col{flex:0 0 calc(50% - 14px);}
  .uap-col--left{order:2;}
  .uap-col--right{order:1;}
}

.uap-card{
  position:relative;
  border:1px solid #dbe4ef;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.06);
}

.uap-card--login,
.uap-card--note,
.uap-panel,
.uap-card--success{
  padding:26px 26px 30px;
}

.uap-card--note{
  background:linear-gradient(180deg,#f7fafe 0%,#eef4fb 100%);
  border-color:#d6e3f3;
}

.uap-card--note::before,
.uap-card--login::before,
.uap-panel::before,
.uap-card--success::before{
  display:none !important;
  content:none !important;
}

.uap-card--success{
  max-width:680px;
  margin:48px auto;
  text-align:center;
}

.uap-card--success h3,
.uap-card--success p{
  margin:0;
  font-size:16px;
  line-height:1.7;
}

.uap-card--success h3{
  font-size:28px;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:6px;
}

.uap-card--success p{opacity:.9;}
.uap-card--success p + p{margin-top:8px;}

.uap-divider{
  height:1px;
  background:#e3ebf5;
  margin:18px 0 22px;
}

/* 2026-03-11：弱化大部分粗体，保留少量关键标题/主按钮层级 */
.uap-portal,
.uap-portal p,
.uap-portal li,
.uap-portal label,
.uap-portal input,
.uap-portal textarea,
.uap-portal select,
.uap-modal,
#uapRegEmailModal,
#uapLogoutModal{
  font-weight:400;
}

/* =========================
 * 主页风格对齐：Tabs / 标题 / 说明区
 * ========================= */
.uap-tabs{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  padding:8px;
  border:1px solid #dbe4ef;
  border-radius:999px;
  background:#f3f6fb;
}

.uap-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  color:#334155;
  text-decoration:none;
  font-weight:500;
  line-height:1.2;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.uap-tab:hover{
  color:#0f172a;
  background:#ffffff;
  transform:translateY(-1px);
}

.uap-tab--active{
  font-weight:600;
  color:#fff;
  background:#2D2D2D;
  box-shadow:0 10px 24px rgba(13,110,253,.24);
  border-bottom:0;
}

.uap-tab--active:hover{
  color:#fff;
  background:#3388FF;
}

.uap-note-title{
  margin:4px 0 8px;
  font-size:30px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.03em;
  color:#0f172a;
}

.uap-note-desc{
  color:#52637a;
  margin:0;
  font-size:16px;
  line-height:1.75;
}

.uap-note-list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:12px;
  max-width:460px;
}

.uap-note-list li{
  position:relative;
  padding-left:18px;
  color:#314155;
  line-height:1.7;
}

.uap-note-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#2D2D2D;
  box-shadow:0 0 0 5px rgba(13,110,253,.12);
  transform:translateY(-50%);
}

.uap-welcome-cn{
  text-align:center;
  margin:0 0 18px;
  padding:14px 18px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f7fafe;
}

.uap-welcome-cn h3{
  margin:0 0 6px;
  font-size:22px;
  line-height:1.25;
  font-weight:700;
  color:#0f172a;
}

.uap-welcome-cn p{
  margin:0;
  color:#607289;
  line-height:1.65;
}

.uap-panel-title{
  font-size:26px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.02em;
  margin:0 0 18px;
  color:#0f172a;
}

.uap-text{
  color:#3c4d63;
  line-height:1.75;
}

.uap-aux-center{
  margin:2px 0 0;
  text-align:center;
}

/* =========================
 * 主页风格对齐：表单 / 输入框 / 眼睛按钮
 * ========================= */
.uap-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.uap-label{
  font-weight:500;
  margin-bottom:6px;
  color:#0f172a;
}

.uap-input-wrap{position:relative;}

.uap-input{
  width:100%;
  min-height:52px;
  border:1px solid #dbe4ef;
  border-radius:16px;
  padding:0 16px;
  outline:none;
  background:#fff;
  color:#0f172a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease;
}

.uap-input::placeholder{color:#8a99ad;}

.uap-input:focus{
  border-color:#2D2D2D;
  box-shadow:0 0 0 4px rgba(13,110,253,.14), 0 10px 24px rgba(13,110,253,.08);
  background:#fff;
}

.uap-input-wrap .uap-input{padding-right:44px;}
.uap-input-wrap--with-eye .uap-input{padding-right:92px;}

.uap-star{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,39,82,.09);
  color:#ff2752;
  font-weight:600;
  font-size:12px;
  pointer-events:none;
}

.uap-input-wrap--with-eye .uap-star{right:54px;}

/* 尽量隐藏部分浏览器自带的“显示密码”按钮（避免叠加） */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear{display:none;}
input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;}

.uap-eye{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:1px solid #dbe4ef;
  border-radius:999px;
  background:#f5f8fc;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  -webkit-appearance:none;
  appearance:none;
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}

.uap-eye:hover{
  background:#eaf2ff;
  border-color:#b9d4ff;
  transform:translateY(-50%) scale(1.02);
}

.uap-eye:focus{
  outline:none;
  border-color:#2D2D2D;
  box-shadow:0 0 0 3px rgba(13,110,253,.12);
}

/* 默认：眼睛（隐藏密码状态） */
.uap-eye::before{
  content:"";
  width:20px;
  height:20px;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
  opacity:.82;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%20%3Cpath%20d=%22M1.5%2012s4-7%2010.5-7%2010.5%207%2010.5%207-4%207-10.5%207S1.5%2012%201.5%2012z%22%20fill=%22none%22%20stroke=%22%23677a92%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22/%3E%20%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22%20fill=%22none%22%20stroke=%22%23677a92%22%20stroke-width=%222%22/%3E%20%3C/svg%3E");
}

/* data-show：正在显示明文 → 眼睛带斜杠 */
.uap-eye[data-show]::before{
  opacity:1;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%3E%20%3Cpath%20d=%22M1.5%2012s4-7%2010.5-7%2010.5%207%2010.5%207-4%207-10.5%207S1.5%2012%201.5%2012z%22%20fill=%22none%22%20stroke=%22%230f172a%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22/%3E%20%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22%20fill=%22none%22%20stroke=%22%230f172a%22%20stroke-width=%222%22/%3E%20%3Cline%20x1=%223%22%20y1=%223%22%20x2=%2221%22%20y2=%2221%22%20stroke=%22%230f172a%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%20%3C/svg%3E");
}

.uap-eye:hover::before,
.uap-eye:focus::before{opacity:1;}

/* =========================
 * 主页风格对齐：复选 / 链接 / 按钮 / 提示框
 * ========================= */
.uap-form-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:-2px;
}

.uap-checkbox{
  display:flex;
  align-items:center;
  gap:10px;
  user-select:none;
  color:#334155;
  line-height:1.55;
}

.uap-checkbox input{
  accent-color:#2D2D2D;
  inline-size:16px;
  block-size:16px;
  flex:0 0 auto;
}

.uap-checkbox--block{
  gap:12px;
  justify-content:flex-start;
  align-items:flex-start;
}

.uap-checkbox--block input{margin-top:3px;}

.uap-hint{
  font-size:13px;
  color:#52637a;
  line-height:1.6;
  margin-top:-4px;
  padding:12px 14px;
  border:1px dashed #c9d8eb;
  border-radius:16px;
  background:#f6f9fd;
}

.uap-link{
  color:#2D2D2D;
  text-decoration:none;
  font-weight:500;
}

.uap-link:hover{
  color:#3388FF;
  text-decoration:underline;
}

.uap-link--right{margin-left:auto;}

.uap-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:14px;
  border:1px solid transparent;
  padding:13px 18px;
  cursor:pointer;
  font-weight:600;
  line-height:1.2;
  text-align:center;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}

.uap-btn:hover{transform:translateY(-1px);}

.uap-btn--primary{
  background:#2D2D2D;
  border-color:#2D2D2D;
  color:#fff;
  width:100%;
  box-shadow:0 14px 30px rgba(13,110,253,.18);
}

.uap-btn--primary:hover{
  background:#3388FF;
  border-color:#3388FF;
  color:#fff;
  box-shadow:0 16px 34px rgba(51,136,255,.22);
}

.uap-alert{
  border-radius:16px;
  padding:14px 16px;
  font-size:14px;
  line-height:1.65;
  margin:0 0 14px;
  border:1px solid transparent;
}

.uap-alert--error{
  background:#fff5f7;
  border-color:#ffd2dd;
  color:#b4234d;
}

.uap-alert--success{
  background:#eff7ff;
  border-color:#cfe0ff;
  color:#1550b8;
}

/* =========================
 * 注册条款 / 辅助说明
 * ========================= */
.uap-terms{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
  color:#374151;
  flex-wrap:wrap;
}

.uap-terms .uap-checkbox--block{
  width:100%;
  padding:14px 16px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f8fbff;
}

.uap-terms .uap-required{
  color:#ff2752;
  font-weight:600;
  margin-left:2px;
}

.uap-terms a,
.uap-terms-link a{
  color:#2D2D2D;
  text-decoration:none;
  font-weight:500;
}

.uap-terms a:hover,
.uap-terms-link a:hover{text-decoration:underline;}

.uap-terms-text{line-height:1.5;}
.uap-terms-line2{display:block;margin-top:4px;}

/* =========================
 * 已登录视图：侧边导航 / 信息卡
 * ========================= */
.uap-side{padding:22px;}

.uap-nav{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.uap-nav-btn{
  display:flex;
  align-items:center;
  min-height:54px;
  border:1px solid #dbe4ef;
  border-radius:18px;
  padding:14px 18px;
  text-decoration:none;
  background:#fff;
  color:#0f172a;
  font-weight:500;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.uap-nav-btn:hover{
  color:#0f172a;
  border-color:#bfd7ff;
  background:#f5f8fc;
  transform:translateY(-1px);
}

.uap-nav-btn.is-active{
  background:#2D2D2D;
  border-color:#2D2D2D;
  color:#fff;
  box-shadow:0 14px 30px rgba(13,110,253,.2);
}

.uap-nav-btn.is-active:hover{
  color:#fff;
  background:#3388FF;
  border-color:#3388FF;
}

.uap-nav-btn--danger{
  background:#f3f6fb;
  border-color:#dbe4ef;
  color:#334155;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}

.uap-nav-btn--danger:hover{
  background:#eaf0f7;
  border-color:#cfdbea;
  color:#0f172a;
}

.uap-profile-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

@media(min-width:560px){
  .uap-profile-grid{grid-template-columns:1fr 1fr;}
}

.uap-profile-grid > div{
  padding:14px 18px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f8fbff;
  line-height:1.65;
  color:#223247;
}

.uap-profile-grid > div strong{
  display:block;
  margin-bottom:2px;
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#2D2D2D;
}

.uap-profile-grid--kv .uap-kv-val{
  display:block;
  margin-top:5px;
  font-size:16px;
  color:#0f172a;
  word-break:break-word;
}

/* 无障碍隐藏 */
.uap-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* =========================
 * 通用弹窗（修改邮箱 / 修改密码）
 * ========================= */
.uap-modal{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.48);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  backdrop-filter:blur(6px);
}

.uap-modal__box{
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:24px;
  max-width:540px;
  width:92vw;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  overflow:hidden;
}

.uap-modal__hd,
.uap-modal__bd,
.uap-modal__ft{text-align:center;}

.uap-modal__hd{
  padding:18px 20px;
  border-bottom:1px solid #e5edf7;
  font-weight:600;
  font-size:20px;
}

.uap-modal__bd{
  padding:18px 20px;
  color:#334155;
  line-height:1.7;
}

.uap-modal__bd p{margin:0 0 10px;}
.uap-modal__bd p:last-child{margin-bottom:0;}

.uap-modal__ft{
  padding:14px 20px 20px;
  border-top:1px solid #e5edf7;
}

.uap-modal__ft .uap-btn{
  width:auto;
  display:inline-flex;
  min-width:140px;
}

/* =========================
 * 邮箱确认弹窗 / Logout 弹窗（覆盖 PHP 内嵌样式）
 * ========================= */
#uapRegEmailModal.uap-rem,
#uapLogoutModal.uap-lm{
  background:rgba(15,23,42,.48) !important;
  backdrop-filter:blur(6px);
}

#uapRegEmailModal .uap-rem__panel,
#uapLogoutModal .uap-lm__panel{
  border:1px solid #dbe4ef !important;
  border-radius:24px !important;
  box-shadow:0 24px 60px rgba(15,23,42,.18) !important;
}

#uapRegEmailModal .uap-rem__panel{
  background:#fff !important;
  max-width:540px !important;
  padding:22px 20px !important;
}

#uapLogoutModal .uap-lm__panel{
  background:#fff !important;
  max-width:440px !important;
  padding:22px 20px !important;
}

#uapRegEmailModal .uap-rem__title,
#uapLogoutModal .uap-lm__title{
  font-size:22px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:-.02em;
  color:#0f172a;
}

#uapRegEmailModal .uap-rem__desc,
#uapLogoutModal .uap-lm__desc{
  font-size:14px !important;
  line-height:1.7 !important;
  color:#52637a !important;
}

#uapRegEmailModal .uap-rem__email{
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:.1px;
  color:#0f172a !important;
  text-align:center;
  padding:14px 12px !important;
  border:1px solid #dbe4ef !important;
  border-radius:18px !important;
  background:#f6f9fd !important;
  word-break:break-all;
}

#uapRegEmailModal .uap-rem__actions,
#uapLogoutModal .uap-lm__actions{
  gap:12px !important;
  margin-top:16px !important;
}

#uapRegEmailModal .uap-rem__btn,
#uapLogoutModal .uap-lm__btn{
  min-width:140px !important;
  border-radius:14px !important;
  font-weight:600 !important;
  min-height:50px;
}

#uapRegEmailModal .uap-rem__btn--edit,
#uapLogoutModal .uap-lm__btn--cancel{
  background:#fff !important;
  border:1px solid #dbe4ef !important;
  color:#0f172a !important;
}

#uapRegEmailModal .uap-rem__btn--edit:hover,
#uapLogoutModal .uap-lm__btn--cancel:hover{
  background:#f6f9fd !important;
  border-color:#bfd7ff !important;
}

#uapRegEmailModal .uap-rem__btn--ok[disabled]{
  opacity:.55 !important;
  cursor:not-allowed;
  box-shadow:none !important;
}

/* =========================
 * 密码强度条 / 弱提示 / 实时错误
 * ========================= */
.uap-pw-meter{
  display:flex;
  gap:8px;
  margin-top:8px;
}

.uap-pw-meter__seg{
  height:6px;
  flex:1;
  border-radius:999px;
  background:#e7edf6;
}

.uap-pw-meter__seg:nth-child(2){background:#d9e2ef;}
.uap-pw-meter__seg:nth-child(3){background:#c6d2e4;}
.uap-pw-meter__seg:nth-child(4){background:#b0bfd8;}

/* Colored states (single segment) */
.uap-pw-meter[data-level="1"] .uap-pw-meter__seg:nth-child(1){background:#ef4444;}
.uap-pw-meter[data-level="2"] .uap-pw-meter__seg:nth-child(2){background:#f97316;}
.uap-pw-meter[data-level="3"] .uap-pw-meter__seg:nth-child(3){background:#eab308;}
.uap-pw-meter[data-level="4"] .uap-pw-meter__seg:nth-child(4){background:#22c55e;}

.uap-pw-tip{
  margin-top:10px;
  font-size:13px;
  line-height:1.55;
  color:#52637a;
  padding:12px 14px;
  border:1px dashed #c9d8eb;
  border-radius:16px;
  background:#f6f9fd;
}

.uap-field-msg{
  display:none;
  margin-top:-2px;
  padding:12px 14px;
  border:1px solid #ffd2dd;
  border-radius:14px;
  background:#fff5f7;
  font-size:13px;
  line-height:1.55;
  color:#b4234d;
}

.uap-input--invalid{
  border-color:#ff5d7a !important;
  box-shadow:0 0 0 4px rgba(255,93,122,.14) !important;
}

/* =========================
 * 响应式
 * ========================= */
@media (max-width:767px){
  .uap-portal{margin:28px auto;padding:0 14px;}
  .uap-grid{gap:18px;}
  .uap-card--login,
  .uap-card--note,
  .uap-panel,
  .uap-card--success{padding:22px 18px 24px;}
  .uap-card{border-radius:22px;}
  .uap-card--note::before,
  .uap-card--login::before,
  .uap-panel::before,
  .uap-card--success::before{left:16px;right:16px;}
  .uap-note-title{font-size:24px;}
  .uap-note-desc{font-size:15px;}
  .uap-tabs{gap:6px;padding:6px;border-radius:22px;}
  .uap-tab{flex:1 1 auto;padding:10px 12px;min-height:42px;font-size:14px;}
  .uap-welcome-cn h3{font-size:20px;}
  .uap-panel-title{font-size:22px;}
  .uap-profile-grid{grid-template-columns:1fr;}
  .uap-form-row{flex-direction:column;align-items:stretch;}
  .uap-link--right{margin-left:0;}
  .uap-nav-btn{min-height:50px;padding:13px 16px;}
  .uap-btn{min-height:50px;}
  .uap-modal__box{width:min(92vw,540px);}
  #uapRegEmailModal .uap-rem__panel,
  #uapLogoutModal .uap-lm__panel{padding:20px 16px !important;}
  #uapRegEmailModal .uap-rem__btn,
  #uapLogoutModal .uap-lm__btn{min-width:124px !important;}
}

/* 2026-03-11：兜底去掉所有顶部蓝条，并压低 PHP 内联弹窗字重 */
.uap-card--note::before,
.uap-card--login::before,
.uap-panel::before,
.uap-card--success::before,
.uap-side::before{
  display:none !important;
  content:none !important;
}

#uapRegEmailModal .uap-rem__title,
#uapLogoutModal .uap-lm__title,
#uapRegEmailModal .uap-rem__email,
#uapRegEmailModal .uap-rem__btn,
#uapLogoutModal .uap-lm__btn{
  font-weight:600 !important;
}


/* =========================
 * 账户页头像模块 / 自定义头像裁剪弹窗
 * 修改说明（2026-03-13）：
 * 1) Dashboard 顶部信息区新增头像卡片，放在 Username 前面。
 * 2) 新增编辑头像按钮与上传裁剪弹窗；头像圆形显示。
 * ========================= */
.uap-btn--ghost{
  background:#fff;
  border-color:#dbe4ef;
  color:#0f172a;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
.uap-btn--ghost:hover{
  background:#f5f8fc;
  border-color:#bfd7ff;
  color:#0f172a;
}
.uap-profile-grid--dashboard-avatar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.uap-profile-avatar-card,
.uap-profile-info-card{
  min-height:124px;
}
.uap-profile-avatar-card{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f8fbff;
}
.uap-profile-avatar-shell{
  position:relative;
  width:78px;
  height:78px;
  padding:0;
  border-radius:999px;
  overflow:hidden;
  background:#e9f1ff;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9e6fb;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.uap-profile-avatar-shell:hover,
.uap-profile-avatar-shell:focus-visible{
  transform:translateY(-1px);
  border-color:#2D2D2D;
  box-shadow:0 10px 24px rgba(13,110,253,.16);
  outline:none;
}
.uap-account-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.uap-avatar-edit-badge{
  position:absolute;
  left:50%;
  bottom:5px;
  transform:translateX(-50%);
  padding:3px 7px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.uap-profile-avatar-shell:hover .uap-avatar-edit-badge,
.uap-profile-avatar-shell:focus-visible .uap-avatar-edit-badge{
  opacity:1;
}
.uap-profile-info-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 18px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f8fbff;
  line-height:1.65;
  color:#223247;
}
.uap-profile-info-card strong{
  display:block;
  margin-bottom:2px;
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#2D2D2D;
}
.uap-profile-info-card .uap-kv-val{
  display:block;
  margin-top:5px;
  font-size:16px;
  color:#0f172a;
  word-break:break-word;
}
.uap-profile-info-card--since{grid-column:auto;}
.uap-avatar-modal__box{max-width:620px;}
.uap-avatar-modal__hint{margin:0 0 12px 0;color:#52637a;font-size:14px;line-height:1.6;}
.uap-avatar-viewport{
  position:relative;
  width:min(100%, 320px);
  aspect-ratio:1 / 1;
  margin:0 auto 14px;
  border-radius:24px;
  background:#eef4fd;
  overflow:hidden;
  border:1px solid #dbe4ef;
  touch-action:none;
}
.uap-avatar-crop-image{
  position:absolute;
  top:0;
  left:0;
  user-select:none;
  -webkit-user-drag:none;
  cursor:grab;
  display:none;
}
.uap-avatar-crop-image:active{cursor:grabbing;}
.uap-avatar-viewport__ring{
  position:absolute;
  inset:16px;
  border:2px solid rgba(255,255,255,.95);
  border-radius:999px;
  box-shadow:0 0 0 999px rgba(15,23,42,.20);
  pointer-events:none;
}
.uap-avatar-viewport__empty{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px;
  color:#52637a;
  font-size:14px;
  line-height:1.6;
}
.uap-avatar-controls{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
.uap-avatar-zoom{
  display:flex;
  align-items:center;
  gap:10px;
  color:#223247;
  font-size:14px;
}
.uap-avatar-zoom input{width:220px;max-width:50vw;}
.uap-avatar-status{min-height:22px;margin-top:10px;font-size:13px;line-height:1.6;color:#52637a;}
.uap-avatar-save-btn{width:auto;min-width:160px;}
@media(max-width:860px){
  .uap-profile-grid--dashboard-avatar{grid-template-columns:1fr 1fr;}
  .uap-profile-avatar-card{grid-column:1 / -1;grid-row:auto;}
  .uap-profile-info-card--since{grid-column:1 / span 1;}
}
@media(max-width:560px){
  .uap-profile-grid--dashboard-avatar{grid-template-columns:1fr;}
  .uap-profile-info-card--since{grid-column:auto;}
  .uap-avatar-controls{align-items:flex-start;}
  .uap-avatar-zoom{width:100%;flex-direction:column;align-items:flex-start;}
  .uap-avatar-zoom input{width:100%;max-width:none;}
}


/* 2026-03-13: register gender selector -> radio choice, left male right female */
.uap-gender-fieldset{margin:0 0 18px;padding:0;border:0;}
.uap-gender-legend{margin:0 0 10px;font-size:14px;font-weight:700;color:#0f172a;}
.uap-gender-required{margin-left:4px;color:#2D2D2D;}
.uap-gender-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.uap-gender-option{position:relative;display:block;cursor:pointer;}
.uap-gender-option input{position:absolute;opacity:0;pointer-events:none;}
.uap-gender-option__label{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 14px;border:1px solid #d7e6fb;border-radius:16px;background:#fff;color:#0f172a;font-size:15px;font-weight:700;transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;}
.uap-gender-option input:checked + .uap-gender-option__label{border-color:#2D2D2D;background:#eef5ff;color:#2D2D2D;box-shadow:0 0 0 3px rgba(13,110,253,.12);}
.uap-gender-option:hover .uap-gender-option__label{border-color:#9fc0ff;}
.uap-gender-option input:focus-visible + .uap-gender-option__label{outline:none;box-shadow:0 0 0 3px rgba(13,110,253,.18);} 
@media (max-width: 640px){
  .uap-gender-options{grid-template-columns:1fr;}
}


/* 2026-03-15：账户页总装配容器（[ua_portal] 自动装配站内信 + [lottery_account]） */
.uap-account-stack{width:100%;display:flex;flex-direction:column;gap:24px;margin-top:24px;}
.uap-account-module{width:100%;min-width:0;}
.uap-account-module .lsm-shortcode-shell--account{margin:0;}
@media (max-width:768px){
  .uap-account-stack{gap:18px;margin-top:18px;}
}
