/* 通用顶层规范 v1.1。框架无关，仅提供变量，不绑定业务组件或品牌资源。 */
:root {
  --ds-brand: #1769d7;
  --ds-brand-hover: #1259ba;
  --ds-brand-soft: #edf4ff;
  --ds-brand-line: #a9c8ef;
  --ds-page: #ffffff;
  --ds-surface: #ffffff;
  --ds-navigation: #fafbfc;
  --ds-text: #262626;
  --ds-text-secondary: #707070;
  --ds-line: #ededed;
  --ds-control-line: #d9d9d9;
  --ds-table-heading: #fafafa;
  --ds-row-hover: #fafcfe;
  --ds-readonly: #f5f5f7;
  --ds-success: #36725c;
  --ds-success-bg: #eaf3ee;
  --ds-advice: #966214;
  --ds-advice-bg: #fbf2e2;
  --ds-danger: #b43b37;
  --ds-danger-bg: #fff0ee;
  --ds-font: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --ds-font-body: 12px;
  --ds-font-help: 11px;
  --ds-font-section: 14px;
  --ds-font-heading: 22px;
  --ds-font-metric: 26px;
  --ds-line-height: 1.6;
  --ds-navigation-width: 88px;
  --ds-brand-area-height: 58px;
  --ds-icon-size: 17px;
  --ds-navigation-icon: 22px;
  --ds-control-height: 38px;
  --ds-control-radius: 8px;
  --ds-trailing-size: 32px;
  --ds-trailing-right: 6px;
  --ds-popup-radius: 10px;
  --ds-popup-gap: 6px;
  --ds-popup-margin: 12px;
  --ds-popup-max-height: 280px;
  --ds-popup-shadow: 0 12px 35px #25203024;
  --ds-calendar-width: 280px;
  --ds-tab-gap: 20px;
  --ds-tab-duration: 220ms;
  --ds-surface-radius: 6px;
  --ds-dialog-radius: 15px;
  --ds-content-top: 16px;
  --ds-content-x: 24px;
  --ds-content-bottom: 20px;
  --ds-field-gap-y: 22px;
  --ds-field-gap-x: 20px;
  --ds-table-header-height: 43px;
  --ds-table-row-height: 48px;
  --ds-dialog-width: 720px;
  --ds-confirm-width: 400px;
  --ds-dialog-gap: 60px;
  --ds-dialog-gap-compact: 12px;
  --ds-overlay: rgb(0 0 0 / 34%);
  --ds-overlay-blur: 4px;
  --ds-dialog-shadow: 0 12px 38px rgb(0 0 0 / 14%);
  --ds-enter-duration: 260ms;
  --ds-exit-duration: 180ms;
  --ds-layer-menu: 30;
  --ds-layer-dialog: 100;
  --ds-layer-confirm: 120;
  --ds-layer-preview: 140;
  --ds-layer-message: 160;
  --ds-touch-font: 16px;
  --ds-touch-help: 14px;
  --ds-touch-height: 44px;
  --ds-touch-target: 48px;
}
@media (prefers-reduced-motion: reduce) {
  :root { --ds-enter-duration: 180ms; --ds-exit-duration: 140ms; --ds-tab-duration: 0ms; }
}
