/* ==========================================================================
 * workbench/index.css —— 首页工作台（v0.7.6-fix-03 VIS-4：蓝湖稿视觉改版）
 *
 * 基准：docs/design-package/lanhu/首页/{彦禧,港链通,屋檐猫,青撷}-首页-{html,index.css}.md
 * （四稿同构，仅主题色/Logo/品牌底图差异，主题差异一律由 --theme-* 与 --primary* 变量承载）。
 * 布局（内容区自上而下）：模块切换卡（124×95 r16）+ 问候行（问候+日期同行，
 * 全宽通知条）→ 主行（左列：数据统计卡 4 指标 + 待办中心；右列：迷你日历）→
 * 快捷入口（208×72 r16，标题+副标）→ 消息通知（现网保留区块，融入蓝湖布局）。
 * 视觉语言（新高保真实测）：
 * - 页面底 #E4E6E7 + 主体色低透明径向晕染（CSS 近似四主体 *-bg-home.png 品牌
 *   底图，保留不加载 1MB+ 大图的性能决策）；
 * - 统计/待办容器=白 0.40 r26，快捷/消息容器=白 0.55 r26，日历容器=白 0.55 r32，
 *   均 1px 白描边、零阴影（底图切图以 CSS 半透明近似，数值按 PNG 像素实测）；
 * - 内嵌条目卡（审批/快捷/消息）=白 0.75 r16 无边框；
 * - 分段 Tab 选中胶囊=#EEECEA（即 rgba(60,60,60,.07) 观感）r26。
 * 纪律：只消费 CSS 变量（--yx-* / --theme-* / v062 规范别名 --primary 等），
 *       禁止硬编码色值（半透明白/黑 alpha 层级与文末标注的蓝湖局部令牌除外）。
 * ==========================================================================
 */

/* ---------- 蓝湖首页局部令牌（新高保真精确值，tokens.json 无对应阶） ---------- */
body.yx-page-home {
  --yx-wb-radius-panel: 26px; /* 统计/待办/快捷/消息容器卡圆角（切图实测 ≈26） */
  --yx-wb-event-dot: #ff5b62; /* 日历事件红点（rgba(255,91,98,1)） */
  --yx-wb-cal-divider: #eef1f8; /* 日历/日程分割线（彦禧稿 #EEF1F8） */
  --yx-wb-time-bar: rgba(0, 0, 0, 0.25); /* 日程时间竖线（四稿同图 ≈#BCBCBC） */
}

/* 页面底与壳层透明化：已由 css/core/brand-shell.css 按 body.yx-page-brand
   统一承载（首页 body_class 已挂共享类），本文件不再重复定义。 */

/* ---------- 顶行：问候盒（R3 按稿删除模块卡） ---------- */
.yx-wb-top {
  display: flex;
  align-items: stretch;
  margin-bottom: var(--yx-spacing-x5);
}

/* ---------- 问候盒：问候+日期同行，全宽通知条 ---------- */
.yx-wb-hero {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.yx-wb-hero__row {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: var(--yx-spacing-x6); /* 蓝湖：问候与日期同一行，间距 24 */
}

.yx-wb-hero__greeting {
  margin: 0;
  font-size: var(--yx-font-size-3xl);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  line-height: 33px; /* 蓝湖：24px/33 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.yx-wb-hero__date {
  margin: 0;
  font-size: var(--yx-font-size-lg);
  color: var(--yx-color-text-muted);
  line-height: 22px; /* 蓝湖：16px/22 */
  white-space: nowrap;
}

/* 通知条：40px 全宽（v0.7.2 MSG-01 公告横幅迁入问候盒第二行）；
   蓝湖新稿：白 0.35 填充、无描边、图标 18×19 */
.yx-wb-notice {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x3);
  height: 40px;
  padding: 0 var(--yx-spacing-x5);
  margin-top: var(--yx-spacing-x4);
  border: none;
  border-radius: var(--yx-radius-card-md);
  background: rgba(255, 255, 255, 0.35);
}

.yx-wb-notice__icon {
  flex: 0 0 auto;
  width: 18px;
  height: 19px;
  object-fit: contain;
}

.yx-wb-notice__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  /* v0.7.2 MSG-01：点击横幅弹公告详情 */
  cursor: pointer;
}

/* 无公告占位态（通知条常驻）：不启用点击 */
.yx-wb-notice--empty .yx-wb-notice__viewport {
  cursor: default;
}

.yx-wb-notice__text {
  margin: 0;
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: opacity var(--yx-motion-duration-slow)
    var(--yx-motion-easing-standard);
}

.yx-wb-notice__text.is-fading {
  opacity: 0;
}

.yx-wb-notice__close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding: var(--yx-spacing-x1);
  border-radius: var(--yx-radius-nav);
  color: var(--yx-color-text-tertiary);
  cursor: pointer;
}

.yx-wb-notice__close:hover {
  background: rgba(255, 255, 255, 0.75);
  color: var(--yx-color-text-primary);
}

/* ---------- 工作台主区（蓝湖：主行→快捷入口间距 16） ---------- */
.yx-workbench {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x4);
}

/* 主行：左列（数据统计 + 待办中心，蓝湖 872 宽视感）+ 右列日历（495 宽视感） */
.yx-wb-main {
  display: flex;
  align-items: stretch;
  gap: var(--yx-spacing-x7);
}

.yx-wb-main__col {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x5); /* 蓝湖：统计卡→待办中心 20 */
}

/* ---------- 容器卡通用（白 0.55 + 白描边 + 圆角 32 + 零阴影） ----------
 * 新稿分档：统计/待办=白 0.40 r26；快捷/消息=白 0.55 r26；日历保持白 0.55 r32 */
.yx-wb-card {
  display: block;
  padding: var(--yx-spacing-x6) var(--yx-spacing-x7);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: var(--yx-radius-card-lg);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: none;
  text-align: left;
}

.yx-wb-stats,
.yx-wb-todo {
  padding: 28px var(--yx-spacing-x6);
  border-radius: var(--yx-wb-radius-panel);
  background: rgba(255, 255, 255, 0.4);
}

.yx-wb-stats {
  /* 覆盖 v062.css 遗产 .yx-wb-stats（grid 四列 + margin-bottom） */
  display: block;
  margin-bottom: 0;
  position: relative;
  padding: 40px var(--yx-spacing-x7) 30px;
}

.yx-wb-quick,
.yx-wb-messages {
  border-radius: var(--yx-wb-radius-panel);
  background: rgba(255, 255, 255, 0.55);
}

.yx-wb-quick {
  padding: 26px 30px 24px;
}

.yx-wb-calendar {
  padding: 28px 26px var(--yx-spacing-x6);
}

.yx-wb-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--yx-spacing-x2);
  margin-bottom: var(--yx-spacing-x4);
}

.yx-wb-card__title {
  margin: 0;
  font-size: var(--yx-font-size-xl);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  line-height: 25px; /* 蓝湖：18px/25 */
}

.yx-wb-card__more {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--yx-spacing-x2);
  border-radius: var(--yx-radius-nav);
}

.yx-wb-card__more img {
  width: 19px;
  height: 3px;
  object-fit: contain;
}

/* 「>」箭头 more 图标（港链通/屋檐猫/青撷稿，10×10） */
.yx-wb-card__more--arrow img {
  width: 10px;
  height: 10px;
}

.yx-wb-card__more:hover {
  background: rgba(255, 255, 255, 0.75);
}

.yx-wb-card__more--text {
  font-size: var(--yx-font-size-xs);
  font-weight: var(--yx-font-weight-medium);
  color: var(--primary);
}

.yx-wb-card__more--text:hover {
  background: none;
  text-decoration: underline;
}

.yx-wb-empty {
  margin: 0;
  padding: var(--yx-spacing-x6);
  border: 1px dashed var(--yx-color-border-default);
  border-radius: var(--yx-radius-card);
  font-size: var(--yx-font-size-xs);
  color: var(--yx-color-text-tertiary);
  text-align: center;
}

/* ---------- 数据统计卡（无标题行；48px 图标 + 40px 数字 tabular-nums 回退 DIN） ---------- */
.yx-wb-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--yx-spacing-x4);
}

.yx-wb-stat {
  /* 覆盖 v062.css 遗产 .yx-wb-stat（白卡+描边+阴影+hover 上浮）：新稿指标平铺 */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  cursor: default;
  transition: none;
}

.yx-wb-stat:hover {
  transform: none;
  box-shadow: none;
}

.yx-wb-stat__icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.yx-wb-stat__value {
  margin-top: 18px; /* 蓝湖：图标行底 → 数字行 ≈19 */
  font-size: 40px;
  font-weight: var(--yx-font-weight-regular);
  color: var(--yx-color-text-primary);
  line-height: 48px;
  font-variant-numeric: var(--yx-font-variantNumeric);
}

.yx-wb-stat__label {
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-muted);
  line-height: 20px;
  white-space: nowrap;
}

/* ---------- 待办中心 ---------- */
.yx-wb-todo__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--yx-spacing-x4);
  margin-bottom: var(--yx-spacing-x4);
  flex-wrap: wrap;
}

/* 分段 Tab（蓝湖 378×39 底图，CSS 近似：白 0.75 胶囊容器） */
.yx-wb-todo__tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 39px;
  box-sizing: border-box;
  padding: 3px var(--yx-spacing-x1);
  border-radius: var(--yx-radius-button-pill);
  background: rgba(255, 255, 255, 0.75);
}

.yx-wb-todo__tab {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 32px;
  box-sizing: border-box;
  padding: 0 var(--yx-spacing-x3);
  border-radius: var(--yx-radius-button-pill);
  font-size: var(--yx-font-size-base);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-muted);
  cursor: pointer;
  white-space: nowrap;
  transition:
    background var(--yx-motion-duration-base) var(--yx-motion-easing-standard),
    color var(--yx-motion-duration-base) var(--yx-motion-easing-standard);
}

.yx-wb-todo__tab:hover {
  color: var(--yx-color-text-primary);
}

.yx-wb-todo__tab.is-active,
.yx-wb-todo__tab.is-active:hover {
  background: var(--yx-color-fill-tab-active);
  color: var(--yx-color-text-tab-active);
}

.yx-wb-todo__tab-count {
  font-size: var(--yx-font-size-xs);
  font-weight: var(--yx-font-weight-regular);
  color: var(--yx-color-text-count);
  font-variant-numeric: var(--yx-font-variantNumeric);
}

/* 蓝湖：未选中 Tab 计数与文字同为 #888 */
.yx-wb-todo__tab:not(.is-active) .yx-wb-todo__tab-count {
  color: var(--yx-color-text-muted);
}

.yx-wb-todo__tab-count:empty {
  display: none;
}

/* 项目筛选器（占位禁用，蓝湖 323×38） */
.yx-wb-todo__filter {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x2);
}

.yx-wb-todo__filter-label {
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-muted);
}

.yx-wb-todo__filter-select {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--yx-spacing-x2);
  height: 38px;
  box-sizing: border-box;
  padding: 0 var(--yx-spacing-x4);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: var(--yx-radius-input);
  background: rgba(255, 255, 255, 0.75);
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-primary);
  cursor: not-allowed;
  opacity: 0.7;
}

.yx-wb-todo__filter-select img {
  width: 12px;
  height: 6px;
  object-fit: contain;
}

/* 审批条目卡 2×2（402×120，白 0.75 r16 无边框；列间距 20/行间距 16） */
.yx-wb-approval-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--yx-spacing-x4) var(--yx-spacing-x5);
}

.yx-wb-approval {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 120px;
  box-sizing: border-box;
  padding: var(--yx-spacing-x6) 18px var(--yx-spacing-x4);
  border: none;
  border-radius: var(--yx-radius-card-md);
  background: rgba(255, 255, 255, 0.75);
}

.yx-wb-approval__title {
  margin: 0;
  font-size: var(--yx-font-size-lg);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yx-wb-approval__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--yx-spacing-x3);
  margin-top: var(--yx-spacing-x4);
}

.yx-wb-approval__meta {
  display: flex;
  flex-direction: column;
  gap: 6px; /* 蓝湖：meta 两行间 6 */
  min-width: 0;
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-secondary);
}

.yx-wb-approval__meta span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 黑色「审批」按钮（87×36 r18，fill.dark #3C3C3C） */
.yx-wb-approval__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 87px;
  height: 36px;
  box-sizing: border-box;
  padding: 0 var(--yx-spacing-x4);
  border-radius: var(--yx-radius-button-pill);
  background: var(--yx-color-fill-dark);
  color: var(--yx-color-brand-on-primary);
  font-size: var(--yx-font-size-base);
  text-decoration: none;
  cursor: pointer;
  transition: opacity var(--yx-motion-duration-base)
    var(--yx-motion-easing-standard);
}

.yx-wb-approval__btn:hover {
  opacity: 0.85;
}

/* ---------- 日历日程（右列，495 宽视感，白 0.55 r32） ---------- */
.yx-wb-calendar {
  flex: 0 0 34%;
  min-width: 320px;
  max-width: 495px;
  display: flex;
  flex-direction: column;
}

/* 标题行（3/4 稿版式）：标题+more 图标居左，日期导航内嵌同行居右 */
.yx-wb-calendar__header {
  align-items: center;
}

.yx-wb-calendar__title-group {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x2);
}

.yx-wb-calendar__title-group .yx-wb-card__more {
  padding: var(--yx-spacing-x1);
}

.yx-wb-calendar__nav {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.yx-wb-calendar__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* ---------- 迷你月历（mini-calendar.js 渲染） ---------- */
.yx-mcal {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.yx-mcal__head {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x1);
}

/* 日期导航位于标题行时不再占正文间距（旧版内嵌正文顶部时需 20px 下间距） */
.yx-wb-calendar__body > .yx-mcal > .yx-mcal__head {
  margin-bottom: var(--yx-spacing-x5);
}

.yx-mcal__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: var(--yx-radius-nav);
  cursor: pointer;
  transition: background var(--yx-motion-duration-base)
    var(--yx-motion-easing-standard);
}

.yx-mcal__arrow:hover {
  background: rgba(255, 255, 255, 0.75);
}

.yx-mcal__arrow img {
  width: 14px;
  height: 14px;
  object-fit: contain;
}

/* 蓝湖：日期标签 14px Regular #727B96 */
.yx-mcal__label {
  font-size: var(--yx-font-size-base);
  font-weight: var(--yx-font-weight-regular);
  color: var(--yx-color-text-count);
  font-variant-numeric: var(--yx-font-variantNumeric);
}

/* 星期行 + 日期网格：7 列 */
.yx-mcal__weekdays,
.yx-mcal__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.yx-mcal__weekdays {
  margin-bottom: var(--yx-spacing-x3);
}

/* 蓝湖：星期 16px Medium #A5A5A5 */
.yx-mcal__weekday {
  font-size: var(--yx-font-size-lg);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-weak);
  text-align: center;
  line-height: 22px;
}

.yx-mcal__grid {
  row-gap: var(--yx-spacing-x1);
}

.yx-mcal__day {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0 auto;
  border-radius: 50%;
  font-size: var(--yx-font-size-lg);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  font-variant-numeric: var(--yx-font-variantNumeric);
  cursor: pointer;
  transition: background var(--yx-motion-duration-base)
    var(--yx-motion-easing-standard);
}

.yx-mcal__day:hover {
  background: rgba(255, 255, 255, 0.75);
}

/* 蓝湖：邻月日期 #A5A5A5 */
.yx-mcal__day--adjacent {
  color: var(--yx-color-text-weak);
}

/* 有日程日：主体色 25% 透明圆 */
.yx-mcal__day--has-events {
  background: var(--theme-primary-subtle, var(--yx-color-brand-primary-subtle));
}

.yx-mcal__day--has-events:hover {
  background: var(--theme-primary-subtle, var(--yx-color-brand-primary-subtle));
}

/* 选中日：38px 主体色实心圆 + 白字 */
.yx-mcal__day--selected,
.yx-mcal__day--selected:hover {
  background: var(--primary);
  color: var(--yx-color-brand-on-primary);
}

/* 事件红点 6px（蓝湖 #FF5B62） */
.yx-mcal__day-dot {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--yx-wb-event-dot);
}

.yx-mcal__day--selected .yx-mcal__day-dot {
  background: var(--yx-color-brand-on-primary);
}

/* 日历/日程列表分割线（蓝湖 1px #EEF1F8） */
.yx-mcal__divider {
  height: 1px;
  margin: var(--yx-spacing-x5) 0;
  background: var(--yx-wb-cal-divider);
}

/* 选中日日程列表（最多 3 条） */
.yx-mcal__events {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x3);
}

.yx-mcal-event {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.yx-mcal-event__title-row {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x3);
}

.yx-mcal-event__dot {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

/* 蓝湖：日程标题 16px Medium #222 */
.yx-mcal-event__title {
  font-size: var(--yx-font-size-lg);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 蓝湖：时间行 14px #888，左侧 1~2px 中性灰竖线 */
.yx-mcal-event__time {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x2);
  padding-left: var(--yx-spacing-x2);
  font-size: var(--yx-font-size-base);
  color: var(--yx-color-text-muted);
  font-variant-numeric: var(--yx-font-variantNumeric);
}

.yx-mcal-event__time-bar {
  flex: 0 0 auto;
  width: 2px;
  height: 20px;
  border-radius: 1px;
  background: var(--yx-wb-time-bar);
}

.yx-mcal__empty {
  margin: 0;
  font-size: var(--yx-font-size-xs);
  color: var(--yx-color-text-tertiary);
  text-align: center;
}

/* ---------- 快捷入口（容器白 0.55 r26 + 208×72 r16 入口，标题+副标） ---------- */
.yx-wb-shortcut-grid {
  display: grid;
  /* 蓝湖 6 卡 208×16 间距一行排满 1327；minmax 保证 ≥200 时单行不折行 */
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--yx-spacing-x4);
}

.yx-wb-shortcut {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--yx-spacing-x3);
  width: 100%;
  height: 72px;
  box-sizing: border-box;
  padding: 0 var(--yx-spacing-x4);
  border: none;
  border-radius: var(--yx-radius-card-md);
  background: rgba(255, 255, 255, 0.75);
  box-shadow: none;
  cursor: pointer;
  transition: transform var(--yx-motion-duration-base)
    var(--yx-motion-easing-standard);
}

.yx-wb-shortcut:hover {
  box-shadow: none;
  transform: translateY(-1px);
}

.yx-wb-shortcut--disabled {
  cursor: default;
  opacity: 0.6;
}

.yx-wb-shortcut--disabled:hover {
  box-shadow: none;
  transform: none;
}

/* 蓝湖稿入口图标为 40×40 彩色 PNG（assets/home/common-icon-quick-*.png） */
.yx-wb-shortcut__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

.yx-wb-shortcut__icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.yx-wb-shortcut__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.yx-wb-shortcut__title {
  font-size: 15px;
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* v0.7.6-fix-03 VIS-4：副标恢复显示（蓝湖稿标题 15px + 副标 12px） */
.yx-wb-shortcut__desc {
  font-size: var(--yx-font-size-xs);
  color: var(--yx-color-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- 快捷入口：财务分组卡片（既有形态保留） ---------- */
.yx-wb-finance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--yx-spacing-x6);
}

.yx-wb-finance__group {
  display: block;
  padding: var(--yx-spacing-x5);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: var(--yx-wb-radius-panel);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: none;
  text-align: left;
}

.yx-wb-finance__group-title {
  margin: 0 0 var(--yx-spacing-x3);
  font-size: 10px;
  font-weight: var(--yx-font-weight-bold);
  color: var(--yx-color-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.yx-wb-finance__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--yx-spacing-x2);
}

.yx-wb-finance__item {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x2);
  min-height: 63px;
  padding: var(--yx-spacing-x2) var(--yx-spacing-x3);
  border-radius: var(--yx-radius-card-md);
  transition:
    background var(--yx-motion-duration-base) var(--yx-motion-easing-standard),
    color var(--yx-motion-duration-base) var(--yx-motion-easing-standard);
}

.yx-wb-finance__item:hover {
  background: rgba(255, 255, 255, 0.75);
  color: var(--primary);
}

.yx-wb-finance__item-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  color: var(--primary);
}

.yx-wb-finance__item-name {
  font-size: var(--yx-font-size-xs);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yx-wb-finance__item:hover .yx-wb-finance__item-name {
  color: var(--primary);
}

/* ---------- 消息通知（现网保留区块，融入蓝湖布局：通宽容器卡 白 0.55 r26） ---------- */
.yx-wb-message-list {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x2);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 消息条目：白 0.75 圆角 16 条目卡（无边框） */
.yx-wb-message-item {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x3);
  padding: var(--yx-spacing-x3) var(--yx-spacing-x4);
  border: none;
  border-radius: var(--yx-radius-card-md);
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
}

.yx-wb-message-item__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--yx-radius-nav);
  background: var(--theme-primary-subtle, var(--yx-color-brand-primary-subtle));
  color: var(--primary);
}

.yx-wb-message-item__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--yx-font-size-sm);
  color: var(--yx-color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yx-wb-message-item:hover .yx-wb-message-item__title {
  color: var(--primary);
}

.yx-wb-message-item__time {
  flex: 0 0 auto;
  font-size: 10px;
  color: var(--yx-color-text-tertiary);
}

/* 下属动态 L3+ 标签（占位） */
.yx-wb-level-tag {
  margin-left: var(--yx-spacing-x2);
  padding: 2px var(--yx-spacing-x2);
  border-radius: var(--yx-radius-tag);
  background: var(--yx-color-functional-info-subtle);
  color: var(--yx-color-functional-info-solid);
  font-size: 10px;
  font-weight: var(--yx-font-weight-bold);
  vertical-align: middle;
}

/* ---------- 响应式（沿用现网 1024/768 断点） ---------- */
@media (max-width: 1024px) {
  .yx-wb-main {
    flex-direction: column;
  }

  .yx-wb-calendar {
    flex: 1 1 auto;
    max-width: none;
  }

  .yx-wb-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .yx-wb-finance {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 768px) {
  .yx-wb-top {
    flex-direction: column;
  }

  .yx-wb-hero__row {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--yx-spacing-x1);
  }

  .yx-wb-card,
  .yx-wb-stats,
  .yx-wb-todo,
  .yx-wb-quick,
  .yx-wb-calendar {
    padding: var(--yx-spacing-x5);
  }

  .yx-wb-todo__toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .yx-wb-todo__tabs {
    align-self: flex-start;
  }

  .yx-wb-approval-grid,
  .yx-wb-stats__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .yx-wb-shortcut-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  }

  .yx-wb-shortcut {
    width: auto;
  }
}
