/* 大管家 · 无障碍基线（规范 7.19 / 4.9 / P1-15、P1-16）
 * 用法：地基组件默认引入；页面引用本文件即获得焦点环 / 跳过链接 / 动效降级 / 触控基线。
 * 颜色纪律：本文件【零硬编码色值】，焦点环取 --gray-900（品牌灰，规范 7.19，禁用红）。
 * 规则：焦点环品牌灰（非红）；禁 outline:none 无替代；状态非纯颜色；
 *       尊重 prefers-reduced-motion；一线员工触控 56×56（规范 3.5 / 7.19）。
 */
:root { --a11y-focus: var(--gray-900); } /* 品牌灰焦点环（规范 7.19，禁用红） */

/* 焦点环：键盘可见，2px 品牌灰（禁 outline:none 无替代，P0） */
.dgj-a11y :focus-visible,
.dgj-a11y input:focus-visible,
.dgj-a11y select:focus-visible,
.dgj-a11y button:focus-visible,
.dgj-a11y a:focus-visible,
:focus-visible {
  outline: 2px solid var(--a11y-focus) !important;
  outline-offset: 2px !important;
}

/* 兜底：任何显式移除 outline 的元素，必须另有 box-shadow 焦点反馈 */
.dgj-a11y .dgj-no-outline:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--a11y-focus) !important;
}

/* 屏幕阅读器专用（视觉隐藏，但仍可被读） */
.dgj-sr-only {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* 跳到主内容（PC 顶栏，视觉隐藏，聚焦可见） */
.dgj-skip-link {
  position: absolute; left: 8px; top: -var(--space-10); z-index: 2000;
  background: var(--surface); color: var(--a11y-focus); padding: 6px var(--space-3); border-radius: var(--radius-sm); transition: top .15s ease;
}
.dgj-skip-link:focus { top: 8px; }

/* 触控基线：通用 44×44；一线员工 56×56（规范 7.19 / 3.5） */
.dgj-tap {
  min-width: 44px; min-height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
}
.dgj-tap--worker { min-width: 56px; min-height: 56px; }

/* 尊重 prefers-reduced-motion（规范 7.19） */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
