/*
 * 用户中心：当前登录用户自助修改个人资料。
 * 该组件跨页面使用，不依赖后台用户管理页。
 */
.user-center-backdrop{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(15,23,42,.45);
  box-sizing:border-box;
}
.user-center-backdrop.show{
  display:flex;
}
.user-center-backdrop .modal{
  box-sizing:border-box;
  box-shadow:0 26px 86px rgba(15,23,42,.30);
}
.user-center-backdrop button{
  appearance:none;
  border:0;
  cursor:pointer;
  font-family:inherit;
  font-weight:900;
  transition:.16s ease;
}
.user-center-backdrop button:hover{
  transform:translateY(-1px);
}
.user-center-backdrop button.primary,
.kg-user-center-actions .primary{
  background:#2563eb;
  color:#fff;
}
.auth-status{
  cursor:pointer;
  user-select:none;
}
.auth-status:hover,
.auth-status:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(15,23,42,.10),0 0 0 1px rgba(37,99,235,.22);
  outline:none;
}
.auth-status::after{
  content:"";
  width:0;
  height:0;
  margin-left:6px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.55;
}
.kg-user-center-modal{
  width:min(620px,calc(100vw - 28px));
  max-height:calc(100vh - 34px);
  padding:0;
  overflow:hidden;
  border-radius:26px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 46%,#f5f3ff 100%);
  display:flex;
  flex-direction:column;
}
.kg-user-center-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:20px 22px 14px;
  border-bottom:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(12px);
}
.kg-user-center-title{
  display:flex;
  gap:12px;
  align-items:center;
  min-width:0;
}
.kg-user-avatar{
  width:46px;
  height:46px;
  border-radius:17px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:1000;
  font-size:18px;
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  box-shadow:0 12px 28px rgba(37,99,235,.18);
  flex:0 0 auto;
}
.kg-user-center-head h2{
  margin:0;
  font-size:22px;
  color:#0f172a;
  line-height:1.16;
}
.kg-user-center-head p{
  margin:5px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.5;
}
.kg-user-center-close{
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border-radius:12px;
  background:#f1f5f9;
  color:#64748b;
  box-shadow:none;
}
.kg-user-center-body{
  padding:18px 22px 20px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.kg-user-center-footer{flex:0 0 auto;padding:11px 22px 16px;border-top:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.94);box-shadow:0 -10px 24px rgba(15,23,42,.04)}
.kg-user-center-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.kg-user-field{
  display:block;
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.kg-user-field.full{
  grid-column:1/-1;
}
.kg-user-field span{
  display:block;
  margin-bottom:6px;
}
.kg-user-field input,
.kg-user-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(148,163,184,.36);
  border-radius:14px;
  padding:11px 12px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-weight:700;
  outline:none;
}
.kg-user-field textarea{
  min-height:86px;
  resize:vertical;
  line-height:1.55;
}
.kg-user-field input:focus,
.kg-user-field textarea:focus{
  border-color:var(--role-primary,#2563eb);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--role-primary,#2563eb) 14%,transparent);
}
.kg-user-field input[readonly]{
  background:#f8fafc;
  color:#64748b;
}
.kg-user-readonly-line{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  grid-column:1/-1;
}
.kg-user-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  padding:6px 10px;
  background:#eef2ff;
  color:#3730a3;
  font-size:12px;
  font-weight:950;
}
.kg-user-password-box{
  grid-column:1/-1;
  margin-top:2px;
  padding:13px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.18);
}
.kg-user-password-box h3{
  margin:0 0 9px;
  color:#0f172a;
  font-size:15px;
}
.kg-user-center-tip{
  margin:12px 0 0;
  padding:10px 11px;
  border-radius:14px;
  background:#fffbeb;
  color:#92400e;
  font-size:12px;
  line-height:1.55;
}
.kg-user-center-msg{
  min-height:20px;
  margin:11px 0 0;
  color:#dc2626;
  font-size:13px;
  line-height:1.45;
  font-weight:850;
}
.kg-user-center-msg.ok{
  color:#16a34a;
}
.kg-user-center-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-top:8px;
}
.kg-user-center-actions button{
  border-radius:14px;
  padding:10px 15px;
}
.kg-user-center-actions .primary{
  background:linear-gradient(135deg,var(--role-primary,#2563eb),var(--role-accent,#22c55e));
  color:#fff;
}
@media(max-width:640px){
  .kg-user-center-grid{
    grid-template-columns:1fr;
  }
  .kg-user-center-head{
    padding:18px 18px 12px;
  }
  .kg-user-center-body{
    padding:16px 18px 18px;
  }
  .kg-user-center-footer{padding:10px 18px 14px}
}

/* 用户中心成品稿：限定在新版弹窗，避免影响其他页面的既有组件。 */
.kg-user-center-modal.uc-dialog{--uc-green:#11a84b;--uc-green-dark:#087535;--uc-green-soft:#e8f8ee;--uc-ink:#111c35;--uc-muted:#6f7d95;--uc-line:#dfe5ee;width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px);padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:34px;background:rgba(255,255,255,.985);box-shadow:0 34px 90px rgba(16,28,51,.24),0 8px 28px rgba(16,28,51,.1);color:var(--uc-ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
.uc-dialog *{box-sizing:border-box}.uc-dialog button,.uc-dialog input,.uc-dialog textarea{font:inherit}.uc-dialog button{border:0}.uc-dialog .uc-header{min-height:144px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 46px 26px;border-bottom:1px solid #edf1f6}.uc-dialog .uc-profile-heading{display:flex;min-width:0;align-items:center;gap:24px}.uc-dialog .uc-avatar{display:grid;width:84px;height:84px;flex:0 0 auto;place-items:center;border-radius:27px;background:linear-gradient(145deg,#20bb5e,#0c903f);box-shadow:0 12px 30px rgba(10,150,63,.22),inset 0 1px rgba(255,255,255,.24);color:#fff;font-size:34px;font-weight:700}.uc-dialog .uc-header h2{margin:0;color:#0c1730;font-size:clamp(32px,3.1vw,43px);line-height:1.2;letter-spacing:-.04em}.uc-dialog .uc-header p{margin:9px 0 0;color:#53617a;font-size:18px;line-height:1.55}.uc-dialog .uc-close{/* display:grid; */width:54px;height:54px;flex:0 0 auto;place-items:center;border:1px solid var(--uc-line);border-radius:17px;background:#fbfcfe;color:#6f7d95;cursor:pointer;font-size:32px;font-weight:400;line-height:1;transition:.16s ease}.uc-dialog .uc-close:hover{border-color:#c9d2df;background:#f3f6fa;color:var(--uc-ink);transform:translateY(-1px)}
.uc-dialog .uc-body{padding:30px 46px 28px;overflow-y:auto;background:#fff}.uc-dialog .uc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 28px}.uc-dialog .uc-field{display:grid;min-width:0;gap:10px;color:var(--uc-ink);font-size:17px;font-weight:700;line-height:1.35}.uc-dialog .uc-field>div{position:relative}.uc-dialog .uc-field input,.uc-dialog .uc-field textarea{width:100%;outline:none;border:1px solid #cfd7e4;background:#fff;color:#0c1730;transition:border-color .16s ease,box-shadow .16s ease}.uc-dialog .uc-field input{height:64px;padding:0 20px;border-radius:16px;font-size:18px;font-weight:560}.uc-dialog .uc-field input:hover,.uc-dialog .uc-field textarea:hover{border-color:#b8c4d3}.uc-dialog .uc-field input:focus,.uc-dialog .uc-field textarea:focus{border-color:var(--uc-green);box-shadow:0 0 0 4px rgba(17,168,75,.1)}.uc-dialog .uc-field input::placeholder,.uc-dialog .uc-field textarea::placeholder{color:#8a94a6;opacity:1}.uc-dialog .uc-field-readonly input{padding-right:52px;background:#f7f9fc;color:#758298}.uc-dialog .uc-field-readonly b{position:absolute;top:50%;right:18px;color:#b4becb;font-size:20px;font-weight:400;transform:translateY(-50%)}
.uc-dialog .uc-status-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.uc-dialog .uc-status-chip{display:inline-flex;min-height:40px;align-items:center;padding:8px 16px;border-radius:999px;font-size:16px;font-weight:700}.uc-dialog .uc-role{background:#f0efff;color:#4940b8}.uc-dialog .uc-normal{background:#e9f7ee;color:#24804e}
.uc-dialog .uc-info-card{position:relative;display:flex;min-width:0;align-items:center;margin-top:22px;border:1px solid var(--uc-line);border-radius:23px;background:linear-gradient(115deg,#fff 0%,#fff 64%,#f8fcf9 100%);box-shadow:0 10px 28px rgba(39,58,88,.04)}.uc-dialog .uc-binding-card{min-height:112px;gap:18px;padding:20px 22px;overflow:hidden}.uc-dialog .uc-card-icon{display:grid;width:64px;height:64px;flex:0 0 auto;place-items:center;border-radius:50%;font-size:31px;font-weight:700}.uc-dialog .uc-card-icon-wechat{background:linear-gradient(145deg,#e9faef,#dff5e7);color:#16a448}.uc-dialog .uc-card-icon-membership{border-radius:50%;background:linear-gradient(145deg,#75c98f,#29985a);box-shadow:0 9px 24px rgba(41,152,90,.18);color:#fff}.uc-dialog .uc-card-content{min-width:0;flex:1}.uc-dialog .uc-card-content h3,.uc-dialog .uc-membership-main h3{margin:0;color:#0c1730;font-size:21px;line-height:1.3}.uc-dialog .uc-card-content p,.uc-dialog .uc-membership-main p{margin:7px 0 0;color:#53617a;font-size:15.5px;line-height:1.55}
.uc-dialog .uc-button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:0 27px;border-radius:16px;cursor:pointer;font-size:17px;font-weight:720;line-height:1;transition:.16s ease}.uc-dialog .uc-button:hover{transform:translateY(-1px)}.uc-dialog .uc-button:disabled{cursor:wait;opacity:.65;transform:none}.uc-dialog .uc-button-compact{min-height:50px;padding-inline:24px}.uc-dialog .uc-button-primary{background:linear-gradient(135deg,#19b254,#0b923f);box-shadow:0 11px 24px rgba(11,146,63,.2);color:#fff}.uc-dialog .uc-button-primary:hover{box-shadow:0 14px 29px rgba(11,146,63,.27)}.uc-dialog .uc-button-outline{border:1px solid #21b95b;background:#fff;color:#07823a}.uc-dialog .uc-button-outline:hover{background:#f6fcf8}.uc-dialog .uc-button-secondary{border:1px solid #cfd7e4;background:#fff;color:var(--uc-ink)}.uc-dialog .uc-button-secondary:hover{border-color:#b8c3d2;background:#f8fafc}
.uc-dialog .uc-membership-card{align-items:flex-start;gap:20px;padding:24px 24px 22px;overflow:hidden}.uc-dialog .uc-membership-card::after{position:absolute;right:-22px;bottom:-40px;width:180px;height:180px;background-image:radial-gradient(circle,#dcefe3 1.5px,transparent 1.5px);background-size:11px 11px;content:"";opacity:.45}.uc-dialog .uc-membership-main{position:relative;z-index:1;min-width:0;flex:1}.uc-dialog .uc-membership-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.uc-dialog .uc-membership-heading p{margin-top:4px}.uc-dialog .uc-meta-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.uc-dialog .uc-meta-chips span{display:inline-flex;min-height:34px;align-items:center;padding:6px 11px;border-radius:10px;background:#f0f6f2;color:#5b687e;font-size:13.5px;font-weight:610}.uc-dialog .uc-membership-note{margin-top:15px!important}
.uc-dialog .uc-notes-field{margin-top:22px}.uc-dialog .uc-textarea-wrap{position:relative}.uc-dialog .uc-field textarea{min-height:108px;resize:vertical;padding:17px 18px 34px;border-radius:16px;font-size:15px;font-weight:400;line-height:1.7}.uc-dialog .uc-textarea-wrap em{position:absolute;right:16px;bottom:12px;color:#7a879a;font-size:13px;font-style:normal;font-weight:400;pointer-events:none}.uc-dialog .uc-password-card{margin-top:22px;padding:20px 22px;border:1px solid var(--uc-line);border-radius:23px;background:#f8fafc}.uc-dialog .uc-password-card h3{margin:0;color:#0c1730;font-size:18px}.uc-dialog .uc-password-card>p{margin:7px 0 18px;color:#6f7d95;font-size:13px;line-height:1.55}.uc-dialog .uc-password-grid{gap:18px}.uc-dialog .uc-password-grid .uc-field{font-size:14px}.uc-dialog .uc-password-grid .uc-field input{height:54px;font-size:15px}
.uc-dialog .kg-user-center-footer[data-uc-footer]{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:108px;padding:22px 46px;border-top:1px solid #edf1f6;background:rgba(255,255,255,.97);box-shadow:0 -10px 28px rgba(35,49,73,.035)}.uc-dialog .uc-message{min-height:0;margin:0;flex:1;font-size:13px}.uc-dialog .uc-actions{display:flex;flex:0 0 auto;gap:14px}
@media(max-width:860px){.kg-user-center-modal.uc-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);border-radius:24px}.uc-dialog .uc-header{min-height:118px;padding:24px 24px 20px}.uc-dialog .uc-avatar{width:68px;height:68px;border-radius:22px;font-size:28px}.uc-dialog .uc-profile-heading{gap:17px}.uc-dialog .uc-header h2{font-size:31px}.uc-dialog .uc-header p{font-size:15px}.uc-dialog .uc-body{padding:24px}.uc-dialog .uc-form-grid{grid-template-columns:1fr;gap:20px}.uc-dialog .uc-membership-heading{align-items:stretch;flex-direction:column}.uc-dialog .uc-membership-heading .uc-button{align-self:flex-start}.uc-dialog .kg-user-center-footer[data-uc-footer]{min-height:92px;padding:18px 24px}}
@media(max-width:610px){.user-center-backdrop{padding:0;align-items:stretch}.kg-user-center-modal.uc-dialog{width:100%;max-height:none;min-height:100vh;border-radius:0}.uc-dialog .uc-header{align-items:flex-start;padding:20px}.uc-dialog .uc-avatar{width:58px;height:58px;border-radius:18px;font-size:24px}.uc-dialog .uc-profile-heading{align-items:flex-start;gap:14px}.uc-dialog .uc-header h2{font-size:26px}.uc-dialog .uc-header p{margin-top:5px;font-size:13.5px}.uc-dialog .uc-close{width:44px;height:44px;border-radius:14px;font-size:28px}.uc-dialog .uc-body{padding:22px 18px}.uc-dialog .uc-field input{height:58px;font-size:16px}.uc-dialog .uc-binding-card,.uc-dialog .uc-membership-card{align-items:flex-start;flex-wrap:wrap;padding:20px}.uc-dialog .uc-binding-card .uc-button{margin-left:82px}.uc-dialog .uc-membership-card .uc-card-icon{width:54px;height:54px;font-size:26px}.uc-dialog .uc-card-content h3,.uc-dialog .uc-membership-main h3{font-size:19px}.uc-dialog .uc-card-content p,.uc-dialog .uc-membership-main p{font-size:14px}.uc-dialog .uc-meta-chips{gap:7px}.uc-dialog .uc-meta-chips span{font-size:12px}.uc-dialog .kg-user-center-footer[data-uc-footer]{align-items:stretch;flex-direction:column;padding:14px 18px}.uc-dialog .uc-message{min-height:0}.uc-dialog .uc-actions{width:100%}.uc-dialog .uc-actions .uc-button{flex:1;padding:0 12px}}

/* 当前系统使用紧凑比例，避免用户中心在工作区上显得过大。 */
.kg-user-center-modal.uc-dialog{width:min(780px,calc(100vw - 48px));max-height:calc(100vh - 72px);border-radius:26px;box-shadow:0 24px 64px rgba(16,28,51,.2),0 6px 18px rgba(16,28,51,.08)}
.uc-dialog .uc-header{min-height:108px;gap:20px;padding:21px 30px 19px}.uc-dialog .uc-profile-heading{gap:16px}.uc-dialog .uc-avatar{width:62px;height:62px;border-radius:20px;font-size:27px}.uc-dialog .uc-header h2{font-size:30px}.uc-dialog .uc-header p{margin-top:5px;font-size:14px}.uc-dialog .uc-close{width:42px;height:42px;border-radius:13px;font-size:26px}
.uc-dialog .uc-body{padding:22px 30px 20px}.uc-dialog .uc-form-grid{gap:16px 20px}.uc-dialog .uc-field{gap:7px;font-size:14px}.uc-dialog .uc-field input{height:48px;padding:0 14px;border-radius:12px;font-size:15px}.uc-dialog .uc-field-readonly input{padding-right:40px}.uc-dialog .uc-field-readonly b{right:14px;font-size:16px}.uc-dialog .uc-status-row{gap:8px;margin-top:15px}.uc-dialog .uc-status-chip{min-height:30px;padding:5px 11px;font-size:13px}
.uc-dialog .uc-info-card{margin-top:15px;border-radius:17px;box-shadow:0 6px 18px rgba(39,58,88,.035)}.uc-dialog .uc-binding-card{min-height:82px;gap:13px;padding:14px 16px}.uc-dialog .uc-card-icon{width:45px;height:45px;font-size:22px}.uc-dialog .uc-card-content h3,.uc-dialog .uc-membership-main h3{font-size:16px}.uc-dialog .uc-card-content p,.uc-dialog .uc-membership-main p{margin-top:4px;font-size:13px;line-height:1.45}.uc-dialog .uc-button{min-height:40px;padding:0 16px;border-radius:12px;font-size:14px}.uc-dialog .uc-button-compact{min-height:38px;padding-inline:14px}
.uc-dialog .uc-membership-card{gap:14px;padding:16px}.uc-dialog .uc-meta-chips{gap:6px;margin-top:11px}.uc-dialog .uc-meta-chips span{min-height:27px;padding:4px 8px;border-radius:8px;font-size:11.5px}.uc-dialog .uc-membership-note{margin-top:9px!important}.uc-dialog .uc-notes-field{margin-top:15px}.uc-dialog .uc-field textarea{min-height:78px;padding:12px 14px 29px;border-radius:12px;font-size:13px}.uc-dialog .uc-textarea-wrap em{right:12px;bottom:9px;font-size:11px}
.uc-dialog .uc-password-card{margin-top:15px;padding:15px 16px;border-radius:17px}.uc-dialog .uc-password-card h3{font-size:15px}.uc-dialog .uc-password-card>p{margin:4px 0 12px;font-size:12px}.uc-dialog .uc-password-grid{gap:12px}.uc-dialog .uc-password-grid .uc-field input{height:44px;font-size:13px}.uc-dialog .kg-user-center-footer[data-uc-footer]{min-height:72px;padding:14px 30px}.uc-dialog .uc-message{font-size:12px}.uc-dialog .uc-actions{gap:10px}
@media(max-width:860px){.kg-user-center-modal.uc-dialog{max-height:calc(100vh - 32px)}.uc-dialog .uc-header{padding:18px 22px}.uc-dialog .uc-body{padding:20px 22px}.uc-dialog .kg-user-center-footer[data-uc-footer]{padding:13px 22px}}

/* 第二轮紧凑化：与工作区的字号和密度保持一致。 */
.kg-user-center-modal.uc-dialog{width:min(740px,calc(100vw - 48px));max-height:calc(100vh - 96px);border-radius:23px}.uc-dialog .uc-header{min-height:94px;padding:17px 26px 15px}.uc-dialog .uc-avatar{width:54px;height:54px;border-radius:17px;font-size:23px}.uc-dialog .uc-header h2{font-size:26px}.uc-dialog .uc-header p{font-size:12.5px}.uc-dialog .uc-close{width:38px;height:38px;font-size:23px}.uc-dialog .uc-body{padding:18px 26px}.uc-dialog .uc-form-grid{gap:13px 16px}.uc-dialog .uc-field{font-size:13px}.uc-dialog .uc-field input{height:44px;font-size:14px}.uc-dialog .uc-status-chip{font-size:12px}.uc-dialog .uc-card-content h3,.uc-dialog .uc-membership-main h3{font-size:15px}.uc-dialog .uc-card-content p,.uc-dialog .uc-membership-main p{font-size:12px}.uc-dialog .uc-button{min-height:36px;font-size:13px}.uc-dialog .uc-button-compact{min-height:35px}.uc-dialog .uc-meta-chips span{font-size:11px}.uc-dialog .uc-field textarea{font-size:12px}.uc-dialog .uc-password-card h3{font-size:14px}.uc-dialog .uc-password-card>p,.uc-dialog .uc-message{font-size:11px}.uc-dialog .kg-user-center-footer[data-uc-footer]{min-height:64px;padding:12px 26px}
.dialog-close .modal-close-icon{display:block;width:18px;height:18px;margin:0;background-image:url('../assets/membership-ui/icons/close.svg');background-position:center;background-repeat:no-repeat;background-size:contain}
