/* ==========================================================================
 * workbench/index.css —— 首页工作台（v0.7.6-fix-03 VIS-4：蓝湖稿视觉改版）
 *
 * 基准：docs/design-package/lanhu/彦禧-首页-html.md / index.css.md
 * 布局（内容区自上而下）：模块切换卡（138×95 r14）+ 问候行（问候+日期同行，
 * 全宽通知条）→ 主行（左列：数据统计卡 4 指标 + 待办中心；右列：迷你日历）→
 * 快捷入口（208×63 r16，标题+副标）→ 消息通知（现网保留区块，融入蓝湖布局）。
 * 视觉语言：页面底纯色 var(--yx-color-bg-home)（#E4E6E7，不加载背景大图），
 * 容器卡半透明白 0.45/0.55、内嵌条目半透明白 0.75、1px 白描边、零阴影。
 * 纪律：只消费 CSS 变量（--yx-* / --theme-* / v062 规范别名 --primary 等），
 *       禁止硬编码色值（半透明白/黑 alpha 层级除外）。
 * ==========================================================================
 */

/* ---------- 页面底色：纯色 #E4E6E7（覆盖 v062 双径向光斑底） ---------- */
body.yx-page-home {
  background: var(--yx-color-bg-home);
}

/* ---------- 顶行：模块切换卡 + 问候盒 ---------- */
.yx-wb-top {
  display: flex;
  align-items: stretch;
  gap: var(--yx-spacing-x6);
  margin-bottom: var(--yx-spacing-x6);
}

.yx-wb-modules {
  display: flex;
  gap: var(--yx-spacing-x2);
}

/* 模块卡：138×95 圆角 14；选中=主体色铺底白字，未选=描边卡 */
.yx-wb-module-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--yx-spacing-x2);
  width: 138px;
  height: 95px;
  box-sizing: border-box;
  border: 1px solid rgba(60, 60, 60, 0.14);
  border-radius: var(--yx-radius-card-sm);
  background: transparent;
  font-size: 15px;
  font-weight: var(--yx-font-weight-regular);
  color: var(--yx-color-text-secondary);
  text-decoration: none;
  cursor: pointer;
  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-module-card:hover {
  background: rgba(255, 255, 255, 0.75);
  color: var(--yx-color-text-primary);
}

.yx-wb-module-card.is-active,
.yx-wb-module-card.is-active:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--yx-color-brand-on-primary);
}

.yx-wb-module-card__icon {
  width: 26px;
  height: 24px;
  object-fit: contain;
}

/* 待接入模块卡：置灰 + 角标 */
.yx-wb-module-card--pending {
  opacity: 0.65;
}

.yx-wb-module-card--pending .yx-wb-tag {
  position: absolute;
  top: var(--yx-spacing-x1);
  right: var(--yx-spacing-x1);
}

/* ---------- 问候盒：问候+日期同行，全宽通知条 ---------- */
.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: space-between;
  gap: var(--yx-spacing-x4);
}

.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: var(--yx-lineHeight-tight);
  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);
  white-space: nowrap;
}

/* 通知条：40px 全宽（v0.7.2 MSG-01 公告横幅迁入问候盒第二行） */
.yx-wb-notice {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x3);
  height: 40px;
  padding: 0 var(--yx-spacing-x4);
  margin-top: var(--yx-spacing-x4);
  border: 1px solid rgba(255, 255, 255, 1);
  border-radius: var(--yx-radius-card-md);
  background: rgba(255, 255, 255, 0.45);
}

.yx-wb-notice__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 18px;
  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__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);
}

/* ---------- 工作台主区 ---------- */
.yx-workbench {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x6);
}

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

.yx-wb-main__col {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x6);
}

/* ---------- 容器卡通用（白 0.55 + 白描边 + 圆角 32 + 零阴影） ---------- */
.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-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);
}

.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: 20px;
  height: 3px;
  object-fit: contain;
}

.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-tag {
  display: inline-flex;
  align-items: center;
  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);
  line-height: var(--yx-lineHeight-base);
  white-space: nowrap;
}

.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;
}

/* ---------- 数据统计卡（4 指标，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 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--yx-spacing-x2);
}

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

.yx-wb-stat__value {
  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-secondary);
  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);
}

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

.yx-wb-todo__tab--pending {
  cursor: default;
  opacity: 0.7;
}

/* 项目筛选器（占位禁用，蓝湖 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（399×120，白 0.75 r16） */
.yx-wb-approval-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--yx-spacing-x4);
}

.yx-wb-approval {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 120px;
  box-sizing: border-box;
  padding: var(--yx-spacing-x4) var(--yx-spacing-x5);
  border: 1px solid rgba(255, 255, 255, 1);
  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);
}

.yx-wb-approval__meta {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x1);
  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 宽视感） ---------- */
.yx-wb-calendar {
  flex: 0 0 34%;
  min-width: 320px;
  max-width: 495px;
  display: flex;
  flex-direction: column;
}

.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-x3);
  margin-bottom: var(--yx-spacing-x3);
}

.yx-mcal__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  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;
}

.yx-mcal__label {
  font-size: var(--yx-font-size-base);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  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-x2);
}

.yx-mcal__weekday {
  font-size: var(--yx-font-size-xs);
  color: var(--yx-color-text-weak);
  text-align: center;
  line-height: var(--yx-lineHeight-loose);
}

.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);
}

.yx-mcal__day--adjacent {
  color: var(--yx-color-text-tertiary);
}

/* 有日程日：主体色 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（badge.danger #FF5454） */
.yx-mcal__day-dot {
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--yx-color-badge-danger);
}

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

/* 日历/日程列表分割线 */
.yx-mcal__divider {
  height: 1px;
  margin: var(--yx-spacing-x4) 0;
  background: rgba(255, 255, 255, 1);
}

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

.yx-mcal-event {
  display: flex;
  flex-direction: column;
  gap: var(--yx-spacing-x1);
}

.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;
}

.yx-mcal-event__title {
  font-size: var(--yx-font-size-base);
  font-weight: var(--yx-font-weight-medium);
  color: var(--yx-color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.yx-mcal-event__time {
  display: flex;
  align-items: center;
  gap: var(--yx-spacing-x2);
  padding-left: var(--yx-spacing-x1);
  font-size: var(--yx-font-size-xs);
  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: 16px;
  border-radius: 1px;
  background: var(--primary);
}

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

/* ---------- 快捷入口（容器卡白 0.45 + 208×63 r16 入口，标题+副标） ---------- */
.yx-wb-quick {
  background: rgba(255, 255, 255, 0.45);
}

.yx-wb-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 208px);
  gap: var(--yx-spacing-x4);
}

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

.yx-wb-shortcut:hover {
  border-color: rgba(var(--primary-rgb), 0.25);
  box-shadow: none;
  transform: translateY(-1px);
}

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

.yx-wb-shortcut--disabled:hover {
  border-color: rgba(255, 255, 255, 1);
  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-radius-card-lg);
  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);
}

/* ---------- 消息通知（现网保留区块，融入蓝湖布局：通宽容器卡） ---------- */
.yx-wb-messages {
  background: rgba(255, 255, 255, 0.45);
}

.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: 1px solid rgba(255, 255, 255, 1);
  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-modules {
    flex-wrap: wrap;
  }

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

  .yx-wb-card {
    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;
  }
}
