/*
 * VBUY AI Workbench · 新版字号与间距（v10.86 第一批：订单列表）
 *
 * 用法：给一页的外层容器加 class="ui-scale"，这一页就整套换成新档位。
 *   <section id="route-orders-history" class="route route--tool route--orders ui-scale">
 * 去掉这个 class 就完全回到原样 —— 所以这是可以按页开关的开关，不是不可逆的改写。
 *
 * 为什么用"整页开关"而不是逐条改原文件：
 *   半新半旧才是真正难看的来源。一页之内只有一套档位，翻一页加一个 class，
 *   出问题把 class 摘掉就行。全站 13 页，一页一页翻，中间任何时刻都不存在
 *   "这一页用到一半换尺子"的状态。
 *
 * 依赖 design-tokens.css 里的 --fs-* / --lh-* / --sp-* / --ctl-*。
 * 本文件必须放在 skin.css 之后加载（skin.css 是最后一层视觉覆盖）。
 */

/* ==========================================================================
 * 一 · 共享件层（全站复用，做一次，每翻一页都受益）
 *
 * 规矩：这一层只抬下限，不改上限 —— 原来小于 12px 的抬到 12px，
 * 本来就够大的不动。原因是这些零件出现在 13 个页面的各种角落
 * （工具栏里的小按钮、附件旁的小按钮），一刀切改大会撑破紧凑的地方。
 * 具体某一页需要更大时，在那一页的段落里写更具体的选择器去覆盖。
 * ========================================================================== */

/* ---------- 按钮 ----------
 * .primary-button 本身没定字号（继承 14px），但被多处压到 10px；
 * .secondary-button 基础值只有 10px —— 工具条里满屏都是它，这是重灾区。
 */

.ui-scale .primary-button {
  font-size: var(--fs-300);
}

.ui-scale .secondary-button {
  font-size: var(--fs-200);
}

/* ---------- 表单控件 ---------- */

.ui-scale input:not([type="checkbox"]):not([type="radio"]),
.ui-scale select,
.ui-scale textarea {
  font-size: var(--fs-200);
}

/*
 * 注意排除 .field：`.field > span` 本来就是 13px（登录页、需求整理这些主表单），
 * 如果一并对齐到 12px 就是"抬下限"变成了"压上限" —— 报价页第一次量出来
 * 标签从 13px 掉到 12px 就是这个原因。
 */
.ui-scale label:not(.field) > span {
  font-size: var(--fs-100);
}

.ui-scale .field em {
  font-size: var(--fs-100);
}

/* 字段名旁边的"缺"标记（邮箱页与商机页共用，原来只有 7px） */
.ui-scale .email-field__missing {
  font-size: var(--fs-100);
}

/* ---------- 眉标 / 区块序号 / 面板标题 ---------- */

.ui-scale .kicker,
.ui-scale .eyebrow {
  font-size: var(--fs-100);
  letter-spacing: .13em;
}

.ui-scale .section-index {
  font-size: var(--fs-100);
  letter-spacing: .04em;
}

.ui-scale .tool-panel__header h3 {
  font-size: var(--fs-400);
}

.ui-scale .tool-panel__header p {
  font-size: var(--fs-100);
}

/* ---------- 标签 / 角标 / 状态圆点 ----------
 * 这批原来是 7.5px–11px，是"看不懂的界面"的主要来源。
 * 名单来自各页面实际用到的角标类，新增角标时往这里加一行。
 */

.ui-scale .order-quality,
.ui-scale .order-status-chip,
.ui-scale .order-deal-chip,
.ui-scale .order-access-badge,
.ui-scale .orders-stage__badge,
.ui-scale .role-pill,
.ui-scale .owner-pill,
.ui-scale .email-badge,
.ui-scale .quote-status-badge,
.ui-scale .quote-from-inquiry,
.ui-scale .inquiry-stage-pill,
.ui-scale .inquiry-priority-pill,
.ui-scale .inquiry-due-pill,
.ui-scale .conv-badge,
.ui-scale .module-state,
.ui-scale .world-time-status,
.ui-scale .pwa-install-button {
  font-size: var(--fs-100);
}

/* ---------- 表格（全站四张共用表）---------- */

.ui-scale .order-table,
.ui-scale .admin-table,
.ui-scale .order-detail-table,
.ui-scale .exchange-history__table {
  font-size: var(--fs-200);
}

.ui-scale .order-table thead th,
.ui-scale .admin-table thead th,
.ui-scale .order-detail-table thead th,
.ui-scale .exchange-history__table thead th {
  font-size: var(--fs-100);
}

/* ---------- 空状态 / 引导说明 ---------- */

.ui-scale .empty-chat h4,
.ui-scale .summary-empty h4,
.ui-scale .summary-progress h4 {
  font-size: var(--fs-400);
}

.ui-scale .empty-chat > p,
.ui-scale .summary-empty > p,
.ui-scale .summary-progress > p,
.ui-scale .suggestion-list button,
.ui-scale .guide-list p,
.ui-scale .guide-list li > span,
.ui-scale .privacy-note p,
.ui-scale .privacy-note strong {
  font-size: var(--fs-100);
}

.ui-scale .guide-list strong {
  font-size: var(--fs-200);
}

/* ---------- 文件 / 拖放区 ---------- */

.ui-scale .drop-zone h4 {
  font-size: var(--fs-300);
}

.ui-scale .drop-zone p {
  font-size: var(--fs-200);
}

.ui-scale .drop-zone__types,
.ui-scale .file-icon span,
.ui-scale .selected-file small {
  font-size: var(--fs-100);
}

.ui-scale .selected-file strong {
  font-size: var(--fs-200);
}

/* ---------- 对话区 ---------- */

.ui-scale .message__avatar,
.ui-scale .composer__meta,
.ui-scale .thinking-status strong,
.ui-scale .thinking-status small,
.ui-scale .message-result-actions button,
.ui-scale .message-result-actions__status,
.ui-scale .jump-latest,
.ui-scale .result-document__badge,
.ui-scale .result-document__name,
.ui-scale .result-document__stat,
.ui-scale .markdown-body table {
  font-size: var(--fs-100);
}

.ui-scale .composer textarea {
  font-size: var(--fs-200);
}

/* ---------- 提示与头像 ---------- */

.ui-scale .toast {
  font-size: var(--fs-200);
}

.ui-scale .avatar {
  font-size: var(--fs-100);
}

/* ==========================================================================
 * 二 · 页面层
 * ========================================================================== */

/* ---------- 订单页（第一批：全部订单概览块）---------- */

/*
 * 基础档位只落在已经设计过的区块上（订单概览），不落在整页容器上。
 * 原因：`.ui-scale` 挂在整页容器上时，font-size / line-height 会顺着继承
 * 漏到同页还没逐个验证过的区块去，那种"不声不响被改了"最难查。
 * 共享件层已经给每个零件单独定了字号，不靠继承。
 */
.ui-scale .order-overview {
  font-size: var(--fs-300);
  line-height: var(--lh-body);
}

/* ---------- 顶部标题区 ---------- */

.ui-scale .order-overview__header {
  min-height: 86px;
  padding: var(--sp-4) var(--sp-5);
}

.ui-scale .order-overview__header h3 {
  margin: var(--sp-1) 0 var(--sp-1);
  font-size: var(--fs-500);
  letter-spacing: -.01em;
}

.ui-scale .order-overview__header p:last-child {
  font-size: var(--fs-100);
}

/* ---------- 统计卡：新版把数字当主角 ----------
 * 改造前是「标签 10px + 数字 22px」，标签小到读不清、数字又不够重，
 * 一屏扫过去没有落点。新版把数字抬到 32px 做视觉锚点，标签回到 12px 保证可读。
 */

.ui-scale .order-overview__stats {
  gap: var(--sp-3);
  padding: var(--sp-4) var(--sp-5) 0;
}

.ui-scale .order-overview__stats article {
  min-height: 104px;
  padding: var(--sp-4);
}

.ui-scale .order-overview__stats span,
.ui-scale .order-overview__stats small {
  font-size: var(--fs-100);
  line-height: var(--lh-body);
}

.ui-scale .order-overview__stats strong {
  margin: var(--sp-2) 0 var(--sp-2);
  font-size: var(--fs-700);
  line-height: var(--lh-tight);
  letter-spacing: -.02em;
}

/* ---------- 筛选区 ---------- */

.ui-scale .order-overview__filters {
  gap: var(--sp-3) var(--sp-3);
  padding: var(--sp-4) var(--sp-5) var(--sp-4);
}

.ui-scale .order-overview__filters label {
  gap: var(--sp-1);
}

.ui-scale .order-overview__filters label > span {
  font-size: var(--fs-100);
}

.ui-scale .order-overview__filters input,
.ui-scale .order-overview__filters select {
  height: var(--ctl-lg);
  padding: 0 var(--sp-3);
  font-size: var(--fs-200);
}

.ui-scale .order-overview__filters .primary-button {
  min-height: var(--ctl-lg);
  padding-inline: var(--sp-4);
  font-size: var(--fs-200);
}

/* ---------- 表格 ----------
 * 横向最小宽度随之抬高：字号变大后如果还按原来的宽度排，
 * 十列会被挤到换行，反而更难看。宁可横向滚动，也不挤。
 */

.ui-scale .order-table {
  min-width: 1180px;
}

.ui-scale .order-table th {
  padding: var(--sp-3);
}

.ui-scale .order-table td {
  padding: var(--sp-3);
  line-height: var(--lh-body);
}

.ui-scale .order-table__order-no,
.ui-scale .order-table__product strong,
.ui-scale .order-table__price {
  font-size: var(--fs-200);
}

/* 辅助说明原来是 9px —— 全站最小的那一批，新版抬到下限 12px */
.ui-scale .order-table__date,
.ui-scale .order-table__product span,
.ui-scale .order-table__subtle {
  margin-top: var(--sp-1);
  font-size: var(--fs-100);
}

.ui-scale .order-quality,
.ui-scale .order-status-chip {
  min-height: 26px;
  padding: 0 var(--sp-2);
}

.ui-scale .order-table__empty {
  font-size: var(--fs-300);
}

/* ---------- 页脚 ---------- */

.ui-scale .order-overview__footer {
  min-height: 62px;
  padding: var(--sp-3) var(--sp-5);
}

.ui-scale .order-overview__footer > span {
  font-size: var(--fs-100);
}

.ui-scale .order-overview__footer .secondary-button {
  min-height: var(--ctl-md);
  padding-inline: var(--sp-3);
  font-size: var(--fs-100);
}

/* 全量扫描补出来的漏网：批量模式那一排的状态标记、行的规格行、
   右下角的业务员 · 张数、以及侧栏隐私说明里嵌套的 span。 */
.ui-scale .order-pair__tag,
.ui-scale .order-pair__line,
.ui-scale .order-pair__meta,
.ui-scale .privacy-note p span {
  font-size: var(--fs-100);
}

/* ---------- 订单跟踪 / 样品单（订单模块的另外两个视图）----------
 * 这一页字号最狠的是流程那一排小方块（.track-step 只有 7.5px，
 * 里面的大写字母 7px）—— 那是业务员天天要点的东西，抬到 12px。
 * 抬完要盯着看"一排 9 个方块"会不会把单元格撑破，截图确认过。
 */

.ui-scale .tracking-attention__head > h4,
.ui-scale .tracking-attention__who > strong,
.ui-scale .track-delivery {
  font-size: var(--fs-200);
}

.ui-scale .tracking-attention__head > small,
.ui-scale .tracking-attention__who > span,
.ui-scale .tracking-attention__what > span,
.ui-scale .track-legend > span,
.ui-scale .track-legend > small,
.ui-scale .track-step,
.ui-scale .track-step > b,
.ui-scale .track-step > i,
.ui-scale .milestone-hint,
.ui-scale .milestone-quick,
.ui-scale .track-archive,
.ui-scale .track-just-converted,
.ui-scale .orders-stage__badge,
.ui-scale .orders-stage__grid small,
.ui-scale .orders-stage__foot small {
  font-size: var(--fs-100);
}

/* ---------- 订单详情弹窗（body 级弹窗，自己挂 ui-scale）----------
 * 弹窗里"标签 8px / 值 10px"的对比很有问题：值和标签一样细，扫不出来。
 * 标签抬到 12，值抬到 13，层级就出来了。顺带把 16.38px 这种
 * em 折算出来的怪值归到 16px 档位上。
 */
.ui-scale .order-detail-block h3 {
  font-size: var(--fs-400);
}

.ui-scale .order-detail-row span,
.ui-scale .order-detail-related-tag,
.ui-scale .order-detail-related-card small,
.ui-scale .order-detail-image > small {
  font-size: var(--fs-100);
}

.ui-scale .order-detail-row strong {
  font-size: var(--fs-200);
}

/* 详情弹窗第二轮：明细表（原来整张表 9.5px、规格行 8px）、
   结算区、左右两侧单据卡的头。 */
.ui-scale .order-detail-tag,
.ui-scale .order-detail-side__type,
.ui-scale .order-detail-side__here,
.ui-scale .order-settle__item > span,
.ui-scale .order-settle__item > small,
.ui-scale .order-settle__note {
  font-size: var(--fs-100);
}

.ui-scale .order-detail-line,
.ui-scale .order-detail-table tbody td,
.ui-scale .order-detail-spec {
  font-size: var(--fs-200);
}

.ui-scale .order-detail-table thead th {
  font-size: var(--fs-100);
}

/* 详情弹窗第三轮：收付款行、附件/图片区、关联单据卡。 */
.ui-scale .order-payment-row__note,
.ui-scale .order-payment-row__main > span,
.ui-scale .order-link-button,
.ui-scale .order-detail-upload-button,
.ui-scale .order-detail-image > span,
.ui-scale .order-detail-image__remove,
.ui-scale .order-detail-related-card > strong,
.ui-scale .order-detail-related-card > span {
  font-size: var(--fs-100);
}

/* 「记录节点」弹窗（也是 body 级，自己挂 ui-scale） */
.ui-scale .milestone-dialog p,
.ui-scale .milestone-files > h4,
.ui-scale .order-detail-images-empty {
  font-size: var(--fs-100);
}

/* ---------- 商机 / 客户页（第一轮：工具条 + 队列列表 + 详情）----------
 * 这页没有 id 级旧覆盖，普通的 `.ui-scale ...` 写法就够用。
 * 小的集中在"标记与时间"这一类（7.5–11px）：队列头、等待天数气泡、
 * 行内标签、底栏统计、详情里的徽章与到期提示。
 */

.ui-scale .inquiry-tools__hint,
.ui-scale .inquiry-queue-head b,
.ui-scale .inquiry-queue-head span,
.ui-scale .inquiry-queue-head em,
.ui-scale .inquiry-buckets button b {
  font-size: var(--fs-100);
}

/* 列表行：客户名与主题本来够大，小的是时间、货品行、标签、底栏与统计 */
.ui-scale .inquiry-list-item__top time,
.ui-scale .inquiry-list-item__goods,
.ui-scale .inquiry-row-label,
.ui-scale .inquiry-inbox-foot,
.ui-scale .inquiry-inbox-foot span,
.ui-scale .inquiry-inbox-foot button,
.ui-scale .inquiry-list-toolbar span,
.ui-scale .inquiry-loading {
  font-size: var(--fs-100);
}

/* 详情：徽章、元信息、标签、到期与快捷回复、空状态、更多面板 */
.ui-scale .inquiry-detail__badges span,
.ui-scale .inquiry-detail__meta span,
.ui-scale .inquiry-detail__meta time,
.ui-scale .inquiry-labels__label,
.ui-scale .inquiry-focus__due > span,
.ui-scale .inquiry-focus__quick button,
.ui-scale .inquiry-more-toggle,
.ui-scale .inquiry-empty-state,
.ui-scale .inquiry-empty-state > span,
.ui-scale .inquiry-empty-state > p {
  font-size: var(--fs-100);
}

/* 第二轮扫描补出来：标签区、AI 建议卡、报价联动条、折叠区标题、动作区空态 */
.ui-scale .inquiry-labels__empty,
.ui-scale .inquiry-labels__edit,
.ui-scale .inquiry-source-badge,
.ui-scale .inquiry-ai__grid article > span,
.ui-scale .inquiry-ai__state span,
.ui-scale .inquiry-ai__state b,
.ui-scale .inquiry-ai__state em,
.ui-scale .inquiry-quote-strip__label,
.ui-scale .inquiry-thread-section > summary > span,
.ui-scale .inquiry-timeline-section > summary > span,
.ui-scale .inquiry-confidence,
.ui-scale .inquiry-action-empty {
  font-size: var(--fs-100);
}

/*
 * 这一处必须带 !important：全站唯一一处「字号的 !important」就在
 * `.inquiry-confidence`（ui-refresh.css 里写了 font-size: 8px !important，
 * 后面又用 10.5px !important 覆盖）。普通规则压不住 !important，
 * 只能同样加。这是例外，不是习惯 —— 别的规则不要照抄这一行。
 */
.ui-scale .inquiry-confidence {
  font-size: var(--fs-100) !important;
}

/* ---------- 邮件页（第一轮：工具条 + 收件箱列表 + 会话头部）----------
 * 背景：这一页有两层样式并存 —— 旧的信箱主题（ui-refresh.css / styles.css，
 * 大量 7.5px–10px）和 v8.1 的 email-workspace.css（12–12.5px，且带
 * .route--email 前缀，所以压得住旧的）。能压住的地方本来就不小，
 * 真正还小的集中在：会话条、列表行的标签与时间、往来摘要。
 * 写邮件面板与发送确认弹窗留第二轮，这里不碰。
 */

/* 工具条 */
.ui-scale .email-toolbar__text,
.ui-scale .email-btn {
  font-size: var(--fs-200);
}

/* 智能视图（全部 / 未读 / 待跟进…）与分段切换 */
.ui-scale .email-smart-views button,
.ui-scale .email-smart-views button b,
.ui-scale .email-seg button {
  font-size: var(--fs-100);
}

/* 搜索框与筛选行 */
.ui-scale .email-search-box input {
  font-size: var(--fs-200);
}

.ui-scale .email-list-filters select,
.ui-scale .email-list-filters .secondary-button,
.ui-scale .email-inbox-tools .secondary-button,
.ui-scale .email-bulk-toolbar,
.ui-scale .email-bulk-toolbar button {
  font-size: var(--fs-100);
}

/* 列表行：客户名与主题是"扫一眼"要读的，给 13px；其余标签与时间 12px */
.ui-scale .email-list-item__top strong,
.ui-scale .email-list-item > b,
.ui-scale .email-list-item__body > b {
  font-size: var(--fs-200);
}

.ui-scale .email-list-item__top time,
.ui-scale .email-list-item__signals time,
.ui-scale .email-list-item__meta small,
.ui-scale .email-list-item__bottom em,
.ui-scale .email-list-item__bottom small,
.ui-scale .email-list-item__count,
.ui-scale .email-list-item__thread,
.ui-scale .email-list-item__next,
.ui-scale .email-task-badge,
.ui-scale .email-inbox-foot span {
  font-size: var(--fs-100);
}

/*
 * 往来正文的抬头行与日期分隔线。
 * 注：`.email-conversation-strip__*` 那批类名已经没人渲染了（容器 id 还在，
 * 子元素换成 .email-msg / .email-bubble 了），所以这里写的是真正在用的那批。
 */
.ui-scale .email-msg__meta,
.ui-scale .email-msg__side,
.ui-scale .email-date-sep span {
  font-size: var(--fs-100);
}

.ui-scale .email-bubble__subject {
  font-size: var(--fs-200);
}

/* 会话线程里每一封的抬头 */
.ui-scale .email-conv-thread__top strong {
  font-size: var(--fs-200);
}

.ui-scale .email-conv-thread__top time,
.ui-scale .email-conv-thread__meta,
.ui-scale .email-conv-thread__subject {
  font-size: var(--fs-100);
}

/* 客户信息条 */
.ui-scale .cust-head__id b {
  font-size: var(--fs-200);
}

.ui-scale .cust-head__id small,
.ui-scale .cust-head em,
.ui-scale .cust-head__only,
.ui-scale .cust-head__archive {
  font-size: var(--fs-100);
}

/* 会话区头部与空状态 */
.ui-scale .email-chat-head__name strong {
  font-size: var(--fs-400);
}

.ui-scale .email-chat-head__sub {
  font-size: var(--fs-100);
}

.ui-scale .email-chat-empty h4 {
  font-size: var(--fs-400);
}

.ui-scale .email-chat-empty p {
  font-size: var(--fs-200);
}

.ui-scale .email-chat-empty span,
.ui-scale .email-attachments h4 {
  font-size: var(--fs-100);
}

/* 全量扫描补出来的漏网（第一轮只用了固定探针，没扫到这些）：
   分组菜单与标签菜单里的项、方向角标、"更多"视图按钮、
   线索条状态、附件说明、写回复区底部说明。 */
.ui-scale .email-group-menu button,
.ui-scale .email-label-menu button,
.ui-scale .email-label-chip,
.ui-scale .email-smart-views .email-view-more > button,
.ui-scale .email-dir,
.ui-scale .email-thread-bar__status,
.ui-scale .email-attachment__meta small,
.ui-scale .email-send-note {
  font-size: var(--fs-100);
}

/* 「写回复…」那条收起状态的提示行（不是写邮件面板本身，只是入口条） */
.ui-scale .email-compose-toggle__hint {
  font-size: var(--fs-100);
}

/* ---------- 邮件页第二轮：写邮件面板 ----------
 * 这块原来整体就不算小（正文 13px、草稿框 13px），小的是"说明性"的那一圈：
 * 字段名、展开箭头、折叠区标题。抬到下限即可。
 */

.ui-scale .email-compose-toggle__arrow,
.ui-scale .email-compose-meta__field > span,
.ui-scale .email-compose-field > span,
.ui-scale .email-compose-field > span em,
.ui-scale .email-compose-sub > summary,
.ui-scale .email-compose-sub > summary small {
  font-size: var(--fs-100);
}

.ui-scale .email-compose-meta__field input,
.ui-scale .email-compose-meta__field select,
.ui-scale .email-compose-sub textarea,
.ui-scale .email-send-editor {
  font-size: var(--fs-200);
}

/* ---------- 邮件页第二轮：发送确认弹窗 ---------- */

.ui-scale .email-send-dialog__head strong {
  font-size: var(--fs-400);
}

.ui-scale .email-send-dialog__head small,
.ui-scale .email-send-dialog__body label > span,
.ui-scale .email-send-dialog__note,
.ui-scale .email-send-dialog__drop small {
  font-size: var(--fs-100);
}

/* 发送确认弹窗里后来才渲染出来的两块：场景选择（这封邮件是为了什么）
   与内嵌图提示。第一轮量的时候它们没渲染出来，是全站回归扫描补上的。 */
.ui-scale .email-send-scene__label,
.ui-scale .email-send-scene__hint,
.ui-scale .email-send-inline__hint,
.ui-scale .email-send-inline__hint b {
  font-size: var(--fs-100);
}

/* ---------- 报价页（第一轮：需求整理左栏 + 报价单表单外壳）----------
 * 这一页要特别注意：styles.css / ui-refresh.css 里有一整套 **带 id** 的旧覆盖
 * （`#route-quote .quote-xxx`）。id 的优先级高于两层 class，所以
 * `.ui-scale .quote-xxx` 这种写法在这页会**完全失效** —— 第一版就是这么白写的。
 * 因此这一页统一写成 `#route-quote.ui-scale ...`（元素上同时有 id 和 class），
 * 既压得住旧覆盖，开关又还是那个 class。
 *
 * 下面写的是"量出来的有效值"要抬到哪，不是照抄基础规则的原始值。
 * 明细行（.quote-line）与阶梯价那张表要打开一张真报价单才渲染得出来，
 * 留第二轮（连同报价单预览弹窗）单独做。
 */

/* 需求整理：一句话开始 / 需求已整理 / 缺少项 */
#route-quote.ui-scale .quote-helper-card__icon,
#route-quote.ui-scale .quote-helper-card p,
#route-quote.ui-scale .quote-parse-state p,
#route-quote.ui-scale .quote-parse-state__top span,
#route-quote.ui-scale .quote-missing-card > div:first-child,
#route-quote.ui-scale .quote-missing-card > div:first-child strong,
#route-quote.ui-scale .quote-missing-list span {
  font-size: var(--fs-100);
}

#route-quote.ui-scale .quote-helper-card strong,
#route-quote.ui-scale .quote-parse-state__top strong {
  font-size: var(--fs-200);
}

/* 需求整理里的输入框与主按钮：被 `#route-quote .quote-intake-body .primary-button`
   这类带 id 的规则压住了，所以要带 id 重写一遍 */
#route-quote.ui-scale .quote-prompt-field textarea {
  font-size: var(--fs-200);
}

#route-quote.ui-scale .quote-intake-body .primary-button {
  font-size: var(--fs-300);
}

/* 报价单列表 / 历史参考 */
#route-quote.ui-scale .quote-subheading strong,
#route-quote.ui-scale .quote-draft-item strong,
#route-quote.ui-scale .quote-history-empty strong {
  font-size: var(--fs-200);
}

#route-quote.ui-scale .quote-subheading button,
#route-quote.ui-scale .quote-draft-item > span,
#route-quote.ui-scale .quote-draft-item small,
#route-quote.ui-scale .quote-draft-item__copy,
#route-quote.ui-scale .quote-draft-item__followup,
#route-quote.ui-scale .quote-muted,
#route-quote.ui-scale .quote-history-empty p {
  font-size: var(--fs-100);
}

/* 报价单内容表单：字段名、分组说明、阶梯价抬头、上传按钮、金额栏 */
#route-quote.ui-scale .quote-field-grid label > span,
#route-quote.ui-scale .quote-form label > span,
#route-quote.ui-scale .quote-group__hint,
#route-quote.ui-scale .quote-form fieldset.quote-group legend small,
#route-quote.ui-scale .quote-tier-block__head strong,
#route-quote.ui-scale .quote-tier-block__head > span,
#route-quote.ui-scale .quote-upload-button,
#route-quote.ui-scale .quote-commercial-card__head span,
#route-quote.ui-scale .quote-commercial-card__head small,
#route-quote.ui-scale .quote-commercial-grid span {
  font-size: var(--fs-100);
}

#route-quote.ui-scale .quote-commercial-card__head strong,
#route-quote.ui-scale .quote-lines-block > .tool-panel__header h3 {
  font-size: var(--fs-200);
}

/* 明细行（打开一张真报价单才渲染得出来）
   量出来还小的是：行头标题 11、收起/展开按钮 11、折叠区标题 11、
   那一行"补充规格"的横条 8.5、加号按钮 11。 */
#route-quote.ui-scale .quote-line__head strong,
#route-quote.ui-scale .quote-line__extra > summary,
#route-quote.ui-scale .quote-line__slim > span {
  font-size: var(--fs-100);
}

#route-quote.ui-scale .quote-line__fold,
#route-quote.ui-scale .quote-slim-add {
  font-size: var(--fs-100);
}

#route-quote.ui-scale .quote-line__slim {
  font-size: var(--fs-100);
}

/* 全量扫描扫出来的漏网：这一页带 id 的旧覆盖连"共享件"也压得住，
   所以共享层那几条规则在这一页要带 id 再写一遍，否则它们形同不存在。 */
#route-quote.ui-scale .tool-panel__header h3 {
  font-size: var(--fs-400);
}

#route-quote.ui-scale .tool-panel__header p {
  font-size: var(--fs-100);
}

#route-quote.ui-scale input,
#route-quote.ui-scale select,
#route-quote.ui-scale textarea {
  font-size: var(--fs-200);
}

#route-quote.ui-scale .quote-list-filters input,
#route-quote.ui-scale .quote-list-filters select {
  font-size: var(--fs-100);
}

/* 校验提示（"必须处理 第 1 行没有产品名称"）—— 这组类名在数据归集页也用到，
   那边翻页时同样要记得处理 */
#route-quote.ui-scale .collect-candidate-issues li {
  font-size: var(--fs-100);
}

#route-quote.ui-scale .quote-line__extra > summary b,
#route-quote.ui-scale .quote-line__slim > small,
#route-quote.ui-scale .order-form-line__remove {
  font-size: var(--fs-100);
}

/* ---------- 报价页第二轮：报价单预览弹窗（"纸面"文档预览）----------
 * 这块是一张模拟纸张的文档，原来最小的一批只有 7.5–11px（英文抬头、
 * 字段名、免责声明）。预览的用途就是"发出去之前核对一遍"，
 * 看不清等于没预览，所以统一抬到 12px；标题与金额保持层级不变。
 */
.ui-scale .quote-preview-dialog__header span {
  font-size: var(--fs-100);
}

.ui-scale .quote-preview-dialog__footer span,
.ui-scale .quote-preview-meta span,
.ui-scale .quote-preview-row span,
.ui-scale .quote-preview-product > span,
.ui-scale .quote-preview-paper__brand span,
.ui-scale .quote-preview-paper__brand small,
.ui-scale .quote-preview-product p,
.ui-scale .quote-preview-company span,
.ui-scale .quote-preview-company__doc small,
.ui-scale .quote-preview-note,
.ui-scale .quote-preview-line-item p,
.ui-scale .quote-preview-line-item > span,
.ui-scale .quote-preview-disclaimer,
.ui-scale .quote-preview-table {
  font-size: var(--fs-100);
}

.ui-scale .quote-preview-meta strong,
.ui-scale .quote-preview-row strong,
.ui-scale .quote-preview-section h4 {
  font-size: var(--fs-200);
}

/* 合计那一行是这张纸的落款数字，原来 20px；上面那条"声明行统一 13px"
   会把它一起压小（同类名、同层数，后写的赢），所以这里显式还原。 */
.ui-scale .quote-preview-row.is-total strong {
  font-size: var(--fs-500);
}

/* 纸面表格的表头/单元格：原来的规则是两层选择器（.quote-preview-table th），
   压得过我那条"整表 12px"，所以表头一直还是 9.5px —— 全站回归扫出来的。 */
.ui-scale .quote-preview-table th,
.ui-scale .quote-preview-table td {
  font-size: var(--fs-100);
}

/* 顶栏那排报价动作（预览报价单 / 预览工艺单 / 新建报价单 / 保存 / 更多）：
   它们在 .topbar--quote 里，不在 #route-quote 容器内，
   所以既要在 index.html 上给 .quote-toolbar 单独挂 ui-scale，这里也要写规则。 */
/*
 * 注意写法：开关就挂在 .quote-toolbar 自己身上，所以"它自己的直接文字"
 * 要用 `.quote-toolbar.ui-scale ...`（同一个元素上两个类），
 * 写成 `.ui-scale .quote-toolbar ...` 是找不到的（那是"后代"）。
 * 另外 .topbar--quote 那几条旧规则是三层 class，这里必须同层数才压得住。
 */
.topbar--quote .quote-toolbar.ui-scale strong {
  font-size: var(--fs-200);
}

.topbar--quote .quote-toolbar.ui-scale small,
.ui-scale .quote-toolbar__actions .secondary-button,
.ui-scale .quote-toolbar__actions .primary-button,
.ui-scale .quote-toolbar__more-trigger span,
.ui-scale .quote-toolbar__menu button {
  font-size: var(--fs-100);
}


/*
 * 改造进度（2026-10-12 实测的小字号分布，按 class 前缀统计，共 795 处）：
 *
 *   已完成  ✓ 订单页「全部订单」概览块
 *          ✓ 共享件 58 处（按钮 / 表单控件 / 标签角标 / 面板标题 / 空状态 / 对话区 /
 *            拖放区 / 提示）。2026-10-12 逐项量过：订单页里所有探针都已 ≥12px，
 *            无一低于下限；两版截图对照无破版。
 *          ✓ 邮件页第一轮（工具条 / 收件箱列表 / 会话头部与往来摘要 / 按客户分组的客户条）
 *            实测结果：按声明数算的「205 处」是把被覆盖的旧规则也算进去了 ——
 *            email-workspace.css 带 .route--email 前缀，已经压过大部分旧值，
 *            真正还小的只有 20 处左右。本轮把这 20 处全部抬到 12px 以上。
 *            附带发现：`.email-conversation-strip__*` 这批类名已经没人渲染了
 *            （容器 id 还在，子元素换成 .email-msg / .email-bubble），是死样式。
 *          ✓ 邮件页第二轮：写邮件面板 + 两个弹窗（发送确认 / 我的邮箱）
 *            实测：字段名 10.5–11.5→12、说明 11→12、展开箭头 10→12、
 *            弹窗标题 15→16；面板正文 13px 本来够大，没动。
 *            顺带发现一个结构性问题：**body 级弹窗不在路由容器里**，
 *            页面的 .ui-scale 够不到它（"我的邮箱"和"发送确认"最初量出来
 *            纹丝不动就是这个原因）。解法是给弹窗元素自己也挂 ui-scale。
 *            翻别的页面时，那页的弹窗（订单节点、报价预览…）要同样单独挂。
 *          ✓ 报价页第一轮：需求整理左栏 + 报价单表单外壳 + 顶栏那排动作按钮
 *            实测：左侧说明 9–11.5→12/13、缺少项标签 11→12、报价单列表
 *            名称 11.5→13/客户 10.5→12、表单字段名 11.5→12、
 *            顶栏按钮 9.5→12（"更多"里那个 ▾ 只有 8px）。
 *            两条经验（后面每一页都用得上）：
 *            ① 这一页有 `#route-quote ...` 的**带 id** 旧覆盖层，id 优先级高于
 *               两层 class —— `.ui-scale .quote-xxx` 会完全失效，必须写成
 *               `#route-quote.ui-scale ...`。翻页前先搜一下这页有没有 `#route-` 规则。
 *            ② 开关挂在元素自己身上时（顶栏工具条、弹窗），规则要写
 *               `.xxx.ui-scale ...`（同一个元素），而不是 `.ui-scale .xxx`（后代）。
 *          ✓ 报价页第二轮：明细行 + 阶梯价 + 报价单预览弹窗（含"记录节点"那类
 *             body 级弹窗的开关写法）。明细行 11→12、8.5→12、阶梯价抬头 9.5→12、
 *             预览纸面 7.5–11→12/13（合计 20px 保留）。
 *             ⚠ 新方法：**每翻完一页，跑一次"全量扫描"** —— 把这一页里所有
 *             计算字号 < 12px 的元素连"祖先路径"一起列出来。固定探针只能覆盖
 *             我想得到的地方：订单页第一轮漏了"按订单看"那一排的标签（10–11px）、
 *             邮件页漏了下拉菜单项（9–10px），都是靠这一步捞出来的。
 *             另外记住：小字号有两种，一种是真正的文字，另一种是 <select>、
 *             空输入框（没有文本内容，扫描扫不到），所以还要单独看一眼控件。
 *          ✓ 商机/客户页（工具条 + 队列列表 + 详情 + AI 建议卡 + 折叠区标题）
 *            实测：队列头 7.5–11→12、等待天数气泡 7.5→12、行内标签 9.5→12、
 *            时间与货品行 11→12、详情徽章 10→12、到期提示 10→12、
 *            字段名旁的"缺"标记 7px→12（这个是和邮箱页共用的，放进共享层了）。
 *            两条新经验：
 *            ① 全量扫描要"多跑几轮"：第一遍扫出 30 处，补完规则再扫又冒出
 *               十几处（标签区、AI 卡、折叠区标题、动作区空态）。一轮扫不完。
 *            ② 全站有**一处** `font-size: ... !important`（.inquiry-confidence），
 *               普通规则压不住，只能同样加 !important —— 这是例外，别照抄。
 *          ✓ 订单模块剩下的三个视图 + 两个 body 级弹窗，一共 5 个面：
 *            订单跟踪（进度方块 7.5→12、警示条 8–11→12、"交期" 10.5→13）、
 *            样品单（徽章 10→12，其余靠共享件已经够）、
 *            订单详情弹窗（明细表整张 9.5→13、规格行 8→13、字段标签 8→12）、
 *            「记录节点」弹窗（抬头 7.5→12、字段名 8→12、输入框 10→13）。
 *            五个面全量扫描都是"没有小于 12px 的文字元素"。
 *            又一条经验：详情弹窗里的进度方块是**只读 span**（有意设计成点不动），
 *            记录节点弹窗只能从跟踪页/样品单页的方块按钮进 —— 验证流程要照着真实
 *            入口走，否则会点开一个"没反应"的元素然后误判成"弹窗是空的"。
 *          ✓ 数据归集中心（全站字号最狠的一页：6.5–10px 一片）
 *            实测：流程条 8–9→12、格式卡 7.5/8→12、文件角标 7→12、
 *            任务行文件名 9.5→13、时间与状态与计数 7/7.5→12、
 *            复核面板的抬头与候选徽章 7–9→12、字段名 8→12、输入框 10→13。
 *            两个面（页面 + 复核面板）全量扫描都干净。
 *            注：复核面板里"识别到 0 / 可以确认 0"是我那份桩数据缺
 *            detected_count / unparsed_items 字段导致的 —— 界面自己也弹了
 *            提示条说明这一点，不是样式问题。
 *          ✓ 获客引擎（任务与进度 + 线索/资源池表格 + 四个标签页）
 *            实测：筛选片与计数 11→12、任务标签 10→12、任务卡的时间/状态/
 *            计数/说明/失败原因 11→12、资源池表头 11→12、评分等级 10→12、
 *            归属与状态 10.5→12。
 *            诚实说明：名片识别与获客计划这两个标签页，我那份桩数据是空的，
 *            面板渲染不出内容，所以那批规则是照着样式表逐条写的（都是
 *            11px→12 的字号覆盖，不动布局），**没在真实内容下验过** ——
 *            有真实名片/计划数据时，切到那两个标签页跑一次扫描确认。
 *          ✓ 汇率与时差（含世界时钟面板：时区卡、节假日摘要、编辑器）
 *            实测：牌价卡的"现汇买入价/中行折算价/每 1 USD 折合人民币" 9→12、
 *            提供商与更新时间 9–10→12、实时连接状态 9→12、
 *            换算结果的说明 10→12、时区卡的城市/时差/节假日 9–11→12、
 *            历史牌价表头 11→12（表体走全站共用表规则）。
 *            注：顶栏那个"常驻时钟 + 下拉全球时间"（.world-clock-toggle /
 *            .world-clock-popover，里面有 10px 的小字）**不在页面容器里**，
 *            它是全站外壳的一部分，留到最后那一步和侧边栏一起做。
 *          ✓ 四个小页一起收尾：首页、备忘录、汇总页、系统管理
 *            首页：待办卡抬头/计数/展开按钮 8.5–11→12、模块卡编号 10.5→12、
 *            底部说明 10→12；备忘录：输入提示与条目时间 11–11.5→12、
 *            详情页脚 11.5→12；系统管理：统计卡标签 10→12、
 *            用户单元格 9–10→12、状态与操作按钮 9→12、操作日志 8–10→12。
 *            汇总页扫下来本来就干净（没有小于 12px 的文字），没动它。
 *            注：系统管理那四张统计卡显示 0 是我桩数据结构不对（缺字段），
 *            用户表和操作日志是真渲染出来的，那两块的字号是验过的。
 *          ✓ 全站外壳（侧边栏 + 顶栏 + 顶栏常驻时钟与用户菜单）
 *            实测：侧边栏分组标签 9→12、品牌副标题 9→12、用户菜单 9–11→12、
 *            顶栏眉标 9→12、顶栏右侧状态区 11→12、时钟与其下拉 10–11→12。
 *            开关挂在 .sidebar / .topbar 自己身上（外壳不属于任何一页），
 *            在 4 个页面上各扫一遍确认。
 *
 *   —— 到此全站翻完 ——
 *   最终回归：13 个页面 + 6 个弹窗/面板 + 外壳，全部"没有小于 12px 的文字元素"。
 *   收尾时又抓到两处漏网（发信弹窗的场景区、报价预览纸面的表格）：单页验证时
 *   的数据状态和最终不一致，所以"全部改完再整体扫一遍"这一步不能省。
 *
 *   每页的动作固定三步：① 给那一页的 route 容器加 ui-scale；
 *   ② 在下面补这一页专属的规则（通用件已经在上面定义过，不重复写）；
 *   ③ 截图对照新旧两版 + 逐项量字号，确认同页其他区块没被顺手改动。
 *   顺序上宁可一页一页来，也不要"先全局搜替换一遍"—— 那样没法逐页验证。
 */
/* ---------- 数据归集中心（第一轮：上传区 + 流程条 + 任务列表）----------
 * 全站字号最狠的一页：这里原本 6.5 / 7 / 7.5px 一片（流程条上的字母、
 * 文件角标、任务行的状态与计数）。这些是"看得见但读不出来"的典型 ——
 * 业务员要判断"这份文件到哪一步了"，全靠这行小字。
 * 复核面板（点任务才展开）留第二轮。
 */

.ui-scale .collect-ai-state,
.ui-scale .collect-flow,
.ui-scale .collect-flow span b,
.ui-scale .collect-dropzone p,
.ui-scale .collect-choose,
.ui-scale .collect-formats span,
.ui-scale .collect-formats span b,
.ui-scale .collect-formats__note,
.ui-scale .collect-file-mark,
.ui-scale .collect-selected small,
.ui-scale .collect-actions > div strong,
.ui-scale .collect-actions > div small,
.ui-scale .import-result,
.ui-scale .collect-stat-grid span,
.ui-scale .collect-stat-grid small,
.ui-scale .collect-task__icon,
.ui-scale .collect-task__title small,
.ui-scale .collect-task__meta,
.ui-scale .collect-status,
.ui-scale .collect-task__status em,
.ui-scale .collect-task__delete,
.ui-scale .collect-coverage,
.ui-scale .collect-task-error,
.ui-scale .collect-candidate-issues li {
  font-size: var(--fs-100);
}

/* 文件名是这个列表的主角，给它正文档 */
.ui-scale .collect-task__title strong,
.ui-scale .collect-selected strong {
  font-size: var(--fs-200);
}

/* 数据归集第二轮：复核面板（点任务才展开）的静态部分与动态部分一起写，
   动态那部分靠"打开一个任务"的扫描去验。 */
.ui-scale .collect-review-note,
.ui-scale .collect-review-note strong,
.ui-scale .collect-review-note span,
.ui-scale .collect-review-toolbar strong,
.ui-scale .collect-review-toolbar span,
.ui-scale .collect-confirm-bar p strong,
.ui-scale .collect-confirm-bar p span,
.ui-scale .collect-review-meta label > span,
.ui-scale .collect-summary-field > span,
.ui-scale .collect-candidate-field > span,
.ui-scale .collect-unparsed-head strong,
.ui-scale .collect-unparsed-head span,
.ui-scale .collect-unparsed-item strong,
.ui-scale .collect-unparsed-item span,
.ui-scale .collect-unparsed-item small,
.ui-scale .collect-candidate__head strong,
.ui-scale .collect-candidate-badge,
.ui-scale .collect-candidate-action,
.ui-scale .collect-candidate-pass,
.ui-scale .collect-candidate-failure,
.ui-scale .collect-doc__head strong,
.ui-scale .collect-doc__meta,
.ui-scale .collect-candidate-empty,
.ui-scale .collect-stage-head > div span,
.ui-scale .collect-stage-track span i,
.ui-scale .collect-stage-track span b,
.ui-scale .collect-stage-track b {
  font-size: var(--fs-100);
}

/* ---------- 获客引擎（第一轮：任务与进度 + 我的线索/资源池表格）----------
 * 这一页的字号本来就在 10–11px 一档，问题不是"小得离谱"而是"全在临界线下面"：
 * 任务卡的计数、状态、时间，资源池的评分等级、归属与状态，都是判断
 * "这条线索值不值得跟"的依据。统一抬到 12px。
 */

.ui-scale .lead-capability,
.ui-scale .lead-filter-chip,
.ui-scale .lead-filter-chip b,
.ui-scale .lead-task-note,
.ui-scale .lead-task-tag,
.ui-scale .lead-task-country,
.ui-scale .lead-task-card__meta,
.ui-scale .lead-task-card__counts,
.ui-scale .lead-task-card__counts span,
.ui-scale .lead-task-card__counts b,
.ui-scale .lead-status,
.ui-scale .lead-task-card__time,
.ui-scale .lead-task-card__error,
.ui-scale .lead-multi,
.ui-scale .lead-score b,
.ui-scale .lead-pool-status,
.ui-scale .lead-pool-owner,
.ui-scale .lead-cell-time,
.ui-scale .lead-file-mark,
.ui-scale .lead-selected small,
.ui-scale .lead-actions small,
.ui-scale .lead-empty p {
  font-size: var(--fs-100);
}

/* 第二轮：线索/资源池表头（这几张表不在全站共用表那四个类名里）、
   统计卡标签、卡片投递区说明。 */
.ui-scale .lead-table-wrap thead th,
.ui-scale .lead-stat > span,
.ui-scale .lead-card-drop p {
  font-size: var(--fs-100);
}

/*
 * 第三轮：名片识别与获客计划这两个标签页 —— 我那份桩数据是空的，
 * 面板渲染不出来，所以这一批是照着样式表逐条写的，**没有在真实内容下验过**。
 * 等有真实名片/计划数据时，切到那两个标签页跑一次扫描确认。
 * （它们都只是 11px→12px 的字号覆盖，不动布局，风险低。）
 */
.ui-scale .lead-progress-btn,
.ui-scale .lead-progress-tag,
.ui-scale .lead-plan-summary,
.ui-scale .lead-card-item__text small,
.ui-scale .lead-card-detail__image a,
.ui-scale .lead-card-field,
.ui-scale .lead-card-detail__note,
.ui-scale .lead-card-raw summary,
.ui-scale .lead-card-raw pre,
.ui-scale .lead-age {
  font-size: var(--fs-100);
}

/* ---------- 汇率与时差（含世界时钟）----------
 * 这一页的信息是"要拿去报价"的，牌价的说明、口径、单位全都压到 9–11px：
 * 卡面上的"现汇买入价/中行折算价"、单位说明、更新时间、实时连接状态。
 * 时差那一侧同理（当地时间、时差、节假日）。
 */

.ui-scale .exchange-hero p:not(.kicker),
.ui-scale .exchange-hero__meta > span,
.ui-scale .exchange-hero__meta > small,
.ui-scale .exchange-live,
.ui-scale .exchange-section-title p,
.ui-scale .exchange-section-title span,
.ui-scale .exchange-status,
.ui-scale .exchange-result > span,
.ui-scale .exchange-result > small,
.ui-scale .exchange-rate-card__head span,
.ui-scale .exchange-rate-card__primary span,
.ui-scale .exchange-rate-card__more dt,
.ui-scale .exchange-rate-card__unit,
.ui-scale .exchange-source-note,
.ui-scale .world-time-card__region,
.ui-scale .world-time-card__difference,
.ui-scale .world-time-card__no-holiday,
.ui-scale .world-time-card__pin,
.ui-scale .world-time-status,
.ui-scale .world-time-holiday > span,
.ui-scale .world-time-holiday > strong,
.ui-scale .world-time-holiday > small,
.ui-scale .world-holiday-digest__title span,
.ui-scale .world-holiday-digest__item,
.ui-scale .world-holiday-digest__empty,
.ui-scale .world-holiday-digest__missing,
.ui-scale .world-clock-explainer,
.ui-scale .world-clock-editor__note,
.ui-scale .world-clock-editor__head small {
  font-size: var(--fs-100);
}

/* ---------- 首页 / 备注 / 系统管理（三个小页一起收尾）----------
 * 首页：待办卡的抬头、计数、"展开/收起"、模块卡上的数字与说明；
 * 备注：输入提示、条目时间、详情页脚与字数；
 * 系统管理：统计卡标签、用户单元格（用户名/角色/最近登录）、表单字段名。
 * 汇总页扫下来本来就干净（没有小于 12px 的文字），所以这里不用写。
 */

.ui-scale .home-todo__icon,
.ui-scale .home-todo__head strong,
.ui-scale .home-todo__count,
.ui-scale .home-todo__toggle,
.ui-scale .home-todo__reason,
.ui-scale .home-todo__item strong,
.ui-scale .home-todo__meta,
.ui-scale .home-todo__no,
.ui-scale .module-card__number,
.ui-scale .home-note {
  font-size: var(--fs-100);
}

.ui-scale .memo-compose__tip,
.ui-scale .memo-item__meta,
.ui-scale .memo-item__time,
.ui-scale .memo-detail__head span,
.ui-scale .memo-detail__foot,
.ui-scale .memo-detail__foot span,
.ui-scale .memo-count {
  font-size: var(--fs-100);
}

.ui-scale .admin-stats article > span,
.ui-scale .admin-stats article > small,
.ui-scale .admin-user-cell span,
.ui-scale .admin-user-cell strong,
.ui-scale .admin-user-cell small,
.ui-scale .admin-user-form label > span {
  font-size: var(--fs-100);
}

.ui-scale .admin-status,
.ui-scale .admin-actions button {
  font-size: var(--fs-100);
}

/* 操作日志那一条（图标、谁做了什么、时间）原来是 8–10px */
.ui-scale .admin-log-icon,
.ui-scale .admin-log-item strong,
.ui-scale .admin-log-item p,
.ui-scale .admin-log-meta,
.ui-scale .admin-log-meta span,
.ui-scale .admin-log-meta time {
  font-size: var(--fs-100);
}

/* ==========================================================================
 * 三 · 外壳层（侧边栏 + 顶栏）
 *
 * 开关挂在 .sidebar 和 .topbar 上（它们不属于任何一页，改一次影响全部页面）。
 * 字号本来就在 9–11px 那一档：侧边栏的分组标签、品牌副标题、用户菜单、
 * 顶栏的眉标与右侧状态区（系统在线 / 时钟 / 安装 / 日期）。
 * 这一层动完要跨页验证（同一套外壳在每一页都在）。
 * ========================================================================== */

.ui-scale .navigation__label,
.ui-scale .sidebar__brand small,
.ui-scale .sidebar__future strong,
.ui-scale .sidebar__future small,
.ui-scale .user-menu__text strong,
.ui-scale .user-menu__text small,
.ui-scale .avatar {
  font-size: var(--fs-100);
}

.ui-scale .topbar__kicker,
.ui-scale .topbar__right,
.ui-scale .pwa-install-button {
  font-size: var(--fs-100);
}

/* 顶栏常驻时钟与它的下拉「全球时间」 */
.ui-scale .world-clock-toggle span,
.ui-scale .world-clock-primary-holiday,
.ui-scale .world-clock-popover__head span,
.ui-scale .world-clock-popover__item small,
.ui-scale .world-clock-popover__holiday {
  font-size: var(--fs-100);
}

