/* ============================================================================
   BizFlow — 全局基础样式 (css/global.css)
   ----------------------------------------------------------------------------
   依赖：Bootstrap 5.3 CSS 与 variables.css 必须先于本文件加载。
   职责：排版基准、滚动条、焦点态、通用工具类（bf- 前缀，避免与 Bootstrap 冲突）。
   组件级样式（按钮/卡片/表格/Modal 等）在 components.css 中，不写在这里。
   ========================================================================== */

/* ---------------------------------------------------------------------------
   1. 基础排版
   ------------------------------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;      /* 锚点平滑滚动（Landing 导航） */
  scroll-padding-top: 80px;     /* 为吸顶导航留出锚点偏移 */
}

body {
  font-family: var(--bf-font-sans);
  font-size: var(--bf-text-md);
  line-height: var(--bf-line-height-normal);
  color: var(--bf-text-primary);
  background-color: var(--bf-bg-canvas);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--bf-font-weight-semibold);
  letter-spacing: -.01em;
  line-height: var(--bf-line-height-tight);
  color: var(--bf-text-primary);
}

hr {
  border-top: 1px solid var(--bf-border-color);
  opacity: 1;
}

code, kbd, pre, samp {
  font-family: var(--bf-font-mono);
}

/* 文本选区 —— 品牌色轻染 */
::selection {
  background: var(--bf-primary-100);
  color: var(--bf-primary-900);
}

[data-bs-theme="dark"] ::selection {
  background: rgba(99, 102, 241, .45);
  color: #ffffff;
}

/* ---------------------------------------------------------------------------
   2. 滚动条 —— 细、低存在感
   ------------------------------------------------------------------------- */
* {
  scrollbar-width: thin;
  scrollbar-color: var(--bf-border-color-strong) transparent;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: var(--bf-border-color-strong);
  border-radius: var(--bf-radius-pill);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--bf-text-faint);
}

/* ---------------------------------------------------------------------------
   3. 键盘焦点态 —— 可达性：仅键盘导航时出现，不影响鼠标点击
   ------------------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid var(--bf-primary-400);
  outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
   4. 通用工具类（bf- 前缀）
   ------------------------------------------------------------------------- */

/* 数字表格对齐：金额、数量列必须使用，保证纵向数位对齐 */
.bf-tabular-nums {
  font-variant-numeric: tabular-nums;
}

/* 文字层级（配合语义色令牌） */
.bf-text-primary   { color: var(--bf-text-primary)   !important; }
.bf-text-secondary { color: var(--bf-text-secondary) !important; }
.bf-text-muted     { color: var(--bf-text-muted)     !important; }
.bf-text-faint     { color: var(--bf-text-faint)     !important; }

/* Lucide 图标尺寸助手：默认随文字大小，另提供三档固定尺寸 */
.bf-icon {
  width: 1em;
  height: 1em;
  vertical-align: -.125em;
}

.bf-icon-sm { width: 16px; height: 16px; }
.bf-icon-md { width: 18px; height: 18px; }
.bf-icon-lg { width: 24px; height: 24px; }

/* 基础面板表面：卡片/面板统一从它派生（components.css 会在此基础上扩展） */
.bf-surface {
  background-color: var(--bf-bg-surface);
  border: 1px solid var(--bf-border-color);
  border-radius: var(--bf-radius-lg);
}

/* ---------------------------------------------------------------------------
   5. 动效弱化 —— 尊重系统"减少动态效果"设置
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
