.customer-portal #customerProfileModal .customer-profile-panel{
  width:min(1180px,calc(100vw - 44px));
  max-width:1180px;
}
.customer-portal #customerProfileModal .customer-profile-form{
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
  align-items:start;
}
.customer-portal #customerProfileModal .customer-profile-overview,
.customer-portal #customerProfileModal .customer-profile-editable{grid-column:1}
.customer-portal #customerProfileModal .customer-profile-password{
  grid-column:2;
  grid-row:1/span 2;
  position:sticky;
  top:0;
}
.customer-portal #customerProfileModal .customer-profile-actions{grid-column:1/-1}
.customer-password-hint{
  margin:0;
  padding:10px 12px;
  border:1px solid #f1c56f;
  border-radius:9px;
  color:#845710;
  background:#fff8e8;
  font-size:12px;
  line-height:1.55;
}
.customer-password-hint.hidden{display:none}
.customer-password-fields{display:grid;gap:13px}
.customer-password-fields label{display:grid;gap:7px;color:#526078;font-size:12px;font-weight:750}
.customer-profile-password-input{position:relative;display:block}
.customer-profile-password-input input{padding-right:44px!important}
.customer-profile-password-input button{
  position:absolute;
  right:5px;
  top:50%;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  transform:translateY(-50%);
  border:0;
  border-radius:8px;
  color:#53647b;
  background:transparent;
  font-size:18px;
}
.customer-profile-password-actions{display:grid;gap:8px}
.customer-profile-password-actions button{
  height:42px;
  border:0;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg,#315ee8,#079d93);
  font-weight:800;
}
.customer-profile-password-actions span{min-height:18px;color:#c23f3f;font-size:12px}

.customer-account-notice{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:11px;
  margin:12px 18px 0;
  padding:10px 12px;
  border:1px solid #efd08e;
  border-radius:12px;
  color:#704b0d;
  background:#fffaec;
  box-shadow:0 6px 18px rgba(113,79,20,.07);
}
.customer-account-notice.hidden{display:none}
.customer-account-notice-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#8a5a09;background:#ffedbd;font-size:16px}
.customer-account-notice strong,.customer-account-notice small{display:block}
.customer-account-notice strong{font-size:13px}
.customer-account-notice small{margin-top:2px;color:#8c6b33;font-size:12px}
.customer-account-notice .ghost{height:34px;padding:0 12px;border-color:#e4bd69;color:#754a00;background:#fff}
.customer-notice-dismiss{display:grid;width:30px;height:30px;min-width:30px;padding:0;place-items:center;border:0;border-radius:9px;color:#8d744d;background:transparent;font-size:20px}

.customer-enterprise-onboarding{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  width:min(940px,calc(100% - 36px));
  margin:28px auto;
  padding:28px;
  border:1px solid #cad9f4;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f7faff);
  box-shadow:0 14px 42px rgba(32,70,130,.1);
}
.customer-enterprise-onboarding.hidden{display:none}
.customer-enterprise-state-mark{display:grid;width:68px;height:68px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(145deg,#2e6fe8,#0d9b91);box-shadow:0 10px 24px rgba(31,100,194,.22);font-size:29px;font-weight:850}
.customer-enterprise-state-copy>span{color:#2b63c7;font-size:12px;font-weight:800;letter-spacing:.08em}
.customer-enterprise-state-copy h2{margin:5px 0 7px;color:#183253;font-size:23px}
.customer-enterprise-state-copy>p{margin:0;color:#61718a;line-height:1.65}
.customer-enterprise-progress{display:flex;align-items:center;gap:9px;margin-top:17px}
.customer-enterprise-progress span{padding:6px 10px;border:1px solid #d5dfef;border-radius:999px;color:#7a8798;background:#fff;font-size:12px;font-weight:750}
.customer-enterprise-progress span.is-complete{border-color:#a9dfc7;color:#14764e;background:#eefaf4}
.customer-enterprise-progress span.is-current{border-color:#8fb0ef;color:#225cbf;background:#eef4ff}
.customer-enterprise-progress i{width:24px;height:1px;background:#d4deec}
.customer-enterprise-reason{margin-top:12px!important;padding:9px 11px;border-radius:9px;color:#9b4b1e!important;background:#fff1ea}
.customer-enterprise-state-actions{display:grid;gap:9px;min-width:190px}
.customer-enterprise-state-actions button{width:100%;min-height:40px}

body.customer-portal.customer-onboarding-only #customerEnterpriseOnboarding{display:grid!important}

.customer-portal .portal-tab.is-business-locked{opacity:.48;cursor:not-allowed;filter:grayscale(.4)}
.customer-portal .portal-tab.is-business-locked::after{content:" · 暂未开放";font-size:10px}
.customer-portal .is-project-business-locked,
.customer-portal.customer-project-business-locked [data-customer-project-edit],
.customer-portal.customer-project-business-locked [data-customer-invite-action]{opacity:.48;cursor:not-allowed;filter:grayscale(.35)}

.customer-license-verification-state{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e5bd6a;border-radius:10px;color:#845310;background:#fff8e8}
.customer-license-verification-state>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:#ffe9b8;font-weight:900}
.customer-license-verification-state strong,.customer-license-verification-state small{display:block}
.customer-license-verification-state small{margin-top:2px;color:#826d4c}
.customer-license-verification-state.is-processing{border-color:#9db8ee;color:#28579e;background:#f1f6ff}
.customer-license-verification-state.is-review{border-color:#e7c06c;color:#8a5910;background:#fff9e9}
.customer-license-verification-state.is-verified{border-color:#9bd6bd;color:#126b49;background:#effaf5}
.customer-license-verification-state.is-rejected{border-color:#efa9a9;color:#a83737;background:#fff1f1}
.customer-profile-fields input[readonly]{color:#435168;background:#f3f6fa;cursor:not-allowed}
.customer-license-ocr-field.valid{border-left:3px solid #28a36a}
.customer-license-ocr-field.invalid{border-left:3px solid #d13a3a;background:#fff2f2}

@media(max-width:900px){
  .customer-portal #customerProfileModal .customer-profile-form{grid-template-columns:1fr}
  .customer-portal #customerProfileModal .customer-profile-overview,
  .customer-portal #customerProfileModal .customer-profile-editable,
  .customer-portal #customerProfileModal .customer-profile-password,
  .customer-portal #customerProfileModal .customer-profile-actions{grid-column:1;grid-row:auto}
  .customer-portal #customerProfileModal .customer-profile-password{position:static}
  .customer-account-notice{grid-template-columns:auto minmax(0,1fr) auto;margin:10px 12px 0}
  .customer-account-notice .ghost{grid-column:2}
  .customer-notice-dismiss{grid-column:3;grid-row:1}
  .customer-enterprise-onboarding{grid-template-columns:1fr;width:calc(100% - 24px);margin:16px auto;padding:22px}
  .customer-enterprise-state-mark{width:54px;height:54px;border-radius:16px;font-size:23px}
  .customer-enterprise-state-actions{grid-template-columns:1fr 1fr;min-width:0}
}
@media(max-width:560px){
  .customer-account-notice{grid-template-columns:auto minmax(0,1fr);padding-right:40px}
  .customer-account-notice .ghost{grid-column:1/-1}
  .customer-notice-dismiss{position:absolute;right:7px;top:7px}
  .customer-enterprise-progress{align-items:stretch;flex-direction:column}
  .customer-enterprise-progress i{width:1px;height:11px;margin-left:18px}
  .customer-enterprise-state-actions{grid-template-columns:1fr}
}
