/* ============================================================================
 * Rainmaker 管理台主题 · Lumo 变量微调(方案 A)
 * ----------------------------------------------------------------------------
 * 只调 Lumo 设计变量 + 少量组件 ::part · 不动业务代码 · 全站统一提升观感。
 * 主色靛蓝 · 更大圆角 · 系统字体栈(含 CJK) · 柔和阴影 · 导航/表格/卡片打磨。
 * 深色模式(Lumo dark)不破坏:变量在 light 下覆盖 · dark 走 Lumo 默认。
 * ========================================================================== */

html {
  /* ---- 品牌主色 · 靛蓝 indigo ---- */
  --lumo-primary-color: hsl(243, 75%, 59%);
  --lumo-primary-color-50pct: hsla(243, 75%, 59%, 0.5);
  --lumo-primary-color-10pct: hsla(243, 75%, 59%, 0.12);
  --lumo-primary-text-color: hsl(243, 66%, 54%);

  /* ---- 圆角 · 更现代 ---- */
  --lumo-border-radius-s: 6px;
  --lumo-border-radius-m: 9px;
  --lumo-border-radius-l: 16px;

  /* ---- 字体 · 系统栈 + CJK 兜底 ---- */
  --lumo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
    "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC",
    Roboto, Helvetica, Arial, sans-serif;

  /* ---- 阴影 · 柔和有层次 ---- */
  --lumo-box-shadow-xs: 0 1px 2px 0 rgba(24, 26, 42, 0.06);
  --lumo-box-shadow-s: 0 1px 3px 0 rgba(24, 26, 42, 0.08), 0 1px 2px -1px rgba(24, 26, 42, 0.06);
  --lumo-box-shadow-m: 0 4px 12px -2px rgba(24, 26, 42, 0.12), 0 2px 6px -2px rgba(24, 26, 42, 0.08);
  --lumo-box-shadow-l: 0 12px 28px -6px rgba(24, 26, 42, 0.18), 0 6px 12px -6px rgba(24, 26, 42, 0.10);
}

/* ---- 顶栏 navbar ---- */
vaadin-app-layout::part(navbar) {
  background-color: var(--lumo-base-color);
  border-bottom: 1px solid var(--lumo-contrast-10pct);
  box-shadow: var(--lumo-box-shadow-xs);
}

/* ---- 抽屉 drawer ---- */
vaadin-app-layout::part(drawer) {
  background-color: var(--lumo-shade-5pct);
  border-right: 1px solid var(--lumo-contrast-10pct);
}

/* ---- 侧栏导航 SideNav · 选中项主色高亮 + 圆角 ---- */
vaadin-side-nav-item::part(item) {
  border-radius: var(--lumo-border-radius-m);
  margin: 2px var(--lumo-space-xs);
  font-weight: 500;
}
vaadin-side-nav-item[active]::part(item) {
  background-color: var(--lumo-primary-color-10pct);
  color: var(--lumo-primary-text-color);
  font-weight: 600;
}

/* ---- 标题字距微调 · 更紧凑硬朗 ---- */
h1, h2, h3, h4 {
  letter-spacing: -0.011em;
}

/* ---- Grid 打磨 · 边框圆角 + 表头底纹 + 行悬停 ---- */
vaadin-grid {
  border-radius: var(--lumo-border-radius-m);
  border: 1px solid var(--lumo-contrast-10pct);
  overflow: hidden;
}
vaadin-grid::part(header-cell) {
  background-color: var(--lumo-shade-5pct);
  font-weight: 600;
  font-size: var(--lumo-font-size-s);
  color: var(--lumo-secondary-text-color);
}
/* 行悬停高亮 · 不能写 ::part(row):hover > [part~="cell"](::part 后不允许接组合符 · Vaadin 25 lightningcss 拒) */
vaadin-grid::part(row):hover {
  background-color: var(--lumo-primary-color-10pct);
}

/* ---- 主按钮 · 轻微阴影更立体 ---- */
vaadin-button[theme~="primary"] {
  box-shadow: var(--lumo-box-shadow-xs);
}

/* ---- 弹窗 · 更大圆角 + 强阴影 ---- */
vaadin-dialog-overlay::part(overlay) {
  border-radius: var(--lumo-border-radius-l);
  box-shadow: var(--lumo-box-shadow-l);
}

/* ---- badge · 圆角药丸化 ---- */
[theme~="badge"] {
  border-radius: var(--lumo-border-radius-l);
}
