/* 统一线性图标：24×24 viewBox，stroke 2，圆角端点；侧栏/按钮用 currentColor 或固定色 */
:root {
  --icon-stroke: #3f3f46;
  --icon-stroke-muted: #71717a;
  --icon-stroke-soft: #a1a1aa;
  --icon-stroke-hover: #1677ff;
  --icon-stroke-warn: #ff5151;
  --icon-stroke-alert: #ff9518;
  --icon-hover-filter: brightness(0) saturate(100%) invert(37%) sepia(98%) saturate(2476%) hue-rotate(201deg) brightness(101%) contrast(101%);
}

/* —— 侧栏导航：内联 SVG + currentColor（底板 + 线条图标双层） —— */
.nav-item > i.nav-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  font-size: 0;
  line-height: 0;
  background: none !important;
  background-color: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
}
.nav-item > i.nav-ic svg {
  display: block;
  width: 16px;
  height: 16px;
  color: #a9c0d8;
}
.nav-item:hover > i.nav-ic svg,
.nav-item.active > i.nav-ic svg { color: #fff; }

.nav-sub-item > i.nav-sub-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border-radius: 5px;
  background: rgba(255, 255, 255, .06);
  font-size: 0;
  line-height: 0;
  -webkit-mask: none !important;
  mask: none !important;
}
.nav-sub-item > i.nav-sub-ic svg {
  display: block;
  width: 14px;
  height: 14px;
  color: #9eb4cc;
}
.nav-sub-item:hover > i.nav-sub-ic { background: rgba(255, 255, 255, .1); }
.nav-sub-item:hover > i.nav-sub-ic svg,
.nav-sub-item.active > i.nav-sub-ic svg { color: #fff; }
.nav-sub-item.active > i.nav-sub-ic { background: rgba(255, 255, 255, .15); }

.quick-link .quick-link-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: none;
  -webkit-mask: none !important;
  mask: none !important;
}
.quick-link .quick-link-ic svg {
  display: block;
  width: 14px;
  height: 14px;
  color: #8ca4bc;
}
.quick-link:hover .quick-link-ic svg { color: #fff; }

/* —— 顶栏 / 通用控件 —— */
.mobile-menu {
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #e3eaf2;
  border-radius: 8px;
  font-size: 0;
  color: var(--text);
  background: #fff center/18px 18px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2340536b' stroke-width='2' stroke-linecap='round' d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
}
.search > span {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 0;
  flex-shrink: 0;
  align-self: center;
  background: center center / 18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6' stroke='%2393a0b3' stroke-width='1.75'/%3E%3Cpath stroke='%2393a0b3' stroke-width='1.75' stroke-linecap='round' d='M17 17l4.5 4.5'/%3E%3C/svg%3E");
}
.topbar-actions .search > span {
  display: grid;
  place-items: center;
  place-content: center;
}
.topbar-actions .search:focus-within > span {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6' stroke='%231677ff' stroke-width='1.75'/%3E%3Cpath stroke='%231677ff' stroke-width='1.75' stroke-linecap='round' d='M17 17l4.5 4.5'/%3E%3C/svg%3E");
}
.user-caret {
  display: inline-block;
  width: 10px;
  height: 10px;
  font-size: 0;
  background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2393a0b3' stroke-width='2' stroke-linecap='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.close-button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  font-size: 0;
  color: #8b96a6;
  background: transparent center/18px 18px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%238b96a6' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}
.close-button:hover { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231677ff' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); }

.floating-create-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.floating-create-button::before {
  content: "";
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* —— 工作台快捷操作 —— */
.xm-action-grid button::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 28px;
  height: 28px;
  transform: translateX(-50%);
  border-radius: 0;
  background: transparent center/18px 18px no-repeat;
}
.xm-action-grid button[data-action="task-create"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="task-assign"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4' stroke='%233f3f46' stroke-width='1.75'/%3E%3Cpath stroke='%233f3f46' stroke-width='1.75' stroke-linecap='round' d='M19 8v6M22 11h-6'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="task-batch"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M4 6h7v7H4zM13 6h7v7h-7zM4 15h7v7H4z'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="task-progress"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M12 8v4l3 2M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="project-create"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M3 7h5l2 3h11v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="member-manage"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8M22 11a3 3 0 10-6 0'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="team-settings"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M12 15a3 3 0 100-6 3 3 0 000 6z'/%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 9a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.68a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06A1.65 1.65 0 0019.4 9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09c-.69.08-1.3.42-1.51 1z'/%3E%3C/svg%3E"); }
.xm-action-grid button[data-action="export-report"]::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M4 19V5M10 19V9M16 19v-6M22 19V3'/%3E%3C/svg%3E"); }

/* —— 例行 / SLA —— */
.routine-state {
  font-size: 0;
  background: #f1f4f7 center/14px 14px no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%238793a3' stroke-width='2'/%3E%3C/svg%3E");
}
.routine-row.done .routine-state {
  background-color: var(--green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M8 12l3 3 5-6'/%3E%3C/svg%3E");
}
.routine-row.exception .routine-state,
.routine-row.rest .routine-state,
.routine-row.missed .routine-state,
.routine-row.skipped .routine-state {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M8 12l3 3 5-6'/%3E%3C/svg%3E");
}
.task-sla-capsule-ic,
.drawer-sla-chip > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 0;
  font-style: normal;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M13 3L4 14h7v7l9-11h-7V3z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}
.drawer-sla-chip > i {
  width: 12px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  background-size: contain;
}
.task-sla-capsule--urgent .task-sla-capsule-ic { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23d48806' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M13 3L4 14h7v7l9-11h-7V3z'/%3E%3C/svg%3E"); }
.task-sla-capsule--violated .task-sla-capsule-ic { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23e85d5d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M13 3L4 14h7v7l9-11h-7V3z'/%3E%3C/svg%3E"); }
.task-sla-capsule--reject .task-sla-capsule-ic { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23d4380d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 14l-4-4m0 0l4-4m-4 4h11a4 4 0 0 1 0 8h-1'/%3E%3C/svg%3E"); }

.ui-icon-btn-clear {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  padding: 0;
  border: 0;
  font-size: 0;
  color: transparent;
  background: center/12px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2393a0b3' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}
.ui-icon-btn-clear:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23cf1322' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}
.xm-person-remove.ui-icon-btn-clear,
.compact-upload-file .ui-icon-btn-clear,
.mdp-selected-remove.ui-icon-btn-clear,
.leave-current-clear.ui-icon-btn-clear {
  cursor: pointer;
}
.leave-current-clear.ui-icon-btn-clear {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: rgba(255,255,255,.8);
  background-size: 14px 14px;
}

.task-drawer-square-btn {
  font-size: 0;
  color: transparent;
  background: #fff center/14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23667085' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}
.task-drawer-square-btn:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%231677ff' stroke-width='2' stroke-linecap='round' d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}

.ui-icon-back {
  font-size: 0;
  color: transparent;
  background: center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23526173' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M15 18l-6-6 6-6'/%3E%3C/svg%3E");
}
.task-drawer-back.ui-icon-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(0,0,0,.65);
  background-position: left center;
  background-size: 14px 14px;
  padding-left: 18px;
}
.create-back-btn.ui-icon-back {
  background-size: 14px 14px;
}

.btn-with-plus,
.primary-button.btn-with-plus,
.secondary-button.btn-with-plus {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn-with-plus::before,
.primary-button.btn-with-plus::before,
.secondary-button.btn-with-plus::before {
  content: "";
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background: center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2340536b' stroke-width='2.2' stroke-linecap='round' d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.primary-button.btn-with-plus::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* 通知抽屉图标（与 xm-notice-icon 同系） */
.notice-icon {
  font-size: 0;
  line-height: 0;
  color: transparent;
  background: transparent center/16px 16px no-repeat;
}
.notice-icon.blue,
.notice-icon.green,
.notice-icon.orange,
.notice-icon.red { background-color: transparent; }
.notice-icon.ni-check { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 12l2 2 4-4M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E"); }
.notice-icon.ni-user { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E"); }
.notice-icon.ni-review { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M9 5H7a2 2 0 00-2 2v12h10V7a2 2 0 00-2-2h-2M9 5a2 2 0 014 0'/%3E%3C/svg%3E"); }
.notice-icon.ni-version { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cline x1='6' x2='6' y1='3' y2='15' stroke='%233f3f46' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='6' r='3' stroke='%233f3f46' stroke-width='2'/%3E%3Ccircle cx='6' cy='18' r='3' stroke='%233f3f46' stroke-width='2'/%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M18 9a9 9 0 01-9 9'/%3E%3C/svg%3E"); }
.notice-icon.ni-at { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M16 12a4 4 0 10-8 0 4 4 0 008 0zM4 20v-1a8 8 0 0116 0v1'/%3E%3C/svg%3E"); }
.notice-icon.ni-warn,
.notice-icon.ni-info { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' stroke='%23ff5151' stroke-width='2'/%3E%3Cpath stroke='%23ff5151' stroke-width='2' stroke-linecap='round' d='M12 8v4M12 16h.01'/%3E%3C/svg%3E"); }
.notice-icon.notice-clock { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23ff5151' stroke-width='2' stroke-linecap='round' d='M12 8v4l3 2M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E"); }
.notice-icon.notice-pin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M12 17v5M8 3h8l1 5-4 2-4-2 1-5z'/%3E%3C/svg%3E"); }
.notice-icon.notice-arrow { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.notice-icon.notice-megaphone { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%233f3f46' stroke-width='2' stroke-linecap='round' d='M11 5L6 9H3v6h3l5 4V5zM15.54 8.46a5 5 0 010 7.07M19.07 4.93a9 9 0 010 14.14'/%3E%3C/svg%3E"); }

.td-progress-step.done i {
  font-size: 0;
  color: transparent;
  background: var(--td-primary) center/10px 10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M8 12l3 3 5-6'/%3E%3C/svg%3E");
}
.td-subtask.is-done .td-chk i::after {
  content: "";
  background: center/10px 10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M8 12l3 3 5-6'/%3E%3C/svg%3E");
}

/* ========== 图标交互分层 ==========
 * 悬停（:hover）：控件按钮、链接 — 短暂变蓝，松手恢复
 * 选中（.is-active / .active）：筛选卡、Tab、切换器 — 图标+文字持续变蓝
 * 不变蓝：纯展示指标、通知列表行、只读信息
 */
.topbar-create-plus,
.icon-bell,
.icon-help,
.close-button,
.task-drawer-square-btn,
.ui-icon-back,
.mobile-menu,
.xm-ic,
.topbar-menu-ico,
.leave-preset-ic:not(.active *),
.create-type-ic,
.xm-view-icon,
.xm-action-grid button::before,
.task-quick-svg {
  transition: color .15s ease, filter .15s ease, background-image .15s ease;
}

/* —— 选中态：图标 + 主标签文字持续品牌蓝 —— */
.xm-view-switcher .xm-view-card.active .xm-view-icon,
.xm-view-card.active .xm-view-icon,
.org-dept-node.is-active .org-dept-folder,
.task-aside-action.is-active .task-aside-action-icon--xm .xm-ic {
  filter: var(--icon-hover-filter);
}
.xm-view-switcher .xm-view-card.active .xm-view-text b,
.xm-view-card.active .xm-view-text b,
.org-dept-node.is-active .org-dept-label b,
.org-dept-node.is-active .org-dept-count,
.settings-nav-item.active i,
.versions-scope-btn.active .versions-scope-btn-label,
.project-hub-pick.active b,
.org-project-card.active .org-project-card-head b,
.version-timeline-item.active .timeline-head b,
.version-timeline-item.active .timeline-meta-primary b,
.task-aside-action.is-active > span:last-child {
  color: var(--icon-stroke-hover) !important;
  font-weight: var(--weight-strong);
}

@media (hover: hover) {
  /* 仅悬停、非选中：短暂变蓝 */
  .xm-quick:hover .xm-ic,
  .topbar-user-menu-item:not(.is-danger):hover .topbar-menu-ico,
  .topbar-create-menu-item:hover .xm-ic,
  .xm-view-switcher .xm-view-card:not(.active):hover .xm-view-icon,
  .xm-action-grid button:hover::before,
  .leave-preset:not(.active):hover .leave-preset-ic,
  .create-type-pill:not(.active):hover .create-type-ic,
  .ui-icon-back:hover,
  .mobile-menu:hover {
    filter: var(--icon-hover-filter);
  }

  .xm-btn-ghost.secondary-button:hover .xm-ic,
  .xm-btn-ghost:hover .xm-ic {
    filter: var(--icon-hover-filter);
  }

  /* 快捷筛选卡：悬停短暂变蓝，选中后仅保留边框选择框，标题/图标不变色 */
  #tasksView .task-quick-card:not(.is-active):hover > i .task-quick-svg,
  #feedbackView .task-quick-card:not(.is-active):hover > i .fb-metric-svg {
    color: var(--icon-stroke-hover);
  }
}
