/* =====================================================================
   Account Redesign（方案 Phase 2 §7-§9）
   只服务 PC：scope = body[data-page="account-workspace"|"account-login"]:not(.mobile-page)
   不新增全局 :root token；token 挂在页面 scope 上（§8）。
   老规则不删不改，本文件在其后加载，靠同等以上优先级覆盖。
   Dialog 组件为 PC + Mobile 共用，因此 .ac-dialog 不做 mobile 排除（§69 回归项）。
   ===================================================================== */

/* ------------------------------------------------------------------
   1. 页面 token（§8）
   ------------------------------------------------------------------ */
body[data-page="account-workspace"]:not(.mobile-page),
body[data-page="account-login"]:not(.mobile-page) {
  --ac-brand: #00ACEB;
  --ac-brand-hover: #009BD4;
  --ac-bg: #F7F9FC;
  --ac-surface: #FFFFFF;
  --ac-text: #172033;
  --ac-text-2: #667085;
  --ac-muted: #5A6573;
  --ac-border: #E7EDF3;
  --ac-soft-blue: #F3FBFE;
  /* B1C: radius-panel */ --ac-radius: var(--radius-panel);
  --ac-radius-sm: 12px;
  /* B1C: shadow-subtle */ --ac-shadow: var(--shadow-subtle);
}

/* ------------------------------------------------------------------
   2. Dialog 组件（§55-§57）：站内弹窗，替换原生 confirm/prompt/alert。
      双端共用（手机端 account.js 同一控制器）。
   ------------------------------------------------------------------ */
.ac-dialog {
  width: min(480px, calc(100vw - 32px));
  border: 0;
  border-radius: 16px;
  padding: 26px 26px 22px;
  background: #fff;
  color: #172033;
  box-shadow: 0 24px 64px rgba(23, 32, 51, 0.18);
}
.ac-dialog::backdrop { background: rgba(23, 32, 51, 0.4); }
.ac-dialog form { display: block; }
.ac-dialog-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 14px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(0, 172, 235, 0.1);
  color: #009bd4;
}
.ac-dialog-icon svg { width: 22px; height: 22px; }
.ac-dialog.is-danger .ac-dialog-icon { background: rgba(224, 82, 82, 0.1); color: #d0442c; }
.ac-dialog h2 { margin: 0 0 8px; /* B1A2: type-section-title */ font-size: var(--type-section-title-size); line-height: var(--type-section-title-line-height); }
.ac-dialog-message { margin: 0 0 4px; font-size: 13.5px; line-height: 1.7; color: #667085; }
.ac-dialog-field { margin-top: 14px; }
.ac-dialog-field label { display: block; margin-bottom: 6px; font-size: 12.5px; color: #667085; }
.ac-dialog-field input {
  width: 100%;
  box-sizing: border-box;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #e7edf3;
  border-radius: 10px;
  font-size: 14px;
  color: #172033;
  background: #fbfcfe;
}
.ac-dialog-field input:focus { outline: none; border-color: rgba(0, 172, 235, 0.55); background: #fff; }
.ac-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.ac-dialog-btn {
  min-height: 38px;
  padding: 0 18px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
}
.ac-dialog-btn.ghost { background: #fff; border-color: #e7edf3; color: #475467; }
.ac-dialog-btn.ghost:hover { border-color: #d5dee8; color: #172033; }
.ac-dialog-btn.solid { background: #00aceb; color: #fff; }
.ac-dialog-btn.solid:hover { background: #009bd4; }
.ac-dialog.is-danger .ac-dialog-btn.solid { background: #d0442c; }
.ac-dialog.is-danger .ac-dialog-btn.solid:hover { background: #b93a25; }

/* ------------------------------------------------------------------
   3. 登录页（§58-§62）：轻、专业、与 Community/Workspace 连续。
   ------------------------------------------------------------------ */
@media (min-width: 801px) {
  body[data-page="account-login"]:not(.mobile-page) {
    background:
      radial-gradient(520px 320px at 86% -60px, rgba(0, 172, 235, 0.08), transparent 70%),
      var(--ac-bg);
    min-height: 100vh;
  }
  body[data-page="account-login"]:not(.mobile-page) .account-shell {
    width: min(1320px, calc(100vw - 48px));
    min-height: calc(100vh - 120px);
    display: grid;
    place-items: center;
    padding: 48px 0 64px;
  }
  body[data-page="account-login"]:not(.mobile-page) .account-gate,
  body[data-page="account-login"]:not(.mobile-page) .account-auth {
    width: 460px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    min-height: 0;
    display: block; /* 老规则 grid+place-items:center 会把 .ac-login 收缩成内容宽，卡体须满 460 */
  }
  .ac-login {
    width: 100%;
    box-sizing: border-box;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    padding: 34px 38px 30px;
    text-align: left; /* 老 .account-auth 的 center 会继承进卡内，与品牌行/输入内容轴线打架 */
  }
  .ac-login-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    font-size: 14px;
    font-weight: 700;
    color: var(--ac-text);
  }
  .ac-login-brand img { width: 34px; height: 34px; border-radius: 9px; }
  .ac-login h2 { margin: 0 0 6px; /* B1A2: type-section-title */ font-size: var(--type-section-title-size); font-weight: var(--type-section-title-weight); color: var(--ac-text); }
  /* .ac-login-sub/.ac-login-return 是 <p>，被老规则 .account-auth p (0,1,1)
     的 margin:10px auto + max-width:320px 压制，前缀提权到 (0,2,0) 收回。
     注意不可写 display:block——会压掉 UA [hidden]，让隐藏的 return 提示条常显 */
  .ac-login .ac-login-sub { margin: 0 0 18px; max-width: none; font-size: 13.5px; color: #5A6573; }
  .ac-login .ac-login-return {
    margin: 0 0 20px;
    max-width: none;
    padding: 9px 12px;
    border-radius: var(--ac-radius-sm);
    background: var(--ac-soft-blue);
    border: 1px solid rgba(0, 172, 235, 0.18);
    color: #00698F;
    font-size: 12.5px;
    text-align: left;
  }
  .ac-login-fields { display: grid; gap: 16px; margin-bottom: 22px; }
  .ac-login-field { display: block; }
  .ac-login-field > span:first-child {
    display: block;
    margin-bottom: 6px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--ac-text-2);
  }
  .ac-login-phone,
  .ac-login-code { display: flex; align-items: center; gap: 8px; }
  /* +86 收进手机号框内部：外框由 wrapper 承担，前缀与无边框 input 同处一个框内。
     这样手机号框左缘与验证码框左缘落在同一垂直轴（此前 em 在框外占位把手机号框推右）。 */
  .ac-login-phone {
    gap: 0;
    height: 42px;
    padding: 0;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    background: #fbfcfe;
    box-sizing: border-box;
  }
  .ac-login-phone:focus-within { border-color: rgba(0, 172, 235, 0.55); background: #fff; }
  .ac-login-phone em {
    flex: 0 0 auto;
    padding: 0 10px 0 13px;
    border-right: 1px solid var(--ac-border);
    font-style: normal;
    font-size: 14px;
    line-height: 1;
    color: var(--ac-text-2);
    pointer-events: none;
  }
  /* 内层 input 去掉自身边框/底色，仅保留文字区，避免双框。 */
  .ac-login-field .ac-login-phone input {
    height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .ac-login-field .ac-login-phone input:focus { border: 0; background: transparent; }
  /* account.css 给所有输入框加了 !important 的 2px 焦点投影；内层 input 不再承担外框，
     投影必须收回，否则前缀右侧会出现第二个小框。焦点反馈见 .ac-login-phone:focus-within。 */
  body[data-page="account-login"]:not(.mobile-page) .ac-login-phone input:focus {
    border-color: transparent !important;
    box-shadow: none !important;
  }
  .ac-login-field input {
    flex: 1;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    font-size: 14px;
    color: var(--ac-text);
    background: #fbfcfe;
  }
  .ac-login-field > input { display: block; width: 100%; box-sizing: border-box; }
  .ac-login-field input:focus { outline: none; border-color: rgba(0, 172, 235, 0.55); background: #fff; }
  .ac-login-code { gap: 10px; }
  .ac-login-code-btn {
    flex: 0 0 auto;
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(0, 172, 235, 0.4);
    border-radius: 10px;
    background: var(--ac-soft-blue);
    color: #00698F;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
  }
  .ac-login-code-btn:hover { background: rgba(0, 172, 235, 0.12); }
  .ac-login-code-btn:disabled { opacity: 0.55; cursor: not-allowed; }
  .ac-login-submit {
    width: 100%;
    height: 44px;
    border: 0;
    border-radius: var(--ac-radius-sm);
    background: var(--ac-brand);
    color: #002E3D;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
  }
  .ac-login-submit:hover { background: var(--ac-brand-hover); }
  .ac-login-submit:disabled { opacity: 0.5; cursor: not-allowed; }
  .ac-login-preview {
    width: 100%;
    height: 40px;
    margin-top: 10px;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
    background: #fff;
    color: var(--ac-text-2);
    font-size: 13.5px;
    cursor: pointer;
  }
  .ac-login-preview:hover { border-color: rgba(0, 172, 235, 0.4); color: var(--ac-brand-hover); }
  .ac-login-preview:disabled { opacity: 0.5; cursor: not-allowed; }
  .ac-login-agreement {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 0; /* 老规则 margin 左 2px 会让勾选框离开全卡左轴线 */
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--ac-text-2);
    text-align: left;
    cursor: pointer;
  }
  .ac-login-agreement input { margin-top: 3px; accent-color: var(--ac-brand); }
  .ac-login-agreement a { color: var(--ac-brand-hover); text-decoration: none; }
  .ac-login-agreement a:hover { text-decoration: underline; }
  body[data-page="account-login"]:not(.mobile-page) .account-auth-status {
    /* 老规则 .account-auth-status 带 !important 的 margin-top:13px 与 .account-auth p 的 max-width:320px 都须压制 */
    margin: 10px 0 0 !important;
    max-width: none;
    font-size: 12.5px;
    color: #5A6573;
    min-height: 18px;
    text-align: left;
  }
  body[data-page="account-login"]:not(.mobile-page) .account-auth-status.error { color: #d0442c; }
}

/* ------------------------------------------------------------------
   4. Workspace 框架（§9-§11）：#F7F9FC 底、1320 容器、左侧 236 导航、
      右侧不再套整张大白卡。
   ------------------------------------------------------------------ */
@media (min-width: 801px) {
  body[data-page="account-workspace"]:not(.mobile-page) {
    background: var(--ac-bg);
    color: var(--ac-text);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav {
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid var(--ac-border);
    backdrop-filter: none;
    box-shadow: none;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-shell {
    width: min(1320px, calc(100vw - 48px));
    padding: 26px 0 60px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-workspace-title { display: none; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-app {
    grid-template-columns: 236px minmax(0, 1fr);
    gap: 24px;
    margin-top: 0;
    align-items: start;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-side {
    position: sticky;
    top: 76px;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    padding: 18px 14px 14px;
    overflow: visible;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-profile { padding: 4px 6px 14px; border-bottom: 1px solid var(--ac-border); margin-bottom: 10px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-profile h2 { font-size: 15.5px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-profile p { font-size: 12px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-avatar { width: 42px; height: 42px; font-size: 17px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-roles { display: none; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-points-summary {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
    background: var(--ac-soft-blue);
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-points-summary span { font-size: 12px; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-points-summary strong { font-size: 18px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-points-summary small { font-size: 11.5px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list { display: grid; gap: 2px; padding: 0; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-group {
    margin: 12px 6px 6px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--ac-muted);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 var(--spacing-control-internal);
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--ac-text-2);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list button .nav-icon { width: 18px; height: 18px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list button .nav-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list button:hover { background: #f2f6fa; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-nav-list button.active {
    background: var(--ac-soft-blue);
    color: #00698F;
    font-weight: 600;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-side-footer { padding: 12px 4px 0; border-top: 1px solid var(--ac-border); margin-top: 10px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-side-footer .account-secondary-btn { width: 100%; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-main-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    min-width: 0;
  }

  /* --- 通用按钮（作用域内统一新旧两套类名，§75 禁渐变/发光） --- */
  body[data-page="account-workspace"]:not(.mobile-page) .account-primary-btn,
  .ac-btn.primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border: 0;
    /* B1C: radius-control */
    border-radius: var(--radius-control);
    background: var(--ac-brand);
    color: #002E3D;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-primary-btn:hover,
  .ac-btn.primary:hover { background: var(--ac-brand-hover); color: #002E3D; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-secondary-btn,
  .ac-btn.ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    background: var(--ac-surface);
    color: var(--ac-text-2);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-secondary-btn:hover,
  .ac-btn.ghost:hover { border-color: rgba(0, 172, 235, 0.45); color: var(--ac-brand-hover); }
  .ac-btn.small { min-height: 32px; padding: 0 14px; font-size: 13px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-text-btn {
    color: var(--ac-brand-hover);
    font-size: 13px;
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-text-btn:hover { color: var(--ac-brand); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-danger-btn { color: #d0442c; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-danger-btn:hover { color: #b93a25; }

  /* --- 旧渲染 tab（选型/需求/内容）卡化：让整页统一，不必重写其 markup --- */
  body[data-page="account-workspace"]:not(.mobile-page) .account-main-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-main-head h2 { margin: 0 0 6px; font-size: 24px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-main-head p { margin: 0; font-size: 13.5px; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-main-card > .account-main-head:first-child { margin-top: 0; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-section {
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    padding: 20px 22px;
    margin: 0 0 18px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-section > h3 { margin: 0 0 14px; font-size: 16.5px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-section-heading h3 { margin: 0 0 4px; font-size: 16.5px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-section-heading p { margin: 0; font-size: 12.5px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-list-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 2px;
    border-bottom: 1px solid var(--ac-border);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-list { display: grid; gap: 0; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-list-item strong { font-size: 14px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-list-item p { margin: 4px 0 0; font-size: 13px; color: var(--ac-text-2); line-height: 1.6; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-item-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-item-actions time { font-size: 12px; color: var(--ac-muted); white-space: nowrap; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-empty {
    padding: 26px 20px;
    border-radius: var(--ac-radius-sm);
    background: #fafbfd;
    border: 1px dashed var(--ac-border);
    color: var(--ac-text-2);
    font-size: 13px;
    line-height: 1.7;
    text-align: center;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-empty a { color: var(--ac-brand-hover); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-product-grid,
  body[data-page="account-workspace"]:not(.mobile-page) .account-term-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-product,
  body[data-page="account-workspace"]:not(.mobile-page) .account-term-card {
    background: #fbfcfe;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
    padding: 14px 16px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-product .brand { font-size: 11.5px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-product h4,
  body[data-page="account-workspace"]:not(.mobile-page) .account-term-card h4 { margin: 4px 0 6px; font-size: 14px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-term-card p { margin: 0 0 10px; font-size: 12.5px; color: var(--ac-text-2); line-height: 1.6; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-product-actions { display: flex; align-items: center; gap: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-card { border: 1px solid var(--ac-border); border-radius: var(--ac-radius-sm); padding: 16px 18px; background: #fbfcfe; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-grid { display: grid; gap: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-head h4 { margin: 4px 0 0; font-size: 15px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-products { display: grid; gap: 8px; margin: 12px 0; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-products li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    font-size: 13.5px;
    color: var(--ac-text);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-products li em { font-style: normal; font-size: 12px; color: var(--ac-brand-hover); }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-products li.excluded em { color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-products li .account-text-btn { flex: 0 0 auto; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-form { margin: 12px 0 16px; padding: 14px 16px; border: 1px solid var(--ac-border); border-radius: var(--ac-radius-sm); background: #fafbfd; }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-form label { display: block; margin-bottom: 8px; font-size: 12.5px; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .selection-project-form input { width: min(420px, 100%); height: 38px; padding: 0 12px; border: 1px solid var(--ac-border); border-radius: 10px; font-size: 14px; }
  body[data-page="account-workspace"]:not(.mobile-page) .workbench-badge,
  body[data-page="account-workspace"]:not(.mobile-page) .account-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--ac-soft-blue);
    color: #0a7ea8;
    font-size: 12px;
    font-weight: 600;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .workbench-badge.warning { background: #fef6e7; color: #b25e09; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-status-badge { background: #f2f4f7; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-tag { display: inline-block; margin: 0 6px 4px 0; padding: 2px 10px; border-radius: 999px; background: #f2f4f7; color: var(--ac-text-2); font-size: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-timeline { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-timeline-item { font-size: 12px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-timeline-item time { margin-left: 6px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-subtabs {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    margin: 0 0 18px;
    background: #eef2f6;
    border-radius: 12px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-subtabs button,
  body[data-page="account-workspace"]:not(.mobile-page) .account-subtabs a {
    min-height: 32px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--ac-text-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-subtabs button.active { background: var(--ac-surface); color: var(--ac-text); font-weight: 600; box-shadow: 0 1px 3px rgba(23, 32, 51, 0.08); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-badge { display: inline-flex; align-items: center; margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: #f2f4f7; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-badge.hidden,
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-badge.rejected { background: #fef3f2; color: #b42318; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-badge.pending_review { background: #fef6e7; color: #b25e09; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-badge.edited { background: var(--ac-soft-blue); color: #0a7ea8; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-edit { margin-top: 10px; display: grid; gap: 8px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-edit input,
  body[data-page="account-workspace"]:not(.mobile-page) .account-mod-edit textarea { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--ac-border); border-radius: 10px; font-size: 13px; color: var(--ac-text); background: #fbfcfe; }

  /* ----------------------------------------------------------------
     5. Hero（§14-§15）
     ---------------------------------------------------------------- */
  .ac-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 138px;
    padding: 26px 30px;
    margin-bottom: 18px;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
  }
  .ac-hero-copy h2 { margin: 0 0 8px; font-size: 26px; line-height: 1.25; color: var(--ac-text); }
  .ac-hero-copy p { margin: 0; font-size: 13.5px; color: var(--ac-text-2); }
  .ac-hero-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; position: relative; z-index: 1; }
  .ac-hero-decor { position: absolute; right: 210px; top: 0; bottom: 0; width: 220px; pointer-events: none; }
  .ac-hero-decor i { position: absolute; border-radius: 10px; background: linear-gradient(160deg, rgba(0, 172, 235, 0.10), rgba(0, 172, 235, 0.02)); }
  .ac-hero-decor i:first-child { right: 0; top: 22px; width: 96px; height: 66px; transform: rotate(8deg); }
  .ac-hero-decor i:nth-child(2) { right: 84px; top: 44px; width: 76px; height: 52px; transform: rotate(-7deg); background: linear-gradient(160deg, rgba(0, 172, 235, 0.14), rgba(0, 172, 235, 0.03)); }

  /* ----------------------------------------------------------------
     6. 首页四模块 Grid（§16、§67：位置固定，内部状态变化）
     ---------------------------------------------------------------- */
  .ac-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
  }
  .ac-col-main,
  .ac-col-side { display: grid; gap: 18px; min-width: 0; }
  .ac-card {
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    padding: 20px 22px;
    min-width: 0;
  }
  .ac-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
  .ac-card-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: var(--ac-soft-blue);
    color: var(--ac-brand-hover);
  }
  .ac-card-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ac-card-heading { flex: 1; min-width: 0; }
  .ac-card-heading h3 { margin: 1px 0 3px; font-size: 17px; color: var(--ac-text); }
  .ac-card-heading p { margin: 0; font-size: 12.5px; color: var(--ac-muted); }
  .ac-card-link { flex: 0 0 auto; font-size: 12.5px; color: var(--ac-brand-hover); text-decoration: none; padding-top: 4px; }
  .ac-card-link:hover { color: var(--ac-brand); }

  /* 我的资料库（§17-§23） */
  .ac-library-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin-bottom: 16px; }
  .ac-stat-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #fafbfd;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
    text-decoration: none;
    color: var(--ac-text);
  }
  .ac-stat-chip:hover { border-color: rgba(0, 172, 235, 0.4); }
  .ac-stat-icon { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; }
  .ac-stat-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ac-stat-icon.product { background: #fff6e6; color: #dc8a0e; }
  .ac-stat-icon.term { background: #eef4ff; color: #3f6ad8; }
  .ac-stat-icon.highlight { background: #eefcf3; color: #2e9e63; }
  .ac-stat-icon.tool { background: #f3eefe; color: #7a4fd3; }
  .ac-stat-meta b { display: block; font-size: 17px; line-height: 1.15; color: var(--ac-text); }
  .ac-stat-meta small { font-size: 11.5px; color: var(--ac-muted); }
  .ac-recent-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; }
  .ac-recent-head b { font-size: 13.5px; color: var(--ac-text); }
  .ac-recent-head a { font-size: 12px; color: var(--ac-brand-hover); text-decoration: none; }
  .ac-recent-list { display: grid; }
  .ac-recent-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--ac-border);
    text-decoration: none;
    color: inherit;
  }
  .ac-recent-item:last-child { border-bottom: 0; }
  a.ac-recent-item:hover .ac-recent-copy b { color: var(--ac-brand-hover); }
  .ac-recent-icon {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    background: #f2f4f7;
    color: var(--ac-text-2);
  }
  .ac-recent-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ac-recent-icon.product { background: #fff6e6; color: #dc8a0e; }
  .ac-recent-icon.highlight { background: #eefcf3; color: #2e9e63; }
  .ac-recent-icon.tool { background: #f3eefe; color: #7a4fd3; }
  .ac-recent-icon.message { background: var(--ac-soft-blue); color: var(--ac-brand-hover); }
  .ac-recent-copy { flex: 1; min-width: 0; }
  .ac-recent-copy b { display: block; font-size: 13.5px; font-weight: 600; color: var(--ac-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ac-recent-copy small { display: block; margin-top: 1px; font-size: 12px; color: var(--ac-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ac-recent-item time { flex: 0 0 auto; font-size: 12px; color: var(--ac-muted); white-space: nowrap; }

  /* 继续处理（§25-§29） */
  .ac-task-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; }
  .ac-task-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    padding: 12px 14px;
    background: #fafbfd;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
  }
  .ac-task-icon { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--ac-soft-blue); color: var(--ac-brand-hover); }
  .ac-task-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ac-task-icon.demand { background: #fff6e6; color: #dc8a0e; }
  .ac-task-icon.account { background: #eef4ff; color: #3f6ad8; }
  .ac-task-icon.message { background: #eefcf3; color: #2e9e63; }
  .ac-task-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; word-break: normal; }
  .ac-task-copy b { display: block; font-size: 13.5px; color: var(--ac-text); }
  .ac-task-copy small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.55; color: var(--ac-text-2); }

  /* 待办与消息（§30-§33） */
  .ac-msg-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
  .ac-msg-stats:has(> :only-child) { grid-template-columns: minmax(0, 1fr); }
  .ac-msg-stats:has(> :nth-child(2)):not(:has(> :nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ac-msg-stat { display: flex; align-items: center; gap: 10px; padding: 11px 13px; background: #fafbfd; border: 1px solid var(--ac-border); border-radius: var(--ac-radius-sm); }
  .ac-msg-stat .ac-recent-icon { width: 30px; height: 30px; }
  .ac-msg-stat b { font-size: 16px; color: var(--ac-text); }
  .ac-msg-stat small { display: block; font-size: 11.5px; color: var(--ac-muted); }
  .ac-msg-list { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
  .ac-msg-list .ac-recent-item { min-width: 0; }
  .ac-msg-list .ac-recent-copy b,
  .ac-msg-list .ac-recent-copy small {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  /* 最近活动（§34-§37） */
  .ac-activity { list-style: none; margin: 0; padding: 0; position: relative; }
  .ac-activity li { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 9px 0 9px 2px; }
  .ac-activity li::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--ac-border);
  }
  .ac-activity li:first-child::before { top: 24px; }
  .ac-activity li:last-child::before { bottom: auto; height: 24px; }
  .ac-activity li:only-child::before { display: none; }
  .ac-activity-icon {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    color: var(--ac-text-2);
  }
  .ac-activity-icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .ac-activity-icon.favorite { background: #fff6e6; border-color: transparent; color: #dc8a0e; }
  .ac-activity-icon.compare { background: var(--ac-soft-blue); border-color: transparent; color: var(--ac-brand-hover); }
  .ac-activity-icon.demand { background: #eef4ff; border-color: transparent; color: #3f6ad8; }
  .ac-activity-copy { flex: 1; min-width: 0; padding-top: 4px; }
  .ac-activity-copy b { display: block; font-size: 13px; font-weight: 600; color: var(--ac-text); }
  .ac-activity-copy small { display: block; margin-top: 1px; font-size: 12px; color: var(--ac-muted); }
  .ac-activity time { flex: 0 0 auto; font-size: 12px; color: var(--ac-muted); padding-top: 6px; white-space: nowrap; }

  /* 紧凑空态（§64：icon + 一句标题 + 一句说明 + 1 个 CTA，≤180px） */
  .ac-empty { display: grid; justify-items: center; text-align: center; padding: 30px 20px; }
  .ac-empty .ac-empty-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f2f4f7;
    color: var(--ac-muted);
    margin-bottom: 12px;
  }
  .ac-empty .ac-empty-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .ac-empty b { font-size: 14px; color: var(--ac-text); margin-bottom: 4px; }
  .ac-empty p { margin: 0 0 14px; font-size: 12.5px; line-height: 1.7; color: var(--ac-muted); max-width: 400px; }
  .ac-empty-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

  /* ----------------------------------------------------------------
     7. 设置页（§47-§54）：分组 + sticky 锚点 + Danger Zone
     ---------------------------------------------------------------- */
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-nav {
    position: sticky;
    top: 76px;
    z-index: 5;
    display: flex;
    gap: 4px;
    padding: 5px;
    margin: 0 0 18px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid var(--ac-border);
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(23, 32, 51, 0.06);
    backdrop-filter: blur(6px);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-nav button {
    flex: 1;
    min-height: 34px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--ac-text-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-nav button.active { background: var(--ac-soft-blue); color: var(--ac-brand-hover); font-weight: 600; }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-group {
    scroll-margin-top: 150px;
    background: var(--ac-surface);
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius);
    box-shadow: var(--ac-shadow);
    padding: 22px 24px;
    margin: 0 0 18px;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-group > h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 17px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-group > .ac-group-sub { margin: 0 0 18px; font-size: 12.5px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-field { margin-bottom: 16px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-field > label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-field input,
  body[data-page="account-workspace"]:not(.mobile-page) .account-field select,
  body[data-page="account-workspace"]:not(.mobile-page) .account-field textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    background: #fbfcfe;
    color: var(--ac-text);
    font-size: 14px;
  }
  /* 复选框不走文本输入框规则（否则行业身份/可见性勾选框会被拉满宽高） */
  body[data-page="account-workspace"]:not(.mobile-page) .account-field input[type="checkbox"],
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-pref input,
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility-row input {
    width: auto;
    min-height: 0;
    padding: 0;
    margin: 0;
    accent-color: var(--ac-brand);
    background: transparent;
    border: 0;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-field textarea { resize: vertical; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-field input:focus,
  body[data-page="account-workspace"]:not(.mobile-page) .account-field textarea:focus,
  body[data-page="account-workspace"]:not(.mobile-page) .account-field select:focus { outline: none; border-color: rgba(0, 172, 235, 0.55); background: #fff; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-form-note { margin: 6px 0 0; font-size: 12px; line-height: 1.65; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-form-note b { color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-form-note.error { color: #b42318; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-region-inputs { display: flex; gap: 10px; max-width: 460px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-role-options { display: flex; flex-wrap: wrap; gap: 10px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-role-options label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1px solid var(--ac-border);
    border-radius: 999px;
    font-size: 13px;
    color: var(--ac-text-2);
    cursor: pointer;
    background: #fbfcfe;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-role-options label:has(input:checked) { border-color: rgba(0, 172, 235, 0.5); background: var(--ac-soft-blue); color: var(--ac-brand-hover); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-avatar-upload { display: flex; align-items: center; gap: 16px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-upload-btn {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    background: #fff;
    color: var(--ac-text-2);
    font-size: 13px;
    cursor: pointer;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-upload-btn:hover { border-color: rgba(0, 172, 235, 0.45); color: var(--ac-brand-hover); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility { border: 1px solid var(--ac-border); border-radius: var(--ac-radius-sm); padding: 14px 16px; margin: 4px 0 10px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility legend { font-size: 13px; font-weight: 600; color: var(--ac-text); padding: 0 6px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility-row { display: flex; align-items: flex-start; gap: 10px; padding: 8px 2px; cursor: pointer; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility-row input { margin-top: 3px; accent-color: var(--ac-brand); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility-row strong { display: block; font-size: 13.5px; color: var(--ac-text); font-weight: 600; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-visibility-row em { font-style: normal; font-size: 12px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-status { font-size: 12.5px; color: var(--ac-text-2); min-height: 18px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-status.error { color: #b42318; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-lifecycle { margin: 0 0 6px; padding: 0; background: transparent; border: 0; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-lifecycle h3 { margin: 0 0 6px; font-size: 15px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-lifecycle-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-deletion,
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form { margin-top: 12px; border: 1px solid var(--ac-border); border-radius: var(--ac-radius-sm); padding: 12px 16px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-deletion summary,
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: #d0442c; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form summary { color: var(--ac-brand-hover); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-deletion label,
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form label { display: block; margin: 10px 0 6px; font-size: 12.5px; color: var(--ac-text-2); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-deletion input,
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form textarea,
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-form input {
    width: 100%;
    box-sizing: border-box;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--ac-border);
    border-radius: 10px;
    font-size: 13.5px;
    background: #fbfcfe;
    color: var(--ac-text);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .account-deletion-pending { padding: 14px 16px; border: 1px solid #f4c7c0; background: #fef6f5; border-radius: var(--ac-radius-sm); font-size: 13px; color: var(--ac-text); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-badge { display: inline-flex; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: #fef6e7; color: #b25e09; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-badge.accepted { background: #eefcf3; color: #2e9e63; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-badge.rejected { background: #fef3f2; color: #b42318; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-item { padding: 12px 0; border-bottom: 1px solid var(--ac-border); font-size: 13px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-head { display: flex; align-items: center; gap: 10px; color: var(--ac-muted); font-size: 12px; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-reason { margin: 6px 0; color: var(--ac-text-2); line-height: 1.6; }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-conclusion { margin: 0; font-size: 12.5px; color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .account-appeal-conclusion.pending { color: var(--ac-brand-hover); }
  /* Danger Zone（§54）：浅红边框 + 红色标题/CTA，克制 */
  body[data-page="account-workspace"]:not(.mobile-page) .ac-danger-zone {
    border: 1px solid #f4c7c0;
    background: #fffdfd;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-danger-zone > h3 { color: #b42318; }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-danger-zone .account-danger-btn {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #f4c7c0;
    border-radius: 10px;
    background: #fff;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-danger-zone .account-danger-btn:hover { background: #fef3f2; }
  /* 换绑手机号与恢复邮箱：统一 form field（§52），清掉内联裸样式 */
  body[data-page="account-workspace"]:not(.mobile-page) #account-identity-security .account-field input { max-width: 320px; }
  body[data-page="account-workspace"]:not(.mobile-page) #account-identity-security input[style] { max-width: 200px !important; margin: 0 !important; }
  /* 表单跨两个视觉分组（个人资料 + 公开与隐私都在 #account-profile-form 内，验收契约） */
  body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-form { display: contents; }
  /* Danger Zone：注销块为空时（正常账号/读取失败）不显示红框 */
  body[data-page="account-workspace"]:not(.mobile-page) .ac-danger-zone:empty { display: none; }
  body[data-page="account-workspace"]:not(.mobile-page) .gbq-fuzzy-tag { display: inline-flex; align-items: center; padding: 1px 8px; margin-left: 8px; border-radius: 999px; background: var(--ac-soft-blue); color: var(--ac-brand-hover); font-size: 11.5px; font-weight: 600; }

  /* 资料记录：工具任务行（§42） */
  .ac-tool-list { display: grid; gap: 10px; }
  .ac-tool-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    background: #fafbfd;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
  }
  .ac-tool-copy { flex: 1; min-width: 0; }
  .ac-tool-copy b { display: block; font-size: 13.5px; color: var(--ac-text); }
  .ac-tool-copy small { display: block; margin-top: 2px; font-size: 12px; color: var(--ac-muted); }
  .ac-tool-item time { flex: 0 0 auto; font-size: 12px; color: var(--ac-muted); }

  /* 消息中心（§45）：偏好行 + 消息流 */
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-prefs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    padding: 12px 14px;
    margin-bottom: 16px;
    background: #fafbfd;
    border: 1px solid var(--ac-border);
    border-radius: var(--ac-radius-sm);
  }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-prefs > b { font-size: 12.5px; color: var(--ac-text-2); font-weight: 600; }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-pref { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ac-text-2); cursor: pointer; }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-pref input { accent-color: var(--ac-brand); }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-pref.off { color: var(--ac-muted); }
  body[data-page="account-workspace"]:not(.mobile-page) .ac-msg-pref-note { flex-basis: 100%; font-size: 11.5px; color: var(--ac-muted); }

  /* ----------------------------------------------------------------
     7b. 键盘焦点：与全站无障碍批次（ui-detail-audit.css）同一条约定。
     账户两页不加载该文件，此前登录页链接只剩浏览器默认 1px 细环、输入框只有
     1px 描边变色；这里补上与全站一致的 3px #0087b3 焦点环（PC 限定）。
     ---------------------------------------------------------------- */
  body[data-page="account-login"]:not(.mobile-page) :where(a[href], button, input, select, textarea, [tabindex]):focus-visible,
  body[data-page="account-workspace"]:not(.mobile-page) :where(a[href], button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #0087b3 !important;
    outline-offset: 2px !important;
  }
  /* 手机号 input 现在只是内层文字区，键盘焦点环画在整个 .ac-login-phone 外框上，
     否则 3px 焦点环会缩在前缀右侧、框内出现第二个框。 */
  body[data-page="account-login"]:not(.mobile-page) .ac-login-phone input:focus-visible { outline: none !important; }
  .ac-login-phone:has(input:focus-visible) { outline: 3px solid #0087b3; outline-offset: 2px; }

  /* ----------------------------------------------------------------
     8. Responsive（§68）
     ---------------------------------------------------------------- */
  /* 中窄桌面（801–1180）：Header（.account-nav-inner）在 desktop-nav.css 里改用
     calc(100% - 32px)，正文跟随同一条基线，避免 1024 等宽度下与 Header 左右各差 11px。
     desktop-nav.css 在本文件之后加载且带 !important，因此这里用 main.account-shell
     提高特异性夺回宽度。 */
  @media (min-width: 801px) and (max-width: 1180px) {
    html body.account-workspace-view:not(.mobile-page) main.account-shell {
      width: calc(100% - 32px) !important;
    }
  }
  @media (max-width: 1280px) {
    body[data-page="account-workspace"]:not(.mobile-page) .account-shell { width: calc(100vw - 40px); }
  }
  @media (max-width: 1100px) {
    .ac-home-grid { grid-template-columns: minmax(0, 1fr); }
    .ac-hero-decor { display: none; }
  }
  @media (max-width: 900px) {
    body[data-page="account-workspace"]:not(.mobile-page) .account-app { grid-template-columns: minmax(0, 1fr); }
    body[data-page="account-workspace"]:not(.mobile-page) .account-side { position: static; }
    body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-nav { position: static; overflow-x: auto; }
    body[data-page="account-workspace"]:not(.mobile-page) .ac-settings-nav button { flex: 0 0 auto; padding: 0 12px; }
  }
}

/* 移动端兜底：Dialog 在手机上同样可用（§69 回归项），样式保持轻。 */
@media (max-width: 800px) {
  .ac-dialog { padding: 20px 18px 18px; }
  .ac-dialog-actions { margin-top: 18px; }
}
