/* ==========================================================================
   全站统一空状态（Empty State）
   --------------------------------------------------------------------------
   基准：意见反馈页 .fb-empty
   结构：图标（40×40 圆角方块 / 浅灰底 / 线图标）→ 主标题 → 说明 → 可选按钮
   用途：统一各页面自行实现的空态，避免 52px 圆图标 / 15px 标题 / 描边按钮混用。
   ========================================================================== */

#app .fb-empty,
#app .msg-empty,
#app .cb-empty,
#app .ap-empty,
#app .gar-empty,
#app .fw-empty,
#app .car-empty,
#app .empty-state,
#app .dfc-empty,
#app .pf-fb-empty,
#app .ax-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 40px 20px;
  text-align: center;
  color: var(--ink-2, #4b4b4b);
  font-size: 12px;
  line-height: 1.6;
}

/* 图标：统一 40×40 圆角方块，不再使用 52px 大圆 / 圆形底 */
#app .fb-empty__ico,
#app .msg-empty__ico,
#app .cb-empty-ico,
#app .ap-empty-ico,
#app .gar-empty-ico,
#app .fw-empty__ico,
#app .car-empty__ico,
#app .dfc-empty__ico,
#app .empty-state > .empty-icon,
#app .ax-empty .ico {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0;
  flex: none;
  border-radius: var(--r-ctl, 10px);
  background: var(--gray-wash, #f5f5f5);
  color: var(--ink-2, #4b4b4b);
  font-size: 20px;
  line-height: 1;
}

/* 直接以 SVG 作为空态首图的老结构（search / 维护页） */
#app .empty-state > .icon {
  width: 40px;
  height: 40px;
  padding: 10px;
  box-sizing: border-box;
  border-radius: var(--r-ctl, 10px);
  background: var(--gray-wash, #f5f5f5);
  color: var(--ink-2, #4b4b4b);
}

#app .fb-empty__ico .icon,
#app .msg-empty__ico .icon,
#app .cb-empty-ico .icon,
#app .ap-empty-ico .icon,
#app .gar-empty-ico .icon,
#app .fw-empty__ico .icon,
#app .car-empty__ico .icon,
#app .dfc-empty__ico .icon,
#app .empty-state > .empty-icon .icon,
#app .ax-empty .ico .icon,
#app .fb-empty__ico svg,
#app .msg-empty__ico svg,
#app .cb-empty-ico svg,
#app .ap-empty-ico svg,
#app .gar-empty-ico svg,
#app .fw-empty__ico svg,
#app .car-empty__ico svg,
#app .dfc-empty__ico svg,
#app .ax-empty .ico svg {
  width: 20px;
  height: 20px;
}

/* 标题 */
#app .fb-empty h3,
#app .msg-empty h3,
#app .cb-empty-title,
#app .ap-empty p,
#app .gar-empty-title,
#app .fw-empty__body b,
#app .car-empty p,
#app .empty-title,
#app .empty-state h2,
#app .dfc-empty__title,
#app .ax-empty h4,
#app .ax-empty > p,
#app .pf-fb-empty {
  margin: 0;
  color: var(--ink, #111111);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
}

/* 说明文字 */
#app .fb-empty p,
#app .msg-empty p,
#app .cb-empty-desc,
#app .ap-empty small,
#app .gar-empty-desc,
#app .fw-empty__body p,
#app .empty-state .empty-desc,
#app .empty-state > p,
#app .dfc-empty__desc,
#app .ax-empty h4 + p {
  margin: 0;
  max-width: 420px;
  color: var(--ink-2, #4b4b4b);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

/* 操作按钮：浅灰底 + 深色文字（不再使用主色实心按钮 / 描边按钮） */
#app .fb-empty .fb-btn,
#app .msg-empty .msg-btn,
#app .cb-empty .btn,
#app .gar-empty .btn,
#app .ap-empty .ap-retry,
#app .fw-empty__act,
#app .empty-state .btn,
#app .dfc-empty__actions .btn,
#app .car-empty__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 30px;
  margin-top: 0;
  padding: 0 14px;
  border: 0;
  border-radius: var(--r-ctl, 10px);
  background: var(--gray-wash, #f5f5f5);
  color: var(--ink, #111111);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

#app .fb-empty .fb-btn:hover,
#app .msg-empty .msg-btn:hover,
#app .cb-empty .btn:hover,
#app .gar-empty .btn:hover,
#app .ap-empty .ap-retry:hover,
#app .fw-empty__act:hover,
#app .empty-state .btn:hover,
#app .dfc-empty__actions .btn:hover,
#app .car-empty__link:hover {
  background: var(--select-wash, #e8e8e8);
  color: var(--ink, #111111);
}

/* 动作容器不要重复加外边距，统一由 flex gap 控制 */
#app .empty-state .empty-actions,
#app .dfc-empty__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
}

/* 固件页空态：原横向布局改为与全站一致的纵向居中 */
#app .fw-empty {
  flex-wrap: nowrap;
  min-height: 220px;
  padding: 40px 20px;
  color: var(--ink-2, #4b4b4b);
}

#app .fw-empty__body {
  min-width: 0;
  text-align: center;
}

#app .fw-empty__body p {
  max-width: 420px;
}

#app .fw-empty__progress {
  margin-top: 4px;
}

/* 管理后台空态：沿用同一套视觉，标题/说明按 admin 结构映射 */
#app .ax-empty {
  padding: 36px 20px;
  color: var(--ink-2, #4b4b4b);
}

#app .ax-empty .ico {
  color: var(--ink-2, #4b4b4b);
}

#app .ax-empty > p:only-child {
  color: var(--ink, #111111);
  font-size: 13.5px;
  font-weight: 600;
}

/* 深色模式：图标底与按钮统一走 --gray-wash / --select-wash，无需额外覆盖 */