#ds-workbench-v19 {
  color-scheme: light;
  width: 100%;
  color: light-dark(#1d2229, #eef1f5);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  background: transparent;
}

/* R6.4.38 首发合并候选：仅增加缓存同步状态，不改变既有页面结构与字体。 */
#ds-workbench-v19 .dw-main {
  display: flex;
  flex-direction: column;
}

#ds-workbench-v19 .dw-main > .dw-content {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}

#ds-workbench-v19 .dw-snapshot-sync-banner[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-snapshot-sync-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  padding: 7px 22px;
  border-bottom: 1px solid light-dark(#eadfbf, #584d32);
  background: light-dark(#fff9e8, #2c281e);
  color: light-dark(#695722, #eadba9);
  font-size: 12px;
  line-height: 1.4;
}

#ds-workbench-v19 .dw-snapshot-sync-banner strong {
  flex: 0 0 auto;
  font-weight: 600;
}

#ds-workbench-v19 .dw-snapshot-sync-banner span {
  color: light-dark(#817348, #bdb189);
}

#ds-workbench-v19.dw-snapshot-readonly [data-snapshot-readonly-disabled="true"] {
  cursor: not-allowed;
  opacity: .48;
}

@media (max-width: 760px) {
  #ds-workbench-v19 .dw-snapshot-sync-banner {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
    padding: 8px 14px;
  }
}

#ds-workbench-v19 * {
  box-sizing: border-box;
}

#ds-workbench-v19 button,
#ds-workbench-v19 input,
#ds-workbench-v19 select,
#ds-workbench-v19 textarea {
  font: inherit;
}

#ds-workbench-v19 button {
  cursor: pointer;
}

#ds-workbench-v19 .dw-shell {
  position: relative;
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid light-dark(#dfe3e8, #343a44);
  border-radius: 16px;
  background: light-dark(#ffffff, #171b21);
  box-shadow: 0 18px 50px light-dark(rgba(27, 37, 51, .12), rgba(0, 0, 0, .34));
}

#ds-workbench-v19 .dw-sidebar {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 20px 14px 16px;
  border-right: 1px solid light-dark(#e2e5ea, #2d323a);
  background: light-dark(#f2f4f6, #1d2229);
}

#ds-workbench-v19 .dw-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-acceptance-preview-launch {
  width: 100%;
  margin-top: -10px;
  padding: 8px 9px;
  border: 1px solid light-dark(#cbd8f4, #3a4d72);
  border-radius: 8px;
  background: light-dark(#f7f9fd, #202938);
  color: light-dark(#345d9f, #a9c3f5);
  font-size: 11px;
  text-align: left;
}

#ds-workbench-v19 .dw-acceptance-preview-launch:hover {
  border-color: light-dark(#aebfe4, #4b638e);
  background: light-dark(#f0f4fb, #263247);
}

#ds-workbench-v19 .dw-acceptance-preview-launch[hidden],
#ds-workbench-v19 .dw-acceptance-preview-banner[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-acceptance-preview-banner {
  display: grid;
  gap: 6px;
  margin-top: -10px;
  padding: 9px;
  border: 1px solid light-dark(#bfd0ef, #405a86);
  border-radius: 9px;
  background: light-dark(#f4f7fd, #202b3c);
  color: light-dark(#294e89, #bfd1f3);
  font-size: 11px;
  line-height: 1.35;
}

#ds-workbench-v19 .dw-acceptance-preview-banner > div {
  display: grid;
  gap: 2px;
}

#ds-workbench-v19 .dw-acceptance-preview-banner strong {
  color: light-dark(#214575, #d7e4fb);
  font-weight: 600;
}

#ds-workbench-v19 .dw-acceptance-preview-banner small {
  color: light-dark(#6e7b8d, #98a8bf);
  font-size: 10px;
}

#ds-workbench-v19 .dw-acceptance-preview-banner button {
  justify-self: start;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: light-dark(#2867c7, #8eb5fb);
  font-size: 11px;
}

#ds-workbench-v19.dw-acceptance-preview-active [data-acceptance-preview-disabled="true"] {
  cursor: not-allowed;
  opacity: .48;
}

#ds-workbench-v19 .dw-task-migration-modal {
  width: min(620px, calc(100vw - 32px));
}

#ds-workbench-v19 .dw-locked-fact {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid light-dark(#d9e0eb, #3b4658);
  border-radius: 10px;
  background: light-dark(#f4f7fb, #202838);
  color: light-dark(#46536a, #c9d2e1);
}

#ds-workbench-v19 .dw-field-error {
  padding: 10px 12px;
  border-radius: 10px;
  background: light-dark(#fff2f0, #3b2324);
  color: light-dark(#b42318, #ffb4ac);
  font-size: 13px;
}

#ds-workbench-v19 .dw-task-title-input {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid light-dark(#d9e0eb, #3b4658);
  border-radius: 9px;
  background: light-dark(#ffffff, #171e2b);
  color: inherit;
  font: inherit;
  font-weight: 650;
}

#ds-workbench-v19 .dw-logo {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: light-dark(#ffffff, #121824);
  background: light-dark(#2867e8, #78a3ff);
  font-size: 12px;
}

#ds-workbench-v19 .dw-nav {
  display: grid;
  gap: 5px;
}

#ds-workbench-v19 .dw-nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 9px;
  color: light-dark(#59616d, #aab3bf);
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-nav button[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-nav button:hover {
  background: light-dark(#e8ebef, #272d35);
}

#ds-workbench-v19 .dw-nav button.dw-active {
  color: light-dark(#1d2229, #f5f7fa);
  background: light-dark(#ffffff, #2b313a);
  box-shadow: 0 1px 3px light-dark(rgba(24, 34, 49, .08), rgba(0, 0, 0, .2));
}

#ds-workbench-v19 .dw-nav-symbol {
  width: 20px;
  text-align: center;
}

#ds-workbench-v19 .dw-side-label {
  padding: 0 9px;
  color: light-dark(#8a929d, #828c98);
  font-size: 12px;
}

#ds-workbench-v19 .dw-recent-projects {
  display: grid;
  gap: 4px;
}

#ds-workbench-v19 .dw-project-short {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  color: light-dark(#5c6571, #aeb6c1);
  font-size: 13px;
}

#ds-workbench-v19 .dw-project-thumb {
  width: 27px;
  height: 27px;
  border-radius: 7px;
  background: linear-gradient(140deg, light-dark(#c8b7a1, #6d5d4c), light-dark(#eee6dc, #38332e));
  background-size: cover;
  background-position: center;
}

#ds-workbench-v19 .dw-project-thumb.dw-cool {
  background: linear-gradient(140deg, light-dark(#9eb2ae, #506660), light-dark(#e0e9e7, #2f3836));
  background-size: cover;
  background-position: center;
}

#ds-workbench-v19 .dw-user {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding: 12px 8px 0;
  border-top: 1px solid light-dark(#dfe3e8, #303640);
  font-size: 13px;
}

#ds-workbench-v19 .dw-recovery-status {
  margin-top: auto;
  padding: 10px 8px;
  border-top: 1px solid light-dark(#dfe3e8, #303640);
  color: light-dark(#59636f, #aeb6c1);
  font-size: 11px;
}

#ds-workbench-v19 .dw-recovery-status[hidden] { display: none; }

#ds-workbench-v19 .dw-recovery-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 5px;
  color: light-dark(#303944, #d8dee5);
}

#ds-workbench-v19 .dw-recovery-summary { line-height: 1.5; }

#ds-workbench-v19 .dw-recovery-status button {
  width: 100%;
  margin-top: 7px;
  padding: 6px 8px;
  border: 1px solid light-dark(#d2d7de, #3d4652);
  border-radius: 8px;
  background: light-dark(#fff, #242a32);
  color: inherit;
  font: inherit;
}

#ds-workbench-v19 .dw-recovery-status button:disabled { opacity: .55; cursor: wait; }

#ds-workbench-v19 .dw-recovery-status + .dw-user { margin-top: 0; }

#ds-workbench-v19 .dw-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: light-dark(#3e4954, #d8dee5);
  background: light-dark(#d9dfe5, #3b4551);
  font-size: 12px;
}

#ds-workbench-v19 .dw-main {
  min-width: 0;
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-topbar {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 0 25px;
  border-bottom: 1px solid light-dark(#e8ebef, #2b3038);
}

#ds-workbench-v19 .dw-search-wrap {
  position: relative;
  width: min(460px, 52%);
}

#ds-workbench-v19 .dw-search-mark {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: light-dark(#87909b, #818b97);
}

#ds-workbench-v19 .dw-search {
  width: 100%;
  height: 38px;
  padding: 0 12px 0 34px;
  border: 1px solid light-dark(#e0e4e9, #343b45);
  border-radius: 9px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#f5f6f8, #21262e);
}

#ds-workbench-v19 .dw-search:focus,
#ds-workbench-v19 input:focus,
#ds-workbench-v19 select:focus,
#ds-workbench-v19 textarea:focus {
  border-color: light-dark(#2867e8, #78a3ff);
  outline: 3px solid light-dark(rgba(40, 103, 232, .12), rgba(120, 163, 255, .16));
  outline-offset: 0;
}

#ds-workbench-v19 .dw-top-spacer {
  flex: 1;
}

#ds-workbench-v19 .dw-primary,
#ds-workbench-v19 .dw-secondary,
#ds-workbench-v19 .dw-quiet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 8px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-primary {
  border: 1px solid light-dark(#2867e8, #78a3ff);
  color: light-dark(#ffffff, #121824);
  background: light-dark(#2867e8, #78a3ff);
}

#ds-workbench-v19 .dw-primary:hover {
  background: light-dark(#205bd0, #8cb1ff);
}

#ds-workbench-v19 .dw-secondary,
#ds-workbench-v19 .dw-quiet {
  border: 1px solid light-dark(#dce1e7, #3a424c);
  color: light-dark(#414a56, #d4dae2);
  background: light-dark(#ffffff, #222831);
}

#ds-workbench-v19 .dw-quiet {
  min-height: 32px;
  padding: 0 10px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-content {
  padding: 22px;
}

#ds-workbench-v19 .dw-view-panel {
  display: none;
}

#ds-workbench-v19 .dw-view-panel.dw-active {
  display: block;
}

#ds-workbench-v19 .dw-title-row {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 20px;
}

#ds-workbench-v19 .dw-title-row h2 {
  margin: 0;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -.4px;
}

#ds-workbench-v19 .dw-title-note {
  padding-bottom: 2px;
  color: light-dark(#838b96, #8b949f);
  font-size: 13px;
}

#ds-workbench-v19 .dw-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 23px;
}

#ds-workbench-v19 .dw-progress-page {
  display: grid;
  grid-template-columns: minmax(280px, 34%) minmax(0, 1fr);
  gap: 18px;
  min-height: 580px;
}

#ds-workbench-v19 .dw-progress-projects,
#ds-workbench-v19 .dw-progress-editor {
  min-width: 0;
  padding: 18px;
  border: 1px solid light-dark(#e1e6ec, #353e49);
  border-radius: 12px;
  background: light-dark(#ffffff, #1d232b);
}

#ds-workbench-v19 .dw-progress-projects { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; }
#ds-workbench-v19 .dw-progress-search { display: grid; gap: 7px; color: light-dark(#667085, #aab4c0); font-size: 13px; }
#ds-workbench-v19 .dw-progress-search input { height: 40px; padding: 0 11px; border: 1px solid light-dark(#dce2e9, #414b58); border-radius: 8px; color: inherit; background: transparent; }
#ds-workbench-v19 .dw-progress-project-list { display: grid; align-content: start; gap: 7px; max-height: 600px; overflow: auto; }
#ds-workbench-v19 .dw-progress-project { display: grid; gap: 4px; width: 100%; padding: 11px 12px; border: 1px solid transparent; border-radius: 8px; color: light-dark(#344054, #e0e5ec); background: light-dark(#f7f9fb, #252c35); text-align: left; }
#ds-workbench-v19 .dw-progress-project:hover,
#ds-workbench-v19 .dw-progress-project.dw-active { border-color: light-dark(#b9ccec, #56729a); background: light-dark(#edf4ff, #29374d); }
#ds-workbench-v19 .dw-progress-project strong { font-size: 14px; }
#ds-workbench-v19 .dw-progress-project span { color: light-dark(#7a8491, #929eab); font-size: 12px; }
#ds-workbench-v19 .dw-progress-editor { display: grid; align-content: start; gap: 18px; }
#ds-workbench-v19 .dw-progress-editor header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid light-dark(#edf0f3, #303843); }
#ds-workbench-v19 .dw-progress-editor header > div { display: grid; gap: 5px; }
#ds-workbench-v19 .dw-progress-editor header strong { font-size: 17px; }
#ds-workbench-v19 .dw-progress-editor header span,
#ds-workbench-v19 .dw-progress-editor header small { color: light-dark(#7b8592, #929eab); font-size: 12px; }
#ds-workbench-v19 .dw-progress-editor label { display: grid; gap: 8px; color: light-dark(#3d4652, #d8dee6); font-size: 14px; }
#ds-workbench-v19 .dw-progress-editor label b { color: #d04b3e; font-size: 12px; }
#ds-workbench-v19 .dw-progress-editor textarea { width: 100%; padding: 11px 12px; resize: vertical; border: 1px solid light-dark(#d9e0e8, #414c59); border-radius: 9px; color: inherit; background: light-dark(#ffffff, #202731); font: inherit; line-height: 1.6; }
#ds-workbench-v19 .dw-progress-editor .dw-primary { justify-self: end; }
#ds-workbench-v19 .dw-progress-write-note,
#ds-workbench-v19 .dw-progress-empty { margin: 0; padding: 18px; color: light-dark(#727c89, #939eaa); font-size: 13px; line-height: 1.6; }

@media (max-width: 820px) {
  #ds-workbench-v19 .dw-progress-page { grid-template-columns: 1fr; }
  #ds-workbench-v19 .dw-progress-project-list { max-height: 320px; }
}

#ds-workbench-v19 .dw-calendar-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

#ds-workbench-v19 .dw-calendar-range {
  min-width: 160px;
  color: light-dark(#48525e, #cbd2db);
  font-weight: 500;
  text-align: center;
}

#ds-workbench-v19 .dw-calendar-note {
  margin-left: auto;
  color: light-dark(#818a95, #8f99a5);
  font-size: 12px;
}

#ds-workbench-v19 .dw-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
  border-left: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-calendar-day {
  min-width: 0;
  min-height: 218px;
  padding: 9px 7px;
  border-right: 1px solid light-dark(#dfe4ea, #343b45);
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
  background: light-dark(#ffffff, #1d2229);
}

#ds-workbench-v19 .dw-calendar-day.dw-today {
  background: light-dark(#f7f9ff, #202a3c);
}

#ds-workbench-v19 .dw-calendar-date {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 10px;
  color: light-dark(#4f5966, #c5ccd5);
  font-size: 12px;
}

#ds-workbench-v19 .dw-calendar-count {
  color: light-dark(#8d95a0, #84909c);
  font-size: 11px;
}

#ds-workbench-v19 .dw-calendar-date-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 11px;
}

#ds-workbench-v19 .dw-calendar-date-num.dw-today-num {
  background: #ff3b30;
  color: #fff;
}

#ds-workbench-v19 .dw-calendar-cards {
  display: grid;
  gap: 7px;
}

#ds-workbench-v19 .dw-calendar-task {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 4px 8px;
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  background: light-dark(#2867e8, #78a3ff);
}

#ds-workbench-v19 .dw-calendar-task:hover {
  filter: brightness(1.06);
}

#ds-workbench-v19 .dw-calendar-task-copy {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-calendar-task-name {
  flex: 1;
  overflow: hidden;
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-calendar-task-hours {
  flex-shrink: 0;
  font-size: 11px;
  opacity: 0.8;
}

#ds-workbench-v19 .dw-calendar-total {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid light-dark(#e5e9ee, #36404b);
  color: light-dark(#727c88, #9ba6b2);
  font-size: 11px;
}

#ds-workbench-v19 .dw-status-filter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: light-dark(#626b77, #a4adb8);
  background: transparent;
}

#ds-workbench-v19 .dw-status-filter:hover {
  background: light-dark(#f2f4f7, #242a32);
}

#ds-workbench-v19 .dw-status-filter.dw-active {
  border-color: light-dark(#dce2eb, #3a424d);
  color: light-dark(#1f252c, #f1f3f6);
  background: light-dark(#f7f8fa, #252b33);
  box-shadow: 0 1px 3px light-dark(rgba(27, 37, 50, .07), rgba(0, 0, 0, .18));
}

#ds-workbench-v19 .dw-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: light-dark(#68717d, #a5adb8);
}

#ds-workbench-v19 .dw-dot.dw-running { background: light-dark(#27a653, #63d689); }
#ds-workbench-v19 .dw-dot.dw-feedback { background: light-dark(#7852e8, #a68cff); }
#ds-workbench-v19 .dw-dot.dw-done { background: light-dark(#666a70, #a2a7ae); }
#ds-workbench-v19 .dw-dot.dw-paused { background: light-dark(#2398e5, #6bc5ff); }
#ds-workbench-v19 .dw-dot.dw-review { background: light-dark(#f28a24, #ffb260); }
#ds-workbench-v19 .dw-dot.dw-approval { background: light-dark(#df4937, #ff7d6d); }

#ds-workbench-v19 .dw-count {
  color: light-dark(#969da7, #7f8995);
  font-size: 12px;
}

#ds-workbench-v19 .dw-project-groups {
  display: grid;
  gap: 18px;
}

#ds-workbench-v19 .dw-project-group {
  border-top: 1px solid light-dark(#e4e8ed, #303640);
}

#ds-workbench-v19 .dw-project-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 14px 2px 10px;
  color: light-dark(#4a535f, #c2c9d2);
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 14px 2px 10px;
  border: 0;
  color: light-dark(#4a535f, #c2c9d2);
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-project-toggle strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-toggle .dw-project-count {
  margin-left: auto;
  color: light-dark(#939aa4, #7f8995);
  font-size: 12px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-project-chevron {
  display: inline-block;
  transition: transform .16s ease;
}

#ds-workbench-v19 .dw-project-toggle[aria-expanded="false"] .dw-project-chevron {
  transform: rotate(-90deg);
}

#ds-workbench-v19 .dw-project-heading span:last-child {
  margin-left: auto;
  color: light-dark(#939aa4, #7f8995);
  font-weight: 400;
}

#ds-workbench-v19 .dw-task-list {
  display: grid;
  gap: 9px;
}

#ds-workbench-v19 .dw-task {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 16px 17px;
  border: 1px solid light-dark(#e3e7ec, #303741);
  border-radius: 11px;
  background: light-dark(#ffffff, #1d2229);
  transition: border-color .16s ease, transform .16s ease;
}

#ds-workbench-v19 .dw-task:hover {
  transform: translateY(-1px);
  border-color: light-dark(#bdc8da, #4a5665);
}

#ds-workbench-v19 .dw-task-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}

#ds-workbench-v19 .dw-task-name {
  margin-right: 4px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-code,
#ds-workbench-v19 .dw-node,
#ds-workbench-v19 .dw-specialty,
#ds-workbench-v19 .dw-state-pill {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: 12px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-code {
  color: light-dark(#2357c9, #c4d3ff);
  background: light-dark(#eaf0ff, #26375c);
}

#ds-workbench-v19 .dw-node {
  color: light-dark(#4e5b6a, #b9c2ce);
  background: light-dark(#f0f2f5, #2b3139);
}

#ds-workbench-v19 .dw-specialty {
  color: light-dark(#75541d, #e8cb9b);
  background: light-dark(#faf0df, #403323);
}

#ds-workbench-v19 .dw-state-pill {
  color: light-dark(#4c5662, #bcc4ce);
  background: light-dark(#eff1f4, #2b3139);
}

#ds-workbench-v19 .dw-latest {
  margin-bottom: 7px;
  color: light-dark(#505965, #bdc4ce);
  font-size: 13px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: light-dark(#858d98, #89939f);
  font-size: 12px;
}

#ds-workbench-v19 .dw-task-side {
  display: grid;
  align-content: space-between;
  justify-items: end;
  min-width: 168px;
  gap: 14px;
}

#ds-workbench-v19 .dw-task-stats {
  display: flex;
  gap: 12px;
  color: light-dark(#757e89, #969faa);
  font-size: 12px;
}

#ds-workbench-v19 .dw-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

#ds-workbench-v19 .dw-empty {
  padding: 42px 16px;
  border-top: 1px solid light-dark(#e4e8ed, #303640);
  color: light-dark(#7f8792, #8d96a1);
  text-align: center;
}

#ds-workbench-v19 .dw-overlay {
  position: absolute;
  inset: 0;
  z-index: 12;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: light-dark(rgba(25, 33, 46, .28), rgba(0, 0, 0, .58));
}

#ds-workbench-v19 .dw-overlay.dw-show {
  display: flex;
}

#ds-workbench-v19 .dw-modal {
  width: min(570px, 100%);
  overflow: hidden;
  border: 1px solid light-dark(#dce1e7, #3a424d);
  border-radius: 14px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 24px 65px light-dark(rgba(20, 29, 43, .24), rgba(0, 0, 0, .5));
}

#ds-workbench-v19 .dw-modal-head,
#ds-workbench-v19 .dw-modal-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 17px 20px;
  border-bottom: 1px solid light-dark(#e7eaee, #343b45);
}

#ds-workbench-v19 .dw-modal-head h3 {
  flex: 1;
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-modal-foot {
  justify-content: flex-end;
  border-top: 1px solid light-dark(#e7eaee, #343b45);
  border-bottom: 0;
}

#ds-workbench-v19 .dw-close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: light-dark(#727b87, #9ba5b1);
  background: transparent;
  font-size: 18px;
}

#ds-workbench-v19 .dw-close:hover {
  background: light-dark(#f0f2f5, #2c333b);
}

#ds-workbench-v19 .dw-form {
  display: grid;
  gap: 17px;
  padding: 20px;
}

#ds-workbench-v19 .dw-field {
  display: grid;
  gap: 7px;
}

#ds-workbench-v19 .dw-field label,
#ds-workbench-v19 .dw-field-label {
  color: light-dark(#505a66, #c4cbd4);
  font-size: 13px;
}

#ds-workbench-v19 .dw-field input,
#ds-workbench-v19 .dw-field select,
#ds-workbench-v19 .dw-field textarea {
  width: 100%;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 8px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
}

#ds-workbench-v19 .dw-field input,
#ds-workbench-v19 .dw-field select {
  height: 40px;
  padding: 0 11px;
}

#ds-workbench-v19 .dw-field textarea {
  min-height: 96px;
  padding: 10px 11px;
  resize: vertical;
}

#ds-workbench-v19 .dw-field input[type="file"] {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 8px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
  cursor: pointer;
}

#ds-workbench-v19 .dw-field input[type="file"]::file-selector-button {
  height: 100%;
  padding: 0 14px;
  border: 0;
  border-right: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 7px 0 0 7px;
  color: light-dark(#374151, #e8ecf1);
  background: light-dark(#f3f5f8, #2a313b);
  font-size: 13px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-field input[type="file"]:hover {
  border-color: light-dark(#b0b8c2, #4e5865);
}

#ds-workbench-v19 .dw-field input[type="file"]:hover::file-selector-button {
  background: light-dark(#e7ebf1, #343c47);
}

#ds-workbench-v19 .dw-file-field {
  gap: 9px;
}

#ds-workbench-v19 .dw-file-name {
  display: block;
  color: light-dark(#2867e8, #78a3ff);
  font-size: 13px;
  word-break: break-all;
}

#ds-workbench-v19 .dw-two-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

#ds-workbench-v19 #dw-new-specialty-field[hidden],
#ds-workbench-v19 #dw-new-node-field[hidden],
#ds-workbench-v19 #dw-plan-specialty-field[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-plan-specialty-field {
  align-content: start;
}

#ds-workbench-v19 .dw-plan-specialty-summary {
  display: grid;
  gap: 2px;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid light-dark(#d9e3f4, #3e506d);
  border-radius: 8px;
  background: light-dark(#f7f9fd, #222c3b);
}

#ds-workbench-v19 .dw-plan-specialty-summary strong {
  color: light-dark(#273445, #e7edf7);
  font-size: 13px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-plan-specialty-summary span,
#ds-workbench-v19 #dw-stage-specialty-note {
  color: light-dark(#788292, #9ca8b8);
  font-size: 11px;
  line-height: 1.45;
}

#ds-workbench-v19 .dw-inline-action {
  justify-self: start;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid light-dark(#bcd0ef, #50688d);
  border-radius: 7px;
  color: light-dark(#2867d8, #9abaff);
  background: light-dark(#f5f8fd, #26344b);
  font-size: 12px;
}

#ds-workbench-v19 .dw-plan-specialty-editor {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid light-dark(#dce2ea, #3b4656);
  border-radius: 9px;
  background: light-dark(#fbfcfd, #202731);
}

#ds-workbench-v19 .dw-plan-specialty-editor[hidden] { display: none; }

#ds-workbench-v19 .dw-plan-specialty-options,
#ds-workbench-v19 .dw-stage-specialty-group {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
}

#ds-workbench-v19 .dw-plan-specialty-options label,
#ds-workbench-v19 .dw-stage-specialty-group label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 30px;
  color: light-dark(#4f5968, #c8d0da);
  font-size: 12px;
}

#ds-workbench-v19 .dw-plan-specialty-options input,
#ds-workbench-v19 .dw-stage-specialty-group input {
  width: 16px;
  min-height: 16px;
  accent-color: #2f6ee5;
}

#ds-workbench-v19 .dw-plan-specialty-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}

#ds-workbench-v19 .dw-project-assignee-row {
  grid-template-columns: 2fr 1fr;
}

#ds-workbench-v19 .dw-assignee-picker {
  display: block;
  width: 100%;
  height: 40px;
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 8px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

#ds-workbench-v19 .dw-assignee-picker:hover {
  border-color: light-dark(#b0b8c2, #4e5865);
}

#ds-workbench-v19 .dw-assignee-picker:focus-visible {
  outline: 3px solid rgba(47, 128, 237, .18);
  border-color: #2f80ed;
}

#ds-workbench-v19 .dw-assignee-picker:disabled {
  opacity: .6;
  cursor: not-allowed;
}

#ds-workbench-v19 .dw-field-hint {
  margin-top: 5px;
  color: light-dark(#667085, #98a2b3);
  font-size: 11px;
}

#ds-workbench-v19 .dw-task-context {
  padding: 13px 14px;
  border-left: 3px solid light-dark(#2867e8, #78a3ff);
  border-radius: 7px;
  color: light-dark(#465161, #c7ced7);
  background: light-dark(#f3f6fb, #202b40);
  font-size: 13px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-context-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 5px;
  color: light-dark(#28313d, #eef1f5);
  font-weight: 500;
}

#ds-workbench-v19 .dw-help {
  color: light-dark(#89919c, #8c96a2);
  font-size: 12px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-code-preview {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 8px;
  color: light-dark(#4a5563, #c4cbd4);
  background: light-dark(#f4f6f8, #262c34);
  font-size: 13px;
}

#ds-workbench-v19 .dw-plan-details {
  border-top: 1px solid light-dark(#e7eaee, #343b45);
  padding-top: 12px;
}

#ds-workbench-v19 .dw-plan-details summary {
  color: light-dark(#56616d, #b9c1cb);
  cursor: pointer;
  font-size: 13px;
}

#ds-workbench-v19 .dw-plan-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

#ds-workbench-v19 .dw-plan-builder {
  display: grid;
  gap: 8px;
}

#ds-workbench-v19 .dw-plan-column-labels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 32px;
  gap: 7px;
  color: light-dark(#858e99, #8d98a4);
  font-size: 11px;
}

#ds-workbench-v19 .dw-plan-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 32px;
  gap: 7px;
  align-items: center;
}

#ds-workbench-v19 .dw-plan-step input {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 8px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
}

#ds-workbench-v19 .dw-plan-remove {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: light-dark(#858d98, #929daa);
  background: transparent;
}

#ds-workbench-v19 .dw-plan-list {
  display: grid;
  gap: 8px;
}

#ds-workbench-v19 .dw-plan-line {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: light-dark(#4d5764, #c4ccd6);
  font-size: 12px;
}

#ds-workbench-v19 .dw-plan-number {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: light-dark(#295bc6, #c5d3ff);
  background: light-dark(#e9effd, #293a5d);
}

#ds-workbench-v19 .dw-plan-days {
  color: light-dark(#7e8792, #8f9aa6);
  white-space: nowrap;
}

#ds-workbench-v19 .dw-drawer {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  display: none;
  width: min(470px, 100%);
  border-left: 1px solid light-dark(#dfe3e8, #39414b);
  background: light-dark(#ffffff, #1c2128);
  box-shadow: -18px 0 50px light-dark(rgba(25, 34, 48, .15), rgba(0, 0, 0, .36));
}

#ds-workbench-v19 .dw-drawer.dw-show {
  display: block;
}

#ds-workbench-v19 .dw-drawer-head {
  padding: 19px 20px 16px;
  border-bottom: 1px solid light-dark(#e8ebef, #303741);
}

#ds-workbench-v19 .dw-drawer-line {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
}

#ds-workbench-v19 .dw-drawer-line .dw-close {
  margin-left: auto;
}

#ds-workbench-v19 .dw-drawer-title {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-drawer-sub {
  color: light-dark(#747d89, #939da9);
  font-size: 12px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-drawer-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 19px 20px 24px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

#ds-workbench-v19 .dw-detail-item {
  padding: 11px;
  border-radius: 8px;
  background: light-dark(#f4f6f8, #252c34);
}

#ds-workbench-v19 .dw-detail-label {
  margin-bottom: 5px;
  color: light-dark(#858e99, #8c96a2);
  font-size: 11px;
}

#ds-workbench-v19 .dw-detail-value {
  color: light-dark(#3c4652, #d9dfe6);
  font-size: 13px;
}

#ds-workbench-v19 .dw-task-facts-editor {
  display: flex;
  align-items: center;
  gap: 7px;
}

#ds-workbench-v19 .dw-task-facts-editor select,
#ds-workbench-v19 .dw-task-completion-date {
  min-width: 0;
  min-height: 30px;
  border: 1px solid light-dark(#d7dde5, #414a55);
  border-radius: 6px;
  color: light-dark(#3c4652, #d9dfe6);
  background: light-dark(#ffffff, #202832);
  font: inherit;
}

#ds-workbench-v19 .dw-task-facts-editor select {
  flex: 1;
  padding: 0 7px;
}

#ds-workbench-v19 .dw-task-completion-date {
  width: 100%;
  padding: 0 7px;
}

#ds-workbench-v19 .dw-task-completion-date:disabled {
  opacity: 0.58;
}

#ds-workbench-v19 .dw-task-completion-hint {
  display: block;
  margin-top: 4px;
  color: light-dark(#9b5c20, #efb366);
  font-size: 11px;
  line-height: 1.35;
}

#ds-workbench-v19 .dw-task-completion-hint[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-date-value-row,
#ds-workbench-v19 .dw-section-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#ds-workbench-v19 .dw-inline-action {
  min-height: 26px;
  padding: 0 8px;
  border: 1px solid light-dark(#d7dde5, #414a55);
  border-radius: 6px;
  color: light-dark(#345fb9, #b8caff);
  background: light-dark(#ffffff, #202832);
  font-size: 11px;
}

#ds-workbench-v19 .dw-action-chip {
  min-height: 26px;
  padding: 0 10px;
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  background: #2867e8;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}

#ds-workbench-v19 .dw-action-chip:hover {
  filter: brightness(1.08);
}

#ds-workbench-v19 .dw-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#ds-workbench-v19 .dw-chip-toggle {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid light-dark(#dce2ea, #3a424d);
  border-radius: 9px;
  color: light-dark(#53606d, #aab3bd);
  background: light-dark(#ffffff, #20262d);
  font-size: 12px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-chip-toggle:hover {
  border-color: light-dark(#b4bdc8, #5a656f);
  background: light-dark(#f7f8fa, #252d35);
}

#ds-workbench-v19 .dw-chip-toggle.dw-active {
  border-color: transparent;
  color: #ffffff;
  font-weight: 500;
}

#ds-workbench-v19 .dw-specialty-chip[data-value="室内"].dw-active { background: #2f80ed; }
#ds-workbench-v19 .dw-specialty-chip[data-value="建筑"].dw-active { background: #f59e0b; }
#ds-workbench-v19 .dw-specialty-chip[data-value="结构"].dw-active { background: #7c3aed; }
#ds-workbench-v19 .dw-specialty-chip[data-value="园林"].dw-active { background: #27a653; }

#ds-workbench-v19 .dw-status-chip.dw-running.dw-active { background: #27a653; }
#ds-workbench-v19 .dw-status-chip.dw-feedback.dw-active { background: #7852e8; }
#ds-workbench-v19 .dw-status-chip.dw-review.dw-active { background: #f28a24; }
#ds-workbench-v19 .dw-status-chip.dw-approval.dw-active { background: #df4937; }
#ds-workbench-v19 .dw-status-chip.dw-done.dw-active { background: #666a70; }
#ds-workbench-v19 .dw-status-chip.dw-paused.dw-active { background: #2398e5; }

#ds-workbench-v19 .dw-plan-description {
  min-height: 72px;
  padding: 12px;
  border-radius: 10px;
  color: light-dark(#3c4652, #d9dfe6);
  background: light-dark(#f4f6f8, #252c34);
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
}

#ds-workbench-v19 .dw-plan-description:empty::before {
  content: '暂无任务规划描述';
  color: light-dark(#a4acb5, #8c96a2);
}

#ds-workbench-v19 .dw-plan-history {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

#ds-workbench-v19 .dw-plan-history-title {
  color: light-dark(#858e99, #8c96a2);
  font-size: 12px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-plan-history-item {
  padding: 10px 12px;
  border-radius: 8px;
  color: light-dark(#4d5764, #c4ccd6);
  background: light-dark(#f4f6f8, #252c34);
  font-size: 12px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-plan-history-meta {
  margin-top: 4px;
  color: light-dark(#a4acb5, #8c96a2);
  font-size: 11px;
}

#ds-workbench-v19 .dw-section-title {
  margin: 0 0 11px;
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-section-heading-row .dw-section-title {
  margin: 0;
}

#ds-workbench-v19 .dw-value-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

#ds-workbench-v19 .dw-value-stat {
  padding: 14px;
  border: 1px solid light-dark(#e1e5ea, #343c46);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
}

#ds-workbench-v19 .dw-value-stat span {
  display: block;
  margin-bottom: 5px;
  color: light-dark(#7f8995, #909ba7);
  font-size: 11px;
}

#ds-workbench-v19 .dw-value-stat strong {
  font-size: 20px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-value-progress {
  margin-bottom: 20px;
  padding: 15px;
  border-radius: 10px;
  background: light-dark(#f4f6f9, #232a32);
}

#ds-workbench-v19 .dw-value-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  color: light-dark(#4d5764, #c7ced7);
  font-size: 12px;
}

#ds-workbench-v19 .dw-value-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: light-dark(#dfe4eb, #39424d);
}

#ds-workbench-v19 .dw-value-fill {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: light-dark(#2d6be8, #79a4ff);
}

#ds-workbench-v19 .dw-quarter-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

#ds-workbench-v19 .dw-quarter {
  padding: 10px;
  border: 1px solid light-dark(#dfe4eb, #3a434e);
  border-radius: 8px;
  background: light-dark(#ffffff, #1d232a);
}

#ds-workbench-v19 .dw-quarter.dw-current {
  border-color: light-dark(#a9c0f6, #536f9f);
  background: light-dark(#eef3ff, #25334b);
}

#ds-workbench-v19 .dw-quarter span,
#ds-workbench-v19 .dw-quarter strong {
  display: block;
}

#ds-workbench-v19 .dw-quarter span {
  margin-bottom: 4px;
  color: light-dark(#7d8793, #929ca8);
  font-size: 11px;
}

#ds-workbench-v19 .dw-quarter strong {
  color: light-dark(#3f4955, #d8dee7);
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-value-note {
  margin: -8px 0 18px;
  padding: 11px 13px;
  border: 1px solid light-dark(#dbe4f4, #34435d);
  border-radius: 9px;
  color: light-dark(#526278, #b8c5d9);
  background: light-dark(#f4f7fc, #202a3a);
  font-size: 11px;
  line-height: 1.6;
}

#ds-workbench-v19 .dw-record-list,
#ds-workbench-v19 .dw-file-list {
  display: grid;
  border-top: 1px solid light-dark(#e3e7ec, #333b45);
}

#ds-workbench-v19 .dw-record-row,
#ds-workbench-v19 .dw-file-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 13px 2px;
  border-bottom: 1px solid light-dark(#e3e7ec, #333b45);
}

#ds-workbench-v19 .dw-record-row strong,
#ds-workbench-v19 .dw-file-row strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-record-row span,
#ds-workbench-v19 .dw-file-row span {
  color: light-dark(#7c8590, #909ba7);
  font-size: 11px;
}

#ds-workbench-v19 .dw-record-value {
  align-self: center;
  color: light-dark(#2a5fca, #bdd0ff);
  font-weight: 500;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

#ds-workbench-v19 .dw-project-card {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid light-dark(#e0e5ea, #343c46);
  border-radius: 11px;
  color: inherit;
  background: light-dark(#ffffff, #20262d);
  text-align: left;
  transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

#ds-workbench-v19 .dw-project-card:hover {
  transform: translateY(-2px);
  border-color: light-dark(#adc2ef, #536d9f);
  box-shadow: 0 10px 24px light-dark(rgba(37, 67, 121, .10), rgba(0, 0, 0, .24));
}

#ds-workbench-v19 .dw-project-cover {
  height: 84px;
  background: linear-gradient(135deg, light-dark(#b7afa3, #554d45), light-dark(#e9e4dd, #2e2b28));
}

#ds-workbench-v19 .dw-project-card:nth-child(2) .dw-project-cover {
  background: linear-gradient(135deg, light-dark(#aebcb6, #45564f), light-dark(#e7ecea, #2c322f));
}

#ds-workbench-v19 .dw-project-card:nth-child(3) .dw-project-cover {
  background: linear-gradient(135deg, light-dark(#b7ac9c, #584d40), light-dark(#ece2d4, #342e27));
}

#ds-workbench-v19 .dw-project-card-copy {
  padding: 12px;
}

#ds-workbench-v19 .dw-project-card-copy strong {
  display: block;
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-card-copy span {
  color: light-dark(#7b8591, #929ca8);
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#ds-workbench-v19 .dw-project-card-open {
  color: light-dark(#2d62c8, #b8ccff);
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-back {
  margin-bottom: 14px;
}

#ds-workbench-v19 .dw-project-hero {
  display: grid;
  grid-template-columns: 152px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid light-dark(#e3e7ec, #343b45);
}

#ds-workbench-v19 .dw-project-hero-cover {
  height: 96px;
  border-radius: 11px;
  background: linear-gradient(135deg, light-dark(#b7afa3, #554d45), light-dark(#e9e4dd, #2e2b28));
}

#ds-workbench-v19 .dw-project-hero-copy h2 {
  margin: 0 0 8px;
  font-size: 21px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-hero-copy p {
  margin: 0 0 9px;
  color: light-dark(#66707c, #aeb7c2);
  font-size: 12px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-project-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: light-dark(#707a86, #98a3af);
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-hero-actions {
  display: grid;
  gap: 8px;
  justify-items: stretch;
}

#ds-workbench-v19 .dw-project-stage-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-project-stage {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 10px;
  border: 0;
  border-right: 1px solid light-dark(#dfe4ea, #343b45);
  color: light-dark(#707a86, #9ba5b1);
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-project-stage:last-child {
  border-right: 0;
}

#ds-workbench-v19 .dw-project-stage strong {
  overflow: hidden;
  color: light-dark(#404a55, #d6dce4);
  font-size: 13px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-stage span {
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-stage.dw-active {
  background: light-dark(#eef3ff, #24324a);
  box-shadow: inset 0 -3px 0 light-dark(#2d69e6, #7fa8ff);
}

#ds-workbench-v19 .dw-project-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr);
  gap: 22px;
  align-items: start;
}

#ds-workbench-v19 .dw-project-column-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-project-column-title h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-basket {
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-basket-head {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 2px;
  color: light-dark(#444f5b, #d2d9e2);
}

#ds-workbench-v19 .dw-basket-head strong {
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-basket-head span:last-child {
  margin-left: auto;
  color: light-dark(#808a95, #8e99a5);
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 2px 11px 26px;
  border-top: 1px solid light-dark(#edf0f3, #2b323b);
}

#ds-workbench-v19 .dw-project-task-main {
  min-width: 0;
}

#ds-workbench-v19 .dw-project-task-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 5px;
}

#ds-workbench-v19 .dw-project-task-title strong {
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-task-main p {
  overflow: hidden;
  margin: 0;
  color: light-dark(#747e89, #929da9);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-task-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

#ds-workbench-v19 .dw-project-empty {
  padding: 18px 2px 18px 26px;
  border-top: 1px solid light-dark(#edf0f3, #2b323b);
  color: light-dark(#818a95, #8b96a2);
  font-size: 12px;
}

#ds-workbench-v19 .dw-project-side {
  display: grid;
  gap: 18px;
}

#ds-workbench-v19 .dw-project-side-section {
  padding-left: 14px;
  border-left: 2px solid light-dark(#dce3ed, #3b4654);
}

#ds-workbench-v19 .dw-project-side-section h3 {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-side-section p {
  margin: 0;
  color: light-dark(#6c7681, #a3adb8);
  font-size: 11px;
  line-height: 1.6;
}

#ds-workbench-v19 .dw-project-side-list {
  display: grid;
  gap: 8px;
  color: light-dark(#596471, #bdc5cf);
  font-size: 12px;
}

#ds-workbench-v19 .dw-ai-panel {
  display: grid;
  gap: 14px;
  max-width: 760px;
}

#ds-workbench-v19 .dw-ai-answer {
  padding: 15px;
  border-left: 3px solid light-dark(#2d6be8, #79a4ff);
  border-radius: 8px;
  color: light-dark(#46515e, #cbd2db);
  background: light-dark(#f4f7fc, #202b40);
  font-size: 13px;
  line-height: 1.65;
}

#ds-workbench-v19 .dw-ai-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

#ds-workbench-v19 .dw-ai-input-row input {
  height: 40px;
  padding: 0 11px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 8px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
}

#ds-workbench-v19 .dw-timeline {
  display: grid;
}

#ds-workbench-v19 .dw-event {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  padding-bottom: 15px;
}

#ds-workbench-v19 .dw-event:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 25px;
  bottom: 2px;
  width: 1px;
  background: light-dark(#dfe3e8, #3a424c);
}

#ds-workbench-v19 .dw-event-mark {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  color: light-dark(#2b5cc8, #c6d4ff);
  background: light-dark(#e8eefc, #2a3a5d);
  font-size: 11px;
}

#ds-workbench-v19 .dw-event-copy {
  padding-top: 3px;
  color: light-dark(#4e5865, #c3cad4);
  font-size: 12px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-event-meta {
  margin-top: 3px;
  color: light-dark(#9097a1, #7e8995);
  font-size: 11px;
}

#ds-workbench-v19 .dw-toast {
  position: absolute;
  z-index: 20;
  left: 50%;
  bottom: 22px;
  display: none;
  transform: translateX(-50%);
  padding: 10px 14px;
  border: 1px solid light-dark(#c8ddcf, #41654c);
  border-radius: 9px;
  color: light-dark(#2d6741, #b8dfc4);
  background: light-dark(#f1faf4, #253d2e);
  box-shadow: 0 10px 28px light-dark(rgba(22, 35, 27, .14), rgba(0, 0, 0, .28));
  font-size: 13px;
}

#ds-workbench-v19 .dw-toast.dw-show {
  display: block;
}

@media (max-width: 560px) {
  #ds-workbench-v19 .dw-shell {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-sidebar {
    gap: 10px;
    padding: 12px;
    border-right: 0;
    border-bottom: 1px solid light-dark(#e2e5ea, #2d323a);
  }

  #ds-workbench-v19 .dw-brand,
  #ds-workbench-v19 .dw-recent-projects,
  #ds-workbench-v19 .dw-user {
    display: none;
  }

  #ds-workbench-v19 .dw-nav {
    display: flex;
    flex-wrap: wrap;
  }

  #ds-workbench-v19 .dw-nav button {
    justify-content: center;
    flex: 1 1 30%;
    width: auto;
    padding: 8px 5px;
    font-size: 12px;
  }

  #ds-workbench-v19 .dw-nav-symbol {
    display: none;
  }

  #ds-workbench-v19 .dw-topbar {
    flex-wrap: wrap;
    padding: 12px 16px;
  }

  #ds-workbench-v19 .dw-search-wrap {
    order: 2;
    width: 100%;
  }

  #ds-workbench-v19 .dw-content {
    padding: 20px 16px;
  }

  #ds-workbench-v19 .dw-task {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-task-side {
    justify-items: start;
  }

  #ds-workbench-v19 .dw-two-fields,
  #ds-workbench-v19 .dw-plan-fields,
  #ds-workbench-v19 .dw-detail-grid {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-calendar-grid {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-calendar-day {
    min-height: 0;
  }

  #ds-workbench-v19 .dw-calendar-note {
    display: none;
  }

  #ds-workbench-v19 .dw-plan-step {
    grid-template-columns: minmax(0, 1fr) 82px 32px;
  }

  #ds-workbench-v19 .dw-plan-column-labels {
    grid-template-columns: minmax(0, 1fr) 82px 32px;
  }

  #ds-workbench-v19 .dw-value-summary,
  #ds-workbench-v19 .dw-project-card-grid,
  #ds-workbench-v19 .dw-quarter-strip {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-project-hero,
  #ds-workbench-v19 .dw-project-workspace {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-project-hero-actions {
    display: flex;
    flex-wrap: wrap;
  }

  #ds-workbench-v19 .dw-project-stage-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ds-workbench-v19 .dw-project-stage:nth-child(2) {
    border-right: 0;
  }

  #ds-workbench-v19 .dw-project-stage:nth-child(-n+2) {
    border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
  }

  #ds-workbench-v19 .dw-project-task-row {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-project-task-actions {
    padding-left: 26px;
  }
}

#ds-workbench-v19 .dw-project-workspace {
  grid-template-columns: minmax(0, 1.45fr) minmax(310px, .95fr);
  gap: 20px;
}

#ds-workbench-v19 .dw-project-main-column {
  min-width: 0;
}

#ds-workbench-v19 .dw-project-task-stack {
  display: grid;
  gap: 9px;
  margin-bottom: 22px;
}

#ds-workbench-v19 .dw-project-task-stack .dw-project-task-row {
  padding: 12px 14px;
  border: 1px solid light-dark(#dfe4ea, #343b45);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
}

#ds-workbench-v19 .dw-node-list {
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-node-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 11px 2px;
  color: inherit;
  background: transparent;
  text-align: left;
  border-bottom: 1px solid light-dark(#e9edf1, #2f3741);
}

#ds-workbench-v19 button.dw-node-row:hover {
  background: light-dark(#f5f7fa, #222830);
}

#ds-workbench-v19 .dw-node-row-end {
  display: flex;
  align-items: center;
  gap: 7px;
}

#ds-workbench-v19 .dw-node-row strong {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-node-people {
  color: light-dark(#7d8792, #929ca8);
  font-size: 11px;
}

#ds-workbench-v19 .dw-node-state {
  min-width: 58px;
  padding: 5px 8px;
  border-radius: 999px;
  color: light-dark(#646e7a, #c2c9d2);
  background: light-dark(#edf0f3, #333a43);
  text-align: center;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-node-state.dw-node-current {
  color: light-dark(#24633e, #a8e0bc);
  background: light-dark(#e5f5eb, #294637);
}

#ds-workbench-v19 .dw-node-state.dw-node-todo {
  color: light-dark(#8f5e16, #f0c987);
  background: light-dark(#fff1dc, #493a26);
}

#ds-workbench-v19 .dw-collab-shell {
  min-width: 0;
  padding-left: 18px;
  border-left: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-collab-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-collab-title h3 {
  margin: 0;
  font-weight: 500;
}

#ds-workbench-v19 .dw-collab-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 12px;
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-collab-tab {
  padding: 9px 3px;
  border: 0;
  border-bottom: 2px solid transparent;
  color: light-dark(#737d89, #99a4b0);
  background: transparent;
}

#ds-workbench-v19 .dw-collab-tab.dw-active {
  color: light-dark(#245fcb, #b6c9ff);
  border-bottom-color: light-dark(#2867e8, #78a3ff);
}

#ds-workbench-v19 .dw-collab-panel[hidden],
#ds-workbench-v19 .dw-supplier-matrix[hidden],
#ds-workbench-v19 .dw-supplier-files[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-collab-table-wrap {
  width: 100%;
  overflow-x: auto;
}

#ds-workbench-v19 .dw-collab-table {
  width: 100%;
  border-collapse: collapse;
}

#ds-workbench-v19 .dw-collab-table th,
#ds-workbench-v19 .dw-collab-table td {
  padding: 8px 6px;
  border-bottom: 1px solid light-dark(#e8ecf0, #303842);
  vertical-align: middle;
  text-align: left;
}

#ds-workbench-v19 .dw-collab-table th {
  color: light-dark(#7b8590, #929da9);
  font-weight: 400;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-matrix-check {
  color: light-dark(#2467d7, #b1c7ff);
  text-align: center;
}

#ds-workbench-v19 .dw-supplier-version-button {
  padding: 5px 8px;
  border: 1px solid light-dark(#cdd8eb, #42516b);
  border-radius: 7px;
  color: light-dark(#245fcb, #b6c9ff);
  background: light-dark(#ffffff, #222a34);
  white-space: nowrap;
}

#ds-workbench-v19 .dw-supplier-file-current {
  margin: 12px 0;
  padding: 11px;
  border-radius: 9px;
  background: light-dark(#edf3ff, #283750);
}

#ds-workbench-v19 .dw-supplier-file-name {
  margin: 6px 0;
  overflow-wrap: anywhere;
  font-weight: 500;
}

#ds-workbench-v19 .dw-supplier-history {
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-supplier-history-row {
  padding: 9px 0;
  border-bottom: 1px solid light-dark(#e9edf1, #2f3741);
  color: light-dark(#626d79, #a6b0bb);
}

@media (max-width: 820px) {
  #ds-workbench-v19 .dw-project-workspace {
    grid-template-columns: 1fr;
  }

  #ds-workbench-v19 .dw-collab-shell {
    padding-top: 18px;
    padding-left: 0;
    border-top: 1px solid light-dark(#dfe4ea, #343b45);
    border-left: 0;
  }
}

/* 项目页：电脑宽屏三列工作台。外框固定为一屏，内容只在各自栏目内滚动。 */
#ds-workbench-v19 .dw-shell.dw-project-mode {
  grid-template-columns: 176px minmax(0, 43fr) minmax(0, 39fr);
  height: clamp(650px, 52vw, 800px);
  min-height: 0;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-sidebar,
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main,
#ds-workbench-v19 .dw-project-collab-column {
  min-height: 0;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
  display: grid;
  grid-template-rows: 66px minmax(0, 1fr);
  overflow: hidden;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-topbar {
  min-width: 0;
  padding: 0 20px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-search-wrap {
  width: 100%;
}

#ds-workbench-v19 .dw-shell.dw-project-mode #dw-new-task,
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-top-spacer {
  display: none;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-content {
  min-height: 0;
  overflow-y: auto;
  padding: 16px 18px 22px;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-back {
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-hero {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 14px;
  padding-bottom: 14px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-hero-cover {
  height: 76px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-hero-copy h2 {
  margin-bottom: 5px;
  font-size: 18px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-hero-copy p {
  margin-bottom: 6px;
  line-height: 1.45;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-column-title {
  margin-bottom: 8px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-task-stack {
  gap: 7px;
  margin-bottom: 16px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-task-stack .dw-project-task-row {
  padding: 9px 11px;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-node-row {
  padding: 8px 2px;
}

#ds-workbench-v19 .dw-project-collab-column {
  display: grid;
  grid-template-rows: 66px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
  border-left: 1px solid light-dark(#e2e5ea, #2d323a);
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-project-collab-column[hidden] {
  display: none !important;
}

#ds-workbench-v19 .dw-project-collab-head {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 20px;
  border-bottom: 1px solid light-dark(#e8ebef, #2b3038);
}

#ds-workbench-v19 .dw-project-collab-body {
  min-height: 0;
  overflow-y: auto;
  padding: 18px 20px 24px;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-project-collab-column.dw-collab-shell {
  padding-left: 0;
  border-left: 1px solid light-dark(#e2e5ea, #2d323a);
}

#ds-workbench-v19 .dw-project-collab-column .dw-collab-title h3 {
  font-size: 16px;
}

#ds-workbench-v19 .dw-project-collab-column .dw-collab-table {
  font-size: 12px;
}

#ds-workbench-v19 .dw-project-collab-column .dw-collab-table th,
#ds-workbench-v19 .dw-project-collab-column .dw-collab-table td {
  padding: 9px 7px;
}

@media (max-width: 700px) {
  #ds-workbench-v19 .dw-shell.dw-project-mode {
    grid-template-columns: 1fr;
    height: auto;
  }

  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-sidebar {
    grid-column: 1;
  }

  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-main,
  #ds-workbench-v19 .dw-project-collab-column {
    grid-column: 1;
  }

  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
    display: block;
    overflow: visible;
  }

  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-content,
  #ds-workbench-v19 .dw-project-collab-body {
    overflow: visible;
  }

  #ds-workbench-v19 .dw-project-collab-column {
    display: block;
    border-top: 1px solid light-dark(#e2e5ea, #2d323a);
  }

  #ds-workbench-v19 .dw-project-collab-head {
    min-height: 66px;
  }
}

#ds-workbench-v19 .dw-title-action {
  flex: 1;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
  grid-template-rows: minmax(0, 1fr);
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-content {
  overflow: hidden;
  padding: 0;
}

#ds-workbench-v19 .dw-shell.dw-project-mode #dw-project-detail-view.dw-active {
  height: 100%;
}

#ds-workbench-v19 .dw-project-collab-layout {
  display: grid;
  grid-template-rows: minmax(190px, 1fr) minmax(0, 2fr);
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-overview {
  min-height: 0;
  padding: 16px 18px 12px;
  overflow: hidden;
  border-bottom: 1px solid light-dark(#e2e6eb, #303741);
}

#ds-workbench-v19 .dw-project-overview .dw-project-back {
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero {
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 13px;
  margin: 0;
  padding: 0;
  border: 0;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover {
  height: 76px;
}

#ds-workbench-v19 .dw-overview-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
  margin-top: 10px;
  color: light-dark(#64707c, #a5afba);
  font-size: 11px;
}

#ds-workbench-v19 .dw-overview-facts strong {
  display: block;
  margin-bottom: 2px;
  color: light-dark(#313943, #dbe1e8);
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-accordion-region {
  min-height: 0;
  padding: 12px 16px 14px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-accordion-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-accordion-item {
  flex: 0 0 auto;
  min-height: 0;
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-accordion-item.dw-open {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  flex: 1 1 auto;
}

#ds-workbench-v19 .dw-accordion-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 42px;
  padding: 0 4px;
  border: 0;
  color: light-dark(#313943, #dde3ea);
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-accordion-toggle strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-accordion-toggle span {
  color: light-dark(#7f8994, #909ba7);
  font-size: 11px;
}

#ds-workbench-v19 .dw-accordion-body {
  min-height: 0;
  padding: 0 2px 12px;
  overflow-y: auto;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-design-section + .dw-design-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid light-dark(#e4e8ed, #303842);
}

#ds-workbench-v19 .dw-design-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

#ds-workbench-v19 .dw-design-section-head h4 {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-design-output-table td:first-child {
  white-space: nowrap;
}

#ds-workbench-v19 .dw-design-output-table {
  min-width: 720px;
  font-size: 11px;
}

#ds-workbench-v19 .dw-output-file {
  display: block;
  margin-bottom: 2px;
  color: light-dark(#35404b, #d8dee6);
  font-weight: 500;
}

#ds-workbench-v19 .dw-output-meta {
  color: light-dark(#818b96, #8d98a4);
  font-size: 11px;
}

#ds-workbench-v19 .dw-output-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#ds-workbench-v19 .dw-output-actions button,
#ds-workbench-v19 .dw-standard-add,
#ds-workbench-v19 .dw-picker-option {
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid light-dark(#d7dee8, #3c4653);
  border-radius: 7px;
  color: light-dark(#365caa, #b9cbf7);
  background: light-dark(#ffffff, #222831);
}

#ds-workbench-v19 .dw-standard-list {
  display: grid;
  gap: 6px;
}

#ds-workbench-v19 .dw-standard-row {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid light-dark(#edf0f3, #2c333c);
}

#ds-workbench-v19 .dw-standard-row strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-standard-row p {
  margin: 2px 0 0;
  color: light-dark(#737e89, #96a0ab);
  font-size: 11px;
}

#ds-workbench-v19 .dw-standard-row > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

#ds-workbench-v19 .dw-source-pill {
  display: inline-flex;
  padding: 3px 7px;
  border-radius: 999px;
  color: light-dark(#5b6570, #c2c9d1);
  background: light-dark(#edf0f3, #323943);
  font-size: 11px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-standard-empty {
  color: light-dark(#9098a2, #838e9a);
}

#ds-workbench-v19 .dw-standard-picker {
  margin-top: 10px;
  padding: 10px;
  border-left: 3px solid light-dark(#2867e8, #78a3ff);
  background: light-dark(#f5f7fb, #202a3b);
}

#ds-workbench-v19 .dw-picker-head,
#ds-workbench-v19 .dw-picker-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

#ds-workbench-v19 .dw-picker-options {
  display: grid;
  gap: 6px;
}

#ds-workbench-v19 .dw-picker-option {
  display: block;
  width: 100%;
  padding: 8px 9px;
  text-align: left;
}

#ds-workbench-v19 .dw-picker-option small {
  display: block;
  margin-top: 3px;
  color: light-dark(#7d8792, #98a2ad);
}

#ds-workbench-v19 .dw-special-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
}

#ds-workbench-v19 .dw-special-form input {
  min-width: 0;
  height: 34px;
  padding: 0 9px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 7px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
}

#ds-workbench-v19 .dw-progress-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 14px;
  color: light-dark(#69737e, #9da7b2);
  font-size: 11px;
}

#ds-workbench-v19 .dw-progress-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#ds-workbench-v19 .dw-progress-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: light-dark(#e3e7eb, #3a424c);
}

#ds-workbench-v19 .dw-progress-dot.dw-complete,
#ds-workbench-v19 .dw-progress-row .dw-complete {
  color: light-dark(#2a6642, #b8dfc4);
  background: light-dark(#e5f4ea, #294537);
}

#ds-workbench-v19 .dw-progress-dot.dw-current,
#ds-workbench-v19 .dw-progress-row .dw-current {
  color: light-dark(#245fcb, #c4d3ff);
  background: light-dark(#e9effd, #293a5d);
}

#ds-workbench-v19 .dw-progress-dot.dw-next,
#ds-workbench-v19 .dw-progress-row .dw-next {
  color: light-dark(#8f5e16, #f0c987);
  background: light-dark(#fff1dc, #493a26);
}

#ds-workbench-v19 .dw-progress-matrix {
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-progress-head,
#ds-workbench-v19 .dw-progress-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.8fr) repeat(9, minmax(34px, .6fr));
  gap: 6px;
  align-items: center;
  width: 100%;
  padding: 11px 8px;
  border: 0;
  border-bottom: 1px solid light-dark(#e7ebef, #303842);
  color: inherit;
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-progress-head {
  color: light-dark(#7d8792, #909ba7);
  font-size: 11px;
}

#ds-workbench-v19 .dw-progress-head span,
#ds-workbench-v19 .dw-progress-row span {
  display: grid;
  place-items: center;
  min-height: 28px;
  border-radius: 7px;
}

#ds-workbench-v19 .dw-progress-row strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-progress-row:hover {
  background: light-dark(#f5f7fa, #20262d);
}

#ds-workbench-v19 .dw-progress-meta {
  padding: 6px 8px 12px;
  border-bottom: 1px solid light-dark(#e7ebef, #303842);
  color: light-dark(#7d8792, #909ba7);
  font-size: 11px;
}

@media (max-width: 700px) {
  #ds-workbench-v19 .dw-project-collab-layout {
    display: block;
  }

  #ds-workbench-v19 .dw-project-accordion-region {
    overflow: visible;
  }

  #ds-workbench-v19 .dw-accordion-stack {
    height: auto;
  }

  #ds-workbench-v19 .dw-accordion-item.dw-open {
    display: block;
  }

  #ds-workbench-v19 .dw-accordion-body {
    overflow: visible;
  }

  #ds-workbench-v19 .dw-progress-matrix {
    overflow-x: auto;
  }

  #ds-workbench-v19 .dw-progress-head,
  #ds-workbench-v19 .dw-progress-row {
    min-width: 720px;
  }
}

/* 全局控件遵循 Apple HIG 的一致尺寸、清晰层级和最小点击区域。 */
#ds-workbench-v19 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", sans-serif;
  font-size: 14px;
  letter-spacing: 0;
}

#ds-workbench-v19 button,
#ds-workbench-v19 input,
#ds-workbench-v19 select {
  min-height: 44px;
}

#ds-workbench-v19 button {
  flex-shrink: 0;
  border-radius: 10px;
  white-space: nowrap;
  transition: background-color .16s ease, border-color .16s ease, transform .08s ease;
}

#ds-workbench-v19 button:active {
  transform: scale(.98);
}

#ds-workbench-v19 .dw-primary,
#ds-workbench-v19 .dw-secondary,
#ds-workbench-v19 .dw-quiet,
#ds-workbench-v19 .dw-output-actions button,
#ds-workbench-v19 .dw-standard-add,
#ds-workbench-v19 .dw-picker-option,
#ds-workbench-v19 .dw-supplier-version-button {
  min-height: 44px;
  border-radius: 10px;
}

#ds-workbench-v19 .dw-close {
  width: 44px;
  height: 44px;
  min-height: 44px;
  border-radius: 10px;
}

#ds-workbench-v19 .dw-nav button {
  min-height: 44px;
  padding: 0 12px;
}

#ds-workbench-v19 .dw-logo,
#ds-workbench-v19 .dw-avatar {
  width: 40px;
  height: 40px;
  border-radius: 11px;
}

#ds-workbench-v19 .dw-project-collab-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 72px;
  padding: 12px;
}

#ds-workbench-v19 .dw-project-collab-column {
  grid-template-rows: 72px minmax(0, 1fr);
}

#ds-workbench-v19 .dw-project-collab-head > strong {
  min-width: 0;
  overflow: hidden;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 [data-project-new-task-top] {
  min-width: 116px;
  padding: 0 12px;
}

#ds-workbench-v19 .dw-project-column-title h3,
#ds-workbench-v19 .dw-work-accordion-toggle strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-work-accordion-stack {
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-work-accordion-item {
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-work-accordion-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 0 4px;
  border: 0;
  border-radius: 0;
  color: light-dark(#303842, #e2e7ed);
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-work-accordion-toggle strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-work-accordion-toggle span {
  color: light-dark(#737d88, #98a2ad);
  font-size: 12px;
}

#ds-workbench-v19 .dw-work-accordion-body {
  padding: 4px 0 16px;
}

#ds-workbench-v19 .dw-stage-source-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: light-dark(#eef0f3, #2a3038);
}

#ds-workbench-v19 .dw-stage-source-switch button {
  border: 0;
  color: light-dark(#59636f, #aab3bd);
  background: transparent;
}

#ds-workbench-v19 .dw-stage-source-switch button.dw-active {
  color: light-dark(#1d2229, #f1f4f7);
  background: light-dark(#ffffff, #3a424d);
  box-shadow: 0 1px 3px light-dark(rgba(24, 34, 49, .12), rgba(0, 0, 0, .24));
}

#ds-workbench-v19 .dw-stage-upload-note {
  margin: 0;
  color: light-dark(#6d7782, #9da7b2);
  font-size: 12px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-design-section-head > button {
  min-height: 44px;
}

/* 第十九版：锁定 1440×900 macOS 工作窗口，后续仅调整内部板块。 */
#ds-workbench-v19 {
  font-size: 13px;
  line-height: 1.38;
}

#ds-workbench-v19 .dw-desktop-stage {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: transparent;
}

#ds-workbench-v19 .dw-shell,
#ds-workbench-v19 .dw-shell.dw-project-mode {
  width: 1440px;
  height: 900px;
  min-height: 900px;
  transform-origin: left top;
}

#ds-workbench-v19 .dw-shell.dw-project-mode {
  grid-template-columns: 176px minmax(0, 43fr) minmax(0, 39fr);
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-sidebar,
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main,
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-column {
  grid-column: auto;
  min-height: 0;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-content {
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

#ds-workbench-v19 .dw-project-collab-column {
  display: grid;
  grid-template-rows: 56px minmax(0, 1fr);
  overflow: hidden;
  border-top: 0;
  border-left: 1px solid light-dark(#e2e5ea, #2d323a);
}

#ds-workbench-v19 .dw-project-collab-layout {
  display: grid;
  grid-template-rows: minmax(228px, 1fr) minmax(0, 2fr);
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-overview {
  padding: 16px 18px 12px;
  overflow: auto;
}

#ds-workbench-v19 .dw-project-accordion-region {
  min-height: 0;
  padding: 12px 16px 14px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-accordion-stack {
  height: 100%;
}

#ds-workbench-v19 .dw-project-collab-head {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 56px;
  padding: 10px 16px;
}

#ds-workbench-v19 .dw-project-collab-head > strong {
  font-size: 15px;
  line-height: 22px;
}

#ds-workbench-v19 .dw-project-collab-body {
  padding: 12px 16px 18px;
  overflow-y: auto;
}

#ds-workbench-v19 .dw-sidebar {
  gap: 20px;
  padding: 20px 16px 16px;
}

#ds-workbench-v19 .dw-brand,
#ds-workbench-v19 .dw-nav button,
#ds-workbench-v19 .dw-project-short,
#ds-workbench-v19 .dw-user {
  white-space: nowrap;
}

#ds-workbench-v19 .dw-logo {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

#ds-workbench-v19 .dw-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

#ds-workbench-v19 button,
#ds-workbench-v19 input,
#ds-workbench-v19 select {
  min-height: 28px;
}

#ds-workbench-v19 button {
  border-radius: 8px;
  font-size: 12px;
}

#ds-workbench-v19 .dw-primary,
#ds-workbench-v19 .dw-secondary,
#ds-workbench-v19 .dw-quiet,
#ds-workbench-v19 .dw-output-actions button,
#ds-workbench-v19 .dw-standard-add,
#ds-workbench-v19 .dw-picker-option,
#ds-workbench-v19 .dw-supplier-version-button,
#ds-workbench-v19 .dw-design-section-head > button {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 8px;
}

#ds-workbench-v19 .dw-primary {
  min-height: 32px;
  padding: 0 14px;
}

#ds-workbench-v19 [data-project-new-task-top] {
  min-width: 112px;
  min-height: 36px;
  padding: 0 14px;
  font-size: 13px;
}

#ds-workbench-v19 .dw-close {
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-radius: 7px;
}

#ds-workbench-v19 .dw-nav button {
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-copy h2 {
  margin-bottom: 4px;
  font-size: 20px;
  line-height: 26px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-copy p {
  font-size: 12px;
  line-height: 18px;
}

#ds-workbench-v19 .dw-project-hero-meta,
#ds-workbench-v19 .dw-overview-facts,
#ds-workbench-v19 .dw-help,
#ds-workbench-v19 .dw-output-meta {
  font-size: 11px;
  line-height: 16px;
}

#ds-workbench-v19 .dw-accordion-toggle {
  min-height: 40px;
  padding: 0 4px;
}

#ds-workbench-v19 .dw-accordion-toggle strong {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-accordion-toggle span {
  font-size: 11px;
  line-height: 16px;
}

#ds-workbench-v19 .dw-design-section-head h4 {
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-collab-table,
#ds-workbench-v19 .dw-project-collab-column .dw-collab-table {
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-collab-table th,
#ds-workbench-v19 .dw-project-collab-column .dw-collab-table th {
  padding: 7px 8px;
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-collab-table td,
#ds-workbench-v19 .dw-project-collab-column .dw-collab-table td {
  padding: 8px;
  vertical-align: top;
}

#ds-workbench-v19 .dw-collab-table td strong {
  font-weight: 500;
}

#ds-workbench-v19 .dw-output-file {
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-work-accordion-toggle {
  min-height: 40px;
  padding: 0 4px;
}

#ds-workbench-v19 .dw-work-accordion-toggle strong {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-work-accordion-toggle span {
  font-size: 11px;
  line-height: 16px;
}

#ds-workbench-v19 .dw-project-task-title strong,
#ds-workbench-v19 .dw-node-row strong {
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-project-task-row p {
  font-size: 12px;
  line-height: 18px;
}

#ds-workbench-v19 .dw-node-people,
#ds-workbench-v19 .dw-node-state {
  font-size: 11px;
  line-height: 16px;
}

#ds-workbench-v19 .dw-special-form input {
  height: 28px;
}

#ds-workbench-v19 .dw-design-output-table {
  min-width: 720px;
  font-size: 12px;
}

/* macOS disclosure-row：整行可点击、前置符号、尾部状态与展开箭头。 */
#ds-workbench-v19 .dw-accordion-stack,
#ds-workbench-v19 .dw-work-accordion-stack {
  gap: 8px;
  border-top: 0;
}

#ds-workbench-v19 .dw-accordion-item,
#ds-workbench-v19 .dw-work-accordion-item {
  overflow: hidden;
  border: 1px solid light-dark(#dfe4ea, #343b45);
  border-radius: 10px;
  background: light-dark(#f7f8fa, #20262d);
  transition: border-color .16s ease, box-shadow .16s ease;
}

#ds-workbench-v19 .dw-accordion-item.dw-open,
#ds-workbench-v19 .dw-work-accordion-item.dw-open {
  border-color: light-dark(#b7c9ed, #526a93);
  background: light-dark(#ffffff, #1d232a);
  box-shadow: 0 2px 8px light-dark(rgba(36, 65, 112, .08), rgba(0, 0, 0, .18));
}

#ds-workbench-v19 .dw-accordion-toggle,
#ds-workbench-v19 .dw-work-accordion-toggle {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 14px;
  gap: 9px;
  align-items: center;
  min-height: 46px;
  padding: 7px 10px;
  border: 0;
  border-radius: 0;
  color: light-dark(#303842, #e2e7ed);
  background: light-dark(#f7f8fa, #20262d);
  text-align: left;
}

#ds-workbench-v19 .dw-accordion-toggle:hover,
#ds-workbench-v19 .dw-work-accordion-toggle:hover {
  background: light-dark(#f0f2f5, #272e37);
}

#ds-workbench-v19 .dw-accordion-toggle[aria-expanded="true"],
#ds-workbench-v19 .dw-work-accordion-toggle[aria-expanded="true"] {
  color: #ffffff;
  background: #2f80ed;
  box-shadow: inset 0 -1px rgba(255,255,255,.18);
}

#ds-workbench-v19 .dw-accordion-toggle[aria-expanded="true"]:hover,
#ds-workbench-v19 .dw-work-accordion-toggle[aria-expanded="true"]:hover {
  background: #2f80ed;
}

#ds-workbench-v19 .dw-disclosure-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  color: light-dark(#566373, #b3bdc9);
  background: light-dark(#e8ebef, #303741);
  font-size: 12px;
  font-weight: 600;
}

#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-icon {
  color: #2f80ed;
  background: #ffffff;
}

#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-meta,
#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-chevron {
  color: rgba(255,255,255,.86);
}

#ds-workbench-v19 .dw-disclosure-copy {
  display: block;
  min-width: 0;
}

#ds-workbench-v19 .dw-disclosure-copy strong {
  display: block;
  overflow: hidden;
  color: inherit;
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-disclosure-summary {
  display: block;
  overflow: hidden;
  color: light-dark(#7b8591, #919ca8);
  font-size: 10px;
  line-height: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-disclosure-meta {
  color: light-dark(#68727e, #a4aebb);
  font-size: 10px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-disclosure-chevron {
  color: light-dark(#7b8590, #929ca7);
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .16s ease;
}

#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-chevron {
  transform: rotate(90deg);
}

#ds-workbench-v19 .dw-accordion-body {
  padding: 10px 10px 12px;
}

#ds-workbench-v19 .dw-work-accordion-body {
  padding: 10px 10px 12px;
}

#ds-workbench-v19 .dw-project-task-filters {
  display: inline-flex;
  gap: 3px;
  margin-bottom: 10px;
  padding: 3px;
  border-radius: 8px;
  background: light-dark(#eceff3, #2a3038);
}

#ds-workbench-v19 .dw-project-task-filter {
  min-height: 26px;
  padding: 0 9px;
  border: 0;
  border-radius: 6px;
  color: light-dark(#65707c, #a6b0bc);
  background: transparent;
  font-size: 11px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-task-filter.dw-active {
  color: light-dark(#1f2a38, #f0f3f7);
  background: light-dark(#ffffff, #3a424d);
  box-shadow: 0 1px 3px light-dark(rgba(24, 34, 49, .12), rgba(0, 0, 0, .22));
}

#ds-workbench-v19 .dw-project-task-filter small {
  margin-left: 3px;
  color: light-dark(#8b949f, #8994a0);
  font-size: 9px;
}

#ds-workbench-v19 .dw-project-filter-note {
  margin: 0 0 8px;
  color: light-dark(#7b8591, #929ca8);
  font-size: 10px;
  line-height: 14px;
}

/* 第十九版：周日历成为工时入口，仍保持 1440×900 总画布。 */
#ds-workbench-v19 .dw-calendar-day {
  display: flex;
  flex-direction: column;
  min-height: 218px;
}

#ds-workbench-v19 .dw-calendar-cards {
  display: grid;
  gap: 4px;
  align-content: start;
  flex: 1;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
}

#ds-workbench-v19 .dw-calendar-task {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 4px 8px;
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  background: light-dark(#2867e8, #78a3ff);
}

#ds-workbench-v19 .dw-calendar-task:hover {
  filter: brightness(1.06);
}

#ds-workbench-v19 .dw-calendar-task-copy {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-calendar-task-name {
  flex: 1;
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-calendar-task-hours {
  flex-shrink: 0;
  font-size: 11px;
  opacity: 0.8;
}

#ds-workbench-v19 .dw-calendar-add {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 34px;
  margin-bottom: 7px;
  border: 1px dashed light-dark(#cbd2dc, #4a5562);
  border-radius: 7px;
  color: light-dark(#687482, #a7b1bd);
  background: transparent;
  font-size: 18px;
}

#ds-workbench-v19 .dw-calendar-add:hover {
  border-color: light-dark(#8facdf, #6886bd);
  color: light-dark(#2867e8, #91b2ff);
  background: light-dark(#f5f8ff, #243149);
}

#ds-workbench-v19 .dw-calendar-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#ds-workbench-v19 .dw-calendar-choice {
  display: grid;
  gap: 5px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid light-dark(#dce2ea, #3a434e);
  border-radius: 10px;
  color: light-dark(#2e3742, #e4e9ef);
  background: light-dark(#f7f8fa, #252c34);
  text-align: left;
}

#ds-workbench-v19 .dw-calendar-choice:hover {
  border-color: light-dark(#9db7ea, #5c77a8);
  background: light-dark(#eef4ff, #273650);
}

#ds-workbench-v19 .dw-calendar-choice strong {
  font-size: 14px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-calendar-choice span {
  color: light-dark(#747e8a, #98a3af);
  font-size: 11px;
  line-height: 16px;
}

#ds-workbench-v19 .dw-existing-task-list {
  display: grid;
  gap: 7px;
  max-height: 360px;
  overflow-y: auto;
}

#ds-workbench-v19 .dw-existing-task-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid light-dark(#e0e5eb, #353e49);
  border-radius: 8px;
  color: light-dark(#343d48, #dce2e9);
  background: light-dark(#ffffff, #222831);
  text-align: left;
}

#ds-workbench-v19 .dw-existing-task-option small {
  overflow: hidden;
  color: light-dark(#7d8793, #929ca8);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-inline-worklog-option {
  display: grid;
  gap: 10px;
  padding: 11px;
  border-radius: 9px;
  background: light-dark(#f4f6f9, #232a33);
}

#ds-workbench-v19 .dw-inline-worklog-option[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-inline-worklog-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: light-dark(#4b5663, #c6ced8);
  font-size: 12px;
}

#ds-workbench-v19 .dw-inline-worklog-toggle input {
  width: 16px;
  height: 16px;
  min-height: 16px;
}

#ds-workbench-v19 .dw-inline-worklog-toggle[hidden] {
  display: none;
}

#ds-workbench-v19 .dw-standard-row-wrap {
  border-bottom: 1px solid light-dark(#edf0f3, #2c333c);
}

#ds-workbench-v19 .dw-standard-row-wrap .dw-standard-row {
  border-bottom: 0;
}

#ds-workbench-v19 .dw-standard-row-wrap .dw-standard-picker {
  margin: 0 0 10px 88px;
}

#ds-workbench-v19 .dw-supplier-toolbar,
#ds-workbench-v19 .dw-material-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

#ds-workbench-v19 .dw-editable-material-table {
  min-width: 1020px;
}

#ds-workbench-v19 .dw-editable-material-table input,
#ds-workbench-v19 .dw-editable-material-table select {
  width: 100%;
  min-width: 84px;
  height: 28px;
  padding: 0 7px;
  border: 1px solid light-dark(#d9dfe7, #3d4652);
  border-radius: 6px;
  color: light-dark(#303943, #e0e5ec);
  background: light-dark(#ffffff, #20262d);
  font-size: 11px;
}

#ds-workbench-v19 .dw-material-texture {
  display: grid;
  grid-template-columns: 34px auto;
  gap: 6px;
  align-items: center;
  min-width: 92px;
}

#ds-workbench-v19 .dw-material-thumb {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  overflow: hidden;
  border-radius: 6px;
  color: light-dark(#7c8793, #9ba5b0);
  background: linear-gradient(135deg, light-dark(#d7c5ad, #594b3e), light-dark(#f1ebe4, #332e29));
  font-size: 9px;
}

#ds-workbench-v19 .dw-material-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#ds-workbench-v19 .dw-file-mini {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 7px;
  overflow: hidden;
  border: 1px solid light-dark(#d7dee8, #3c4653);
  border-radius: 6px;
  color: light-dark(#365caa, #b9cbf7);
  background: light-dark(#ffffff, #222831);
  font-size: 10px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-file-mini input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

#ds-workbench-v19 .dw-material-status-cell {
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto;
  gap: 6px;
  min-width: 190px;
}

/* 第十九版：锁定 1440×900 画布，只在内部补齐弹窗、节点和双视图交互。 */
#ds-workbench-v19 .dw-task-view-switch {
  display: inline-flex;
  gap: 3px;
  margin-left: 0;
  padding: 3px;
  border-radius: 10px;
  background: light-dark(#eef1f5, #2a3038);
}

#ds-workbench-v19 .dw-task-view-switch button {
  min-height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  color: light-dark(#68727e, #9ca6b2);
  background: transparent;
}

#ds-workbench-v19 .dw-task-view-switch button.dw-active {
  color: light-dark(#1f2731, #f2f5f8);
  background: light-dark(#ffffff, #3a424c);
  box-shadow: 0 1px 4px light-dark(rgba(30, 40, 55, .12), rgba(0, 0, 0, .3));
}

#ds-workbench-v19 .dw-task-page-title-row {
  align-items: center;
  gap: 10px;
}

#ds-workbench-v19 .dw-task-page-title-row .dw-title-note {
  margin-left: 4px;
  padding-bottom: 0;
}

#ds-workbench-v19 .dw-task-page-title-row #dw-new-task {
  margin-left: auto;
}

#ds-workbench-v19 .dw-task-table-wrap {
  overflow: hidden;
  border: 1px solid light-dark(#e0e5eb, #343c46);
  border-radius: 12px;
  background: light-dark(#ffffff, #20262d);
}

#ds-workbench-v19 .dw-task-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 12px;
}

#ds-workbench-v19 .dw-task-table th {
  height: 44px;
  padding: 0 10px;
  border-bottom: 1px solid light-dark(#e2e6eb, #343b45);
  color: light-dark(#737d89, #9da7b3);
  background: light-dark(#fafbfc, #242b33);
  text-align: left;
  font-weight: 500;
}

#ds-workbench-v19 .dw-task-table td {
  height: 52px;
  padding: 7px 10px;
  overflow: hidden;
  border-bottom: 1px solid light-dark(#edf0f3, #2e353e);
  color: light-dark(#3b4551, #d6dce4);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-task-table tbody tr[data-task-id] {
  cursor: pointer;
}

#ds-workbench-v19 .dw-task-table tbody tr[data-task-id]:hover td {
  background: light-dark(#f6f8fb, #252d36);
}

#ds-workbench-v19 .dw-table-group-row td {
  height: 42px;
  color: light-dark(#323b46, #e0e5eb);
  background: light-dark(#f7f8fa, #242a32);
  font-weight: 500;
}

#ds-workbench-v19 .dw-table-title {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

#ds-workbench-v19 .dw-table-title strong,
#ds-workbench-v19 .dw-table-progress {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-table-due.dw-overdue {
  color: light-dark(#d94a3b, #ff8a7d);
}

#ds-workbench-v19 .dw-table-detail {
  min-height: 32px;
  padding: 0 10px;
}

#ds-workbench-v19 .dw-table-person {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#ds-workbench-v19 .dw-table-person::before {
  content: "吴";
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: light-dark(#40504c, #dbe5e2);
  background: light-dark(#dbe8e4, #354740);
  font-size: 10px;
}

#ds-workbench-v19 .dw-task-detail-overlay {
  z-index: 24;
}

#ds-workbench-v19 .dw-task-detail-modal {
  display: flex;
  flex-direction: column;
  width: min(720px, 100%);
  max-height: min(770px, 100%);
  overflow: hidden;
  border: 1px solid light-dark(#dce1e7, #3a424d);
  border-radius: 16px;
  background: light-dark(#ffffff, #1f252c);
  box-shadow: 0 26px 75px light-dark(rgba(20, 29, 43, .27), rgba(0, 0, 0, .58));
}

#ds-workbench-v19 .dw-task-detail-modal .dw-drawer-head {
  position: sticky;
  flex: 0 0 auto;
  z-index: 2;
  top: 0;
  background: light-dark(rgba(255, 255, 255, .97), rgba(31, 37, 44, .97));
  backdrop-filter: blur(14px);
}

#ds-workbench-v19 #dw-drawer-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}

#ds-workbench-v19 .dw-task-detail-modal .dw-drawer-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

#ds-workbench-v19 .dw-task-detail-modal .dw-drawer-body > section:last-child {
  flex: 0 0 auto;
}

#ds-workbench-v19 .dw-task-detail-modal .dw-worklog-timeline {
  overflow: visible;
}

#ds-workbench-v19 .dw-task-detail-close {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  min-height: 48px;
  margin: -8px -8px -8px auto;
  padding: 0;
  border: 0;
  background: transparent;
}

#ds-workbench-v19 .dw-red-close-dot {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: light-dark(#7f1712, #55100c);
  background: light-dark(#ff6b61, #ff776f);
  font-size: 15px;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px light-dark(#f15a50, #ff8d86);
}

#ds-workbench-v19 .dw-node-detail-modal {
  width: min(660px, 100%);
}

#ds-workbench-v19 .dw-node-task-list {
  display: grid;
  gap: 8px;
}

#ds-workbench-v19 .dw-node-task-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 72px;
  padding: 11px 13px;
  border: 1px solid light-dark(#dde3ea, #38414b);
  border-radius: 10px;
  color: inherit;
  background: light-dark(#ffffff, #232a32);
  text-align: left;
}

#ds-workbench-v19 .dw-node-task-card strong {
  display: block;
  margin-bottom: 5px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-node-task-card p {
  margin: 0;
  overflow: hidden;
  color: light-dark(#77818d, #96a1ad);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-progress-head,
#ds-workbench-v19 .dw-progress-row {
  grid-template-columns: minmax(150px, 1.5fr) repeat(9, minmax(58px, .7fr));
  gap: 5px;
}

#ds-workbench-v19 .dw-progress-head span {
  display: grid;
  min-height: 64px;
  align-content: center;
  gap: 2px;
  padding: 4px 2px;
  text-align: center;
}

#ds-workbench-v19 .dw-progress-head span b {
  color: light-dark(#39434f, #dbe1e8);
  font-size: 13px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-progress-head span small {
  color: light-dark(#7c8692, #929daa);
  font-size: 9px;
  line-height: 1.2;
  white-space: normal;
}

#ds-workbench-v19 .dw-progress-node-cell {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 44px;
  padding: 0 3px;
  border: 0;
  border-radius: 8px;
  color: light-dark(#727d88, #99a4af);
  background: light-dark(#f0f3f6, #303740);
  font-size: 12px;
}

#ds-workbench-v19 .dw-progress-node-cell.dw-complete {
  color: light-dark(#2a6642, #b8dfc4);
  background: light-dark(#e5f4ea, #294537);
}

#ds-workbench-v19 .dw-progress-node-cell.dw-current {
  color: light-dark(#245fcb, #c4d3ff);
  background: light-dark(#e9effd, #293a5d);
}

#ds-workbench-v19 .dw-progress-node-cell.dw-next {
  color: light-dark(#8f5e16, #f0c987);
  background: light-dark(#fff1dc, #493a26);
}

#ds-workbench-v19 .dw-progress-node-cell:hover {
  outline: 2px solid light-dark(rgba(40, 103, 232, .23), rgba(120, 163, 255, .36));
  outline-offset: 1px;
}

/* 第十九版：全站弹窗统一使用 48px 触控区的红点关闭按钮。 */
#ds-workbench-v19 .dw-modal-head .dw-close {
  width: 48px;
  height: 48px;
  min-height: 48px;
  margin: -8px -8px -8px auto;
  border-radius: 50%;
  color: light-dark(#7f1712, #55100c);
  background: radial-gradient(circle at center, light-dark(#ff6b61, #ff776f) 0 14px, transparent 14.5px);
  font-size: 15px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-modal-head .dw-close:hover {
  background: radial-gradient(circle at center, light-dark(#ff5b50, #ff6b61) 0 14px, transparent 14.5px);
}

#ds-workbench-v19 .dw-existing-task-search {
  position: relative;
}

#ds-workbench-v19 .dw-existing-task-search span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 13px;
  color: light-dark(#7d8792, #929daa);
  transform: translateY(-50%);
  pointer-events: none;
}

#ds-workbench-v19 .dw-existing-task-search input {
  width: 100%;
  height: 44px;
  padding: 0 12px 0 38px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 10px;
  color: light-dark(#20252c, #eef1f5);
  background: light-dark(#ffffff, #191e24);
}

/* 第十九版：项目概况保留在中栏上方；只交换下方任务节点与右栏协同信息。 */
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
  grid-column: 2;
  grid-row: 1;
  border-left: 0;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-column {
  grid-column: 3;
  grid-row: 1;
  border-left: 1px solid light-dark(#e2e5ea, #2d323a);
}

/* v0.7：项目概览按内容占高，避免展开节点栏时把节点矩阵推到可视区底部。 */
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-layout {
  grid-template-rows: auto minmax(0, 1fr);
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-overview {
  max-height: 286px;
  overflow-y: auto;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-project-inline-work {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-inline-work-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border-bottom: 1px solid light-dark(#e3e6eb, #303741);
}

#ds-workbench-v19 .dw-project-inline-work-head strong {
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-inline-work-head .dw-primary {
  margin-left: auto;
}

#ds-workbench-v19 .dw-project-inline-work-body {
  min-height: 0;
  padding: 10px 16px 14px;
  overflow-y: auto;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-project-inline-work .dw-work-accordion-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* 第十九版：节点列表只用底色和细分割线，不使用卡片外框。 */
#ds-workbench-v19 button.dw-node-row {
  border: 0;
  border-bottom: 1px solid light-dark(#e8ebef, #30363e);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

#ds-workbench-v19 button.dw-node-row:hover {
  background: light-dark(#f5f7f9, #222830);
}

/* 勾选表达项目完成；底色只表达本人是否参与。 */
#ds-workbench-v19 .dw-progress-key {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 5px;
  color: light-dark(#6d7782, #aab3be);
  background: light-dark(#eef1f4, #303740);
  font-style: normal;
  font-size: 11px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-progress-key.dw-key-complete {
  color: light-dark(#287547, #9fdbb2);
}

#ds-workbench-v19 .dw-progress-key.dw-key-personal,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node.dw-complete {
  color: light-dark(#1d5fc9, #c9d7ff);
  background: light-dark(#e5edff, #293b62);
}

#ds-workbench-v19 .dw-progress-key.dw-key-default,
#ds-workbench-v19 .dw-progress-node-cell,
#ds-workbench-v19 .dw-progress-node-cell.dw-complete {
  background: light-dark(#eef1f4, #303740);
}

#ds-workbench-v19 .dw-progress-node-cell.dw-complete {
  color: light-dark(#287547, #9fdbb2);
}

#ds-workbench-v19 .dw-node-collaborator-block {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid light-dark(#e3e7eb, #343c46);
}

#ds-workbench-v19 .dw-node-collaborator-block span {
  color: light-dark(#7a8590, #9ba6b2);
  font-size: 11px;
}

#ds-workbench-v19 .dw-node-collaborator-block strong,
#ds-workbench-v19 .dw-node-own-task-heading {
  font-weight: 500;
}

#ds-workbench-v19 .dw-node-own-task-heading {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid light-dark(#e3e7eb, #343c46);
}

@media (max-width: 700px) {
  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-main,
  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-column {
    grid-column: 1;
    grid-row: auto;
  }

  #ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
    border-left: 0;
  }
}



/* Trae v0.4：仅保留用户明确要求的最小改动 */
#ds-workbench-v19 .dw-recent-projects button.dw-project-short {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  text-align: left;
  transition: background .16s ease, color .16s ease;
}

#ds-workbench-v19 .dw-recent-projects button.dw-project-short:hover {
  color: light-dark(#1d2229, #f5f7fa);
  background: light-dark(#eef2f6, #242b34);
}

#ds-workbench-v19 .dw-calendar-mode-switch {
  display: inline-flex;
  margin-left: auto;
  overflow: hidden;
  border: 1px solid light-dark(#dce1e7, #3a424c);
  border-radius: 8px;
  background: light-dark(#ffffff, #222831);
}

#ds-workbench-v19 .dw-calendar-mode-switch button {
  min-height: 32px;
  padding: 0 13px;
  border: 0;
  color: light-dark(#5c6571, #aeb6c1);
  background: transparent;
}

#ds-workbench-v19 .dw-calendar-mode-switch button.dw-active {
  color: light-dark(#ffffff, #121824);
  background: light-dark(#2867e8, #78a3ff);
}

#ds-workbench-v19 .dw-month-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
  border-left: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-month-cell {
  display: flex;
  flex-direction: column;
  min-height: 92px;
  padding: 8px;
  border-right: 1px solid light-dark(#dfe4ea, #343b45);
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
  background: light-dark(#ffffff, #1d2229);
}

#ds-workbench-v19 .dw-month-cell .dw-calendar-cards {
  flex: 1;
}

#ds-workbench-v19 .dw-month-cell.dw-muted {
  color: light-dark(#a4acb5, #68727f);
  background: light-dark(#f8f9fb, #1a1f26);
}

#ds-workbench-v19 .dw-month-cell.dw-today {
  background: light-dark(#f7f9ff, #202a3c);
}

#ds-workbench-v19 .dw-month-date {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  color: light-dark(#4f5966, #c5ccd5);
  font-size: 12px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-month-date-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: 50%;
}

#ds-workbench-v19 .dw-month-date-num.dw-today-num {
  background: #ff3b30;
  color: #fff;
}

#ds-workbench-v19 .dw-project-cover,
#ds-workbench-v19 .dw-project-hero-cover {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

#ds-workbench-v19 .dw-project-card:nth-child(1) .dw-project-cover,
#ds-workbench-v19 .dw-project-hero-cover[data-project-cover="wuma"],
#ds-workbench-v19 .dw-project-thumb[data-project-cover="wuma"] {
  background-image: linear-gradient(135deg, rgba(70,61,48,.22), rgba(255,255,255,.08)), url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-project-card:nth-child(2) .dw-project-cover,
#ds-workbench-v19 .dw-project-hero-cover[data-project-cover="tianhe"],
#ds-workbench-v19 .dw-project-thumb[data-project-cover="tianhe"] {
  background-image: linear-gradient(135deg, rgba(46,65,61,.22), rgba(255,255,255,.08)), url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-project-card:nth-child(3) .dw-project-cover,
#ds-workbench-v19 .dw-project-hero-cover[data-project-cover="luofugong"],
#ds-workbench-v19 .dw-project-thumb[data-project-cover="luofugong"] {
  background-image: linear-gradient(135deg, rgba(65,53,41,.22), rgba(255,255,255,.08)), url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-cover-upload {
  position: absolute;
  right: 8px;
  bottom: 8px;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 7px;
  color: #fff;
  background: rgba(0,0,0,.42);
  font-size: 12px;
  backdrop-filter: blur(4px);
}

#ds-workbench-v19 .dw-cover-upload:hover {
  background: rgba(0,0,0,.58);
}



/* Trae v0.5：项目卡、成果文件与节点矩阵。任务看板视觉由末尾D包规则统一维护。 */
#ds-workbench-v19 .dw-status-tabs {
  display: none;
}

#ds-workbench-v19 .dw-project-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(174px, 188px));
  align-items: start;
}

#ds-workbench-v19 .dw-project-card {
  border-radius: 12px;
}

#ds-workbench-v19 .dw-project-cover {
  height: auto;
  aspect-ratio: 16 / 9;
}

#ds-workbench-v19 .dw-project-card-copy {
  padding: 10px 11px 11px;
}

#ds-workbench-v19 .dw-project-card-copy strong {
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-card-foot {
  display: none;
}

#ds-workbench-v19 .dw-stage-file-list {
  display: grid;
  gap: 10px;
}

#ds-workbench-v19 .dw-file-discipline {
  border: 1px solid light-dark(#e2e7ee, #343c46);
  border-radius: 12px;
  background: light-dark(#ffffff, #20262d);
  overflow: hidden;
}

#ds-workbench-v19 .dw-file-discipline summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  color: light-dark(#26303b, #e9eef5);
  font-weight: 600;
  list-style: none;
}

#ds-workbench-v19 .dw-file-discipline summary::-webkit-details-marker {
  display: none;
}

#ds-workbench-v19 .dw-file-count {
  color: light-dark(#8a929d, #87919d);
  font-size: 11px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-stage-task-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 14px;
  padding: 12px 14px;
  border-top: 1px solid light-dark(#edf0f4, #303842);
}

#ds-workbench-v19 .dw-stage-task-card strong {
  display: block;
  margin-bottom: 5px;
  color: light-dark(#26303b, #e9eef5);
  font-size: 13px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-stage-file-name {
  display: inline-flex;
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 6px;
  color: light-dark(#2b5fc7, #bdd0ff);
  background: light-dark(#eef3ff, #283856);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-stage-note {
  color: light-dark(#5f6975, #aab4c0);
  font-size: 12px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-stage-note span {
  display: block;
  margin-top: 5px;
  color: light-dark(#9aa2ad, #7e8996);
  font-size: 11px;
}

#ds-workbench-v19 .dw-node-matrix-wrap {
  overflow-x: auto;
}

#ds-workbench-v19 .dw-node-matrix {
  display: grid;
  grid-template-columns: 74px repeat(9, minmax(58px, 1fr));
  min-width: 680px;
  border-top: 1px solid light-dark(#dfe4ea, #343b45);
  border-left: 1px solid light-dark(#dfe4ea, #343b45);
  background: light-dark(#ffffff, #1d2229);
}

#ds-workbench-v19 .dw-node-matrix > div {
  min-height: 52px;
  padding: 7px;
  border-right: 1px solid light-dark(#dfe4ea, #343b45);
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-node-matrix-head,
#ds-workbench-v19 .dw-node-matrix-side {
  display: grid;
  place-items: center;
  color: light-dark(#56616d, #a8b2bf);
  background: light-dark(#f7f9fb, #20262d);
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

#ds-workbench-v19 .dw-node-matrix-cell {
  position: relative;
  display: grid;
  place-items: center;
}




/* Trae v0.6：视觉校正与可读性优化 */
#ds-workbench-v19 .dw-progress-head span {
  min-height: 48px;
  padding: 8px 6px;
}

#ds-workbench-v19 .dw-progress-head span b {
  font-size: 15px;
  line-height: 1;
}

#ds-workbench-v19 .dw-progress-head span small {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.25;
}

#ds-workbench-v19 .dw-progress-key.dw-key-personal,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node.dw-complete {
  border-color: light-dark(#d92d20, #ff8a80);
  color: light-dark(#b42318, #ffd3cf);
  background: light-dark(#fff1f0, #3a1f1d);
  box-shadow: inset 0 0 0 1px light-dark(rgba(217,45,32,.16), rgba(255,138,128,.18));
}

#ds-workbench-v19 .dw-project-card .dw-cover-upload {
  display: none;
}

#ds-workbench-v19 .dw-project-hero-cover .dw-cover-upload {
  display: inline-flex;
  right: 6px;
  bottom: 6px;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-stage-task-card {
  grid-template-columns: minmax(0, .9fr) minmax(220px, 1fr);
  align-items: start;
  padding: 14px;
}

#ds-workbench-v19 .dw-stage-file-name {
  display: inline-grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 260px;
  min-height: 46px;
  padding: 7px 9px 7px 7px;
  border: 1px solid light-dark(#f2b8b5, #7a2d2a);
  border-radius: 9px;
  color: light-dark(#7a271a, #ffd7d3);
  background: light-dark(#fff4f2, #331b1a);
  font-size: 12px;
  font-weight: 600;
  white-space: normal;
}

#ds-workbench-v19 .dw-stage-file-name::before {
  content: "PDF";
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  color: #ffffff;
  background: #d92d20;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
}

#ds-workbench-v19 .dw-stage-note {
  min-height: 74px;
  padding: 9px 10px;
  border: 1px solid light-dark(#e3e7ec, #3a424c);
  border-radius: 9px;
  color: light-dark(#3f4a56, #d6dee8);
  background: light-dark(#fbfcfd, #1c222a);
  font-size: 13px;
  line-height: 1.55;
}

#ds-workbench-v19 .dw-stage-note[contenteditable="true"] {
  cursor: text;
}

#ds-workbench-v19 .dw-stage-note[contenteditable="true"]:focus {
  border-color: light-dark(#2867e8, #78a3ff);
  outline: 3px solid light-dark(rgba(40, 103, 232, .12), rgba(120, 163, 255, .16));
}

#ds-workbench-v19 .dw-stage-note-hint {
  display: block;
  margin-top: 7px;
  color: light-dark(#8a929d, #87919d);
  font-size: 11px;
}

#ds-workbench-v19 .dw-node-matrix {
  grid-template-columns: 112px repeat(4, minmax(108px, 1fr)) 54px;
  min-width: 720px;
  overflow: hidden;
  border: 1px solid light-dark(#d9dee6, #343b45);
  border-right: 0;
  border-bottom: 0;
  border-radius: 12px;
  background: light-dark(#ffffff, #1d2229);
}

#ds-workbench-v19 .dw-node-matrix > div,
#ds-workbench-v19 .dw-node-matrix > button {
  min-height: 58px;
  padding: 8px;
  border: 0;
  border-right: 1px solid light-dark(#dfe4ea, #343b45);
  border-bottom: 1px solid light-dark(#dfe4ea, #343b45);
}

#ds-workbench-v19 .dw-node-matrix-head,
#ds-workbench-v19 .dw-node-matrix-side,
#ds-workbench-v19 .dw-node-matrix-action-head {
  display: grid;
  place-items: center;
  color: light-dark(#344054, #d7dee8);
  background: light-dark(#f7f9fb, #20262d);
  font-size: 13px;
  font-weight: 650;
  text-align: center;
}

#ds-workbench-v19 .dw-node-matrix-side {
  justify-items: start;
  gap: 2px;
  padding-left: 12px;
  font-size: 12px;
}

#ds-workbench-v19 .dw-node-matrix-side strong {
  font-size: 15px;
  line-height: 1;
}

#ds-workbench-v19 .dw-node-matrix-side span {
  color: light-dark(#7b8490, #909ba7);
  font-size: 11px;
  line-height: 1.2;
}

#ds-workbench-v19 .dw-node-cell-button {
  display: grid;
  place-items: center;
  background: transparent;
  text-align: center;
  transition: background .16s ease;
}

#ds-workbench-v19 .dw-node-cell-button:hover {
  background: light-dark(#f7faff, #222c3a);
}

#ds-workbench-v19 .dw-node-cell-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  min-height: 28px;
  border: 1px solid light-dark(#e3e7ec, #3a424c);
  border-radius: 8px;
  color: light-dark(#8a929d, #87919d);
  background: light-dark(#ffffff, #20262d);
  font-size: 12px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-node-cell-state.dw-done {
  border-color: light-dark(#cfd8e3, #4a5563);
  color: light-dark(#475467, #cdd5df);
  background: light-dark(#f2f4f7, #2a313a);
}

#ds-workbench-v19 .dw-node-cell-state.dw-active {
  border-color: light-dark(#d92d20, #ff8a80);
  color: light-dark(#b42318, #ffd3cf);
  background: light-dark(#fff1f0, #3a1f1d);
}

#ds-workbench-v19 .dw-node-cell-state.dw-empty {
  color: light-dark(#98a2b3, #788391);
  background: light-dark(#fbfcfd, #1b2027);
}

#ds-workbench-v19 .dw-node-row-new {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: auto;
  border: 0;
  border-radius: 9px;
  color: #ffffff;
  background: light-dark(#2867e8, #78a3ff);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

  

/* v0.8：节点矩阵改为纵轴专业、横轴 0-8 节点，并统一中栏视觉密度。 */
#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-layout {
  grid-template-rows: auto minmax(0, 1fr);
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-overview {
  max-height: 244px;
}

#ds-workbench-v19 .dw-project-inline-work-head {
  min-height: 48px;
  padding: 0 14px;
}

#ds-workbench-v19 .dw-project-inline-work-head strong {
  font-size: 14px;
  letter-spacing: .01em;
}

#ds-workbench-v19 .dw-project-inline-work-body {
  padding: 8px 12px 12px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-inline-work .dw-work-accordion-stack {
  gap: 6px;
}

#ds-workbench-v19 .dw-work-accordion-item.dw-open {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
}

#ds-workbench-v19 .dw-work-accordion-toggle {
  min-height: 42px;
  padding: 6px 9px;
}

#ds-workbench-v19 .dw-work-accordion-body {
  min-height: 0;
  padding: 8px 8px 10px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-node-matrix-wrap {
  width: 100%;
  height: 100%;
  max-height: 100%;
  overflow: auto;
  border: 1px solid light-dark(#d8dee7, #343b45);
  border-radius: 12px;
  background: light-dark(#ffffff, #1d2229);
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 {
  grid-template-columns: 78px repeat(9, minmax(52px, 1fr));
  min-width: 548px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 > div,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 > button {
  min-height: 58px;
  padding: 6px;
  border-right: 1px solid light-dark(#e6eaf0, #303842);
  border-bottom: 1px solid light-dark(#e6eaf0, #303842);
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  gap: 2px;
  min-height: 50px;
  background: light-dark(#f5f7fb, #202732);
  text-align: center;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner {
  left: 0;
  z-index: 4;
  color: light-dark(#344054, #d7dee8);
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-side {
  position: sticky;
  left: 0;
  z-index: 3;
  display: grid;
  place-items: center start;
  gap: 2px;
  min-height: 56px;
  padding-left: 10px;
  background: light-dark(#fafbfc, #20262d);
  text-align: left;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner strong,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-side strong {
  font-size: 13px;
  line-height: 16px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-head strong {
  font-size: 15px;
  line-height: 16px;
  font-weight: 700;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner span,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-head span,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-side span {
  max-width: 100%;
  overflow: hidden;
  color: light-dark(#7b8490, #909ba7);
  font-size: 9px;
  line-height: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-button {
  min-height: 56px;
  padding: 0;
  border-radius: 0;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-button:hover {
  background: light-dark(#f6f9ff, #222c3a);
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state {
  width: auto;
  min-width: 44px;
  min-height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 22px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state.dw-active {
  box-shadow: 0 0 0 2px light-dark(rgba(217,45,32,.08), rgba(255,138,128,.10));
}



/* v0.8 二次视觉校准：中栏获得更多宽度，矩阵在宽屏下尽量完整展示 0-8 节点。 */
#ds-workbench-v19 .dw-shell.dw-project-mode {
  grid-template-columns: 17% 46% 37%;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 {
  grid-template-columns: 70px repeat(9, minmax(46px, 1fr));
  min-width: 484px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 > div,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 > button {
  min-height: 54px;
  padding: 5px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-head {
  min-height: 48px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-side {
  min-height: 54px;
  padding-left: 9px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-button {
  min-height: 54px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state {
  min-width: 38px;
  min-height: 22px;
  padding: 0 6px;
  font-size: 9px;
  line-height: 20px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-head strong {
  font-size: 14px;
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-corner strong,
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-matrix-side strong {
  font-size: 12px;
}



/* v0.9：弹窗底部操作栏始终可见，长表单在弹窗内部滚动。 */
#ds-workbench-v19 .dw-modal {
  display: flex;
  flex-direction: column;
  max-height: 100%;
}

#ds-workbench-v19 .dw-modal > .dw-form {
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-modal-foot {
  flex-shrink: 0;
  background: light-dark(#ffffff, #20262d);
}

#ds-workbench-v19 .dw-plan-single-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

#ds-workbench-v19 .dw-plan-single-row input {
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 1px solid light-dark(#dce1e7, #3a424d);
  border-radius: 9px;
  color: light-dark(#1f252c, #edf1f5);
  background: light-dark(#ffffff, #191e24);
}

#ds-workbench-v19 .dw-plan-chip-list {
  gap: 6px;
}

#ds-workbench-v19 .dw-plan-chip {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 28px;
  gap: 8px;
  align-items: center;
  min-height: 36px;
  padding: 6px 8px;
  border: 1px solid light-dark(#e3e7ec, #343c46);
  border-radius: 10px;
  background: light-dark(#fbfcfd, #1c222a);
  font-size: 12px;
}

#ds-workbench-v19 .dw-plan-chip .dw-plan-remove {
  width: 28px;
  height: 28px;
  min-height: 28px;
  border-radius: 7px;
}

/* v0.9：项目节点表格去掉多余绿色、黄色表达，只保留灰阶与当前节点红色。 */
#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state.dw-done {
  border-color: light-dark(#d8dee7, #49515d);
  color: light-dark(#667085, #c1c8d1);
  background: light-dark(#f5f6f8, #252b33);
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state.dw-empty {
  border-color: light-dark(#edf0f4, #303842);
  color: light-dark(#98a2b3, #7f8996);
  background: light-dark(#ffffff, #1c2229);
}

#ds-workbench-v19 .dw-node-matrix.dw-node-matrix-v08 .dw-node-cell-state.dw-active {
  border-color: light-dark(#d92d20, #ff8a80);
  color: light-dark(#b42318, #ffd3cf);
  background: light-dark(#fff4f2, #351f1d);
  box-shadow: none;
}



/* v0.10：我的进度节点中“我参与”的红色与成果文件 PDF 标识保持一致。 */
#ds-workbench-v19 .dw-progress-key.dw-key-personal,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node,
#ds-workbench-v19 .dw-progress-node-cell.dw-personal-node.dw-complete {
  border-color: #d92d20;
  color: #ffffff;
  background: #d92d20;
  box-shadow: none;
}

#ds-workbench-v19 .dw-progress-key.dw-key-personal {
  box-shadow: 0 0 0 1px light-dark(rgba(217,45,32,.14), rgba(217,45,32,.22));
}



/* v0.11：项目详情重构为上方项目简介、下方统一工作区。 */
#ds-workbench-v19 .dw-shell.dw-project-mode {
  grid-template-columns: 17% 83%;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-main {
  grid-column: 2 / 3;
  grid-row: 1;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-collab-column {
  display: none !important;
}

#ds-workbench-v19 .dw-project-unified-layout {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-unified-layout .dw-project-overview {
  max-height: none;
  min-height: 148px;
  padding: 14px 18px 12px;
  overflow: hidden;
  border-bottom: 1px solid light-dark(#e4e8ee, #303842);
}

#ds-workbench-v19 .dw-project-red-zone {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-project-board-region,
#ds-workbench-v19 .dw-project-collab-embedded {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-board-region {
  border-right: 1px solid light-dark(#e5e8ee, #303842);
}

#ds-workbench-v19 .dw-project-board {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-board-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 10px 14px;
  border-bottom: 1px solid light-dark(#e6eaf0, #303842);
}

#ds-workbench-v19 .dw-project-board-head > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#ds-workbench-v19 .dw-project-board-head strong {
  font-size: 15px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-project-board-head span {
  overflow: hidden;
  color: light-dark(#7b8490, #939da9);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-board-head .dw-primary {
  margin-left: auto;
}

#ds-workbench-v19 .dw-board-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid light-dark(#e6eaf0, #303842);
  background: light-dark(#fbfcfd, #1b2027);
}

#ds-workbench-v19 .dw-board-specialty-tabs {
  display: inline-flex;
  gap: 6px;
  min-width: 0;
}

#ds-workbench-v19 .dw-board-specialty-tabs button,
#ds-workbench-v19 .dw-board-mine {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid light-dark(#dce2ea, #3a424d);
  border-radius: 9px;
  color: light-dark(#53606d, #aab3bd);
  background: light-dark(#ffffff, #20262d);
  font-size: 12px;
}

#ds-workbench-v19 .dw-board-specialty-tabs button.dw-active,
#ds-workbench-v19 .dw-board-mine.dw-active {
  border-color: #d92d20;
  color: #ffffff;
  background: #d92d20;
}

#ds-workbench-v19 .dw-board-columns {
  display: grid;
  grid-template-columns: repeat(9, minmax(132px, 1fr));
  gap: 16px;
  min-width: 0;
  min-height: 0;
  padding: 12px 14px 16px;
  overflow-x: auto;
  scrollbar-width: thin;
  background: light-dark(#f5f6f8, #171b21);
}

#ds-workbench-v19 .dw-board-column {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid light-dark(#e1e5eb, #303842);
  border-radius: 12px;
  background: light-dark(#ffffff, #1d2229);
}

#ds-workbench-v19 .dw-board-column header {
  display: grid;
  gap: 2px;
  min-height: 38px;
}

#ds-workbench-v19 .dw-board-column header strong {
  font-size: 18px;
  line-height: 18px;
}

#ds-workbench-v19 .dw-board-column header span {
  overflow: hidden;
  color: light-dark(#7b8490, #919ba7);
  font-size: 10px;
  line-height: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-board-add-card {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 30px;
  border: 1px dashed light-dark(#cdd5df, #46505c);
  border-radius: 9px;
  color: light-dark(#7a8490, #9ca6b2);
  background: light-dark(#fbfcfd, #20262d);
  font-size: 17px;
}

#ds-workbench-v19 .dw-board-add-card:hover {
  border-color: light-dark(#9fb2d3, #60749b);
  color: light-dark(#245fcb, #b8ccff);
  background: light-dark(#f4f7ff, #222c3a);
}

#ds-workbench-v19 .dw-board-card-stack {
  display: grid;
  align-content: start;
  gap: 20px;
  min-height: 0;
}

#ds-workbench-v19 .dw-board-task-card {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 7px;
  padding: 9px;
  border: 1px solid light-dark(#dfe4eb, #323a45);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 1px 2px light-dark(rgba(16,24,40,.05), rgba(0,0,0,.18));
  cursor: pointer;
}

#ds-workbench-v19 .dw-board-task-check {
  width: 12px;
  height: 12px;
  margin-top: 2px;
  border: 1px solid light-dark(#bfc7d2, #56616d);
  border-radius: 3px;
  background: light-dark(#ffffff, #1b2027);
}

#ds-workbench-v19 .dw-board-task-card strong {
  overflow: hidden;
  font-size: 12px;
  line-height: 16px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-board-task-readonly { border-style: dashed; }

#ds-workbench-v19 .dw-board-task-card p {
  grid-column: 2;
  display: -webkit-box;
  margin: -2px 0 0;
  overflow: hidden;
  color: light-dark(#697586, #98a2b3);
  font-size: 10px;
  line-height: 14px;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

#ds-workbench-v19 .dw-board-task-meta {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 1px;
}

#ds-workbench-v19 .dw-board-task-meta span {
  padding: 2px 5px;
  border-radius: 6px;
  color: light-dark(#697586, #a8b1bd);
  background: light-dark(#f2f4f7, #2a3038);
  font-size: 9px;
  line-height: 12px;
}

#ds-workbench-v19 .dw-board-empty {
  padding: 9px 4px;
  color: light-dark(#a0a8b2, #737d89);
  font-size: 11px;
  text-align: center;
}

#ds-workbench-v19 .dw-project-collab-embedded {
  display: grid;
  grid-template-rows: 52px minmax(0, 1fr);
}

#ds-workbench-v19 .dw-project-collab-embedded-head {
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-bottom: 1px solid light-dark(#e6eaf0, #303842);
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-project-collab-embedded-head strong {
  font-size: 15px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-project-collab-embedded-body {
  min-height: 0;
  overflow-y: auto;
  padding: 12px 14px 16px;
  scrollbar-width: thin;
}


/* v0.12：项目详情红框区域改为模块按钮切换，单次只显示一个满屏模块。 */
#ds-workbench-v19 .dw-project-red-zone {
  display: grid;
  grid-template-columns: none;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: light-dark(#f5f6f8, #171b21);
}

#ds-workbench-v19 .dw-project-module-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 8px 14px;
  border-bottom: 1px solid light-dark(#e1e5eb, #303842);
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-project-module-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 0;
  min-width: auto;
  min-height: 34px;
  padding: 8px 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: light-dark(#667085, #aab3bd);
  background: light-dark(#f2f4f7, #232a33);
  text-align: center;
  font-size: 13px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-project-module-tabs button strong {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

#ds-workbench-v19 .dw-project-module-tabs button span {
  display: none;
}

#ds-workbench-v19 .dw-project-module-tabs button.dw-active {
  border-color: light-dark(#2f80ed, #4a90e2);
  color: #ffffff;
  background: #2f80ed;
  box-shadow: none;
}

#ds-workbench-v19 .dw-project-module-tabs button:not(.dw-active):hover {
  background: light-dark(#e8ebef, #2b333c);
}

#ds-workbench-v19 .dw-project-module-content {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-board,
#ds-workbench-v19 .dw-project-board-region,
#ds-workbench-v19 .dw-project-board,
#ds-workbench-v19 .dw-project-module-content-collab,
#ds-workbench-v19 .dw-project-collab-embedded {
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-board-region {
  border-right: 0;
}

#ds-workbench-v19 .dw-project-collab-embedded {
  display: grid;
  grid-template-rows: 52px minmax(0, 1fr);
  background: light-dark(#ffffff, #171b21);
}

#ds-workbench-v19 .dw-project-collab-embedded-head {
  gap: 10px;
}

#ds-workbench-v19 .dw-project-collab-embedded-head span {
  color: light-dark(#7b8490, #939da9);
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body {
  padding: 14px 18px 18px;
}

/* 第⑪步：项目内只读历史任务。仅新增独立展示，不改变现有任务看板骨架。 */
#ds-workbench-v19 .dw-project-history-tasks {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid light-dark(#e5e7eb, #343a43);
}

#ds-workbench-v19 .dw-project-history-tasks > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

#ds-workbench-v19 .dw-project-history-tasks > header strong { font-size: 14px; font-weight: 600; }
#ds-workbench-v19 .dw-project-history-tasks > header span { color: light-dark(#7a8491, #9da7b3); font-size: 11px; }
#ds-workbench-v19 .dw-project-history-tasks > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }

#ds-workbench-v19 .dw-project-history-tasks article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid light-dark(#e6e9ee, #363d47);
  border-radius: 10px;
  background: light-dark(#fbfcfd, #222831);
}

#ds-workbench-v19 .dw-project-history-tasks article > div { display: grid; gap: 4px; min-width: 0; }
#ds-workbench-v19 .dw-project-history-tasks article strong,
#ds-workbench-v19 .dw-project-history-tasks article span,
#ds-workbench-v19 .dw-project-history-tasks article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-project-history-tasks article strong { font-size: 13px; font-weight: 550; }
#ds-workbench-v19 .dw-project-history-tasks article span,
#ds-workbench-v19 .dw-project-history-tasks article small { color: light-dark(#7a8491, #9da7b3); font-size: 11px; }

@media (max-width: 760px) {
  #ds-workbench-v19 .dw-project-history-tasks > header { align-items: flex-start; flex-direction: column; gap: 3px; }
  #ds-workbench-v19 .dw-project-history-tasks > div { grid-template-columns: minmax(0, 1fr); }
  #ds-workbench-v19 .dw-project-history-tasks article { grid-template-columns: minmax(0, 1fr); }
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-stack {
  max-width: none;
}

#ds-workbench-v19 .dw-project-module-content-board .dw-board-columns {
  grid-template-columns: repeat(9, minmax(148px, 1fr));
}


/* v0.13：看板任务卡片简化；成果文件改为四专业列，并加强模块内部滚动。 */
#ds-workbench-v19 .dw-board-task-card {
  grid-template-columns: 14px minmax(0, 1fr);
  padding: 10px;
  background: light-dark(#eef6ff, #1d2c3f);
  border-color: light-dark(#cfe2f8, #304b6f);
}

#ds-workbench-v19 .dw-board-task-card.dw-board-task-done {
  background: light-dark(#f1f3f5, #252a31);
  border-color: light-dark(#d9dee5, #353d47);
}

#ds-workbench-v19 .dw-board-task-content {
  display: grid;
  gap: 8px;
  min-width: 0;
}

#ds-workbench-v19 .dw-board-task-card strong {
  display: block;
  min-width: 0;
  color: light-dark(#1f2937, #eef2f7);
  font-size: 12px;
  line-height: 16px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-board-file-slot {
  min-height: 28px;
  border: 1px dashed transparent;
  border-radius: 8px;
}

#ds-workbench-v19 .dw-board-file-badge {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 7px;
  border: 1px solid light-dark(#f3c0bd, rgba(217,45,32,.35));
  border-radius: 8px;
  background: light-dark(#fff7f6, rgba(217,45,32,.12));
}

#ds-workbench-v19 .dw-board-file-badge span {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 20px;
  border-radius: 5px;
  color: #ffffff;
  background: #d92d20;
  font-size: 8px;
  font-weight: 700;
}

#ds-workbench-v19 .dw-board-file-badge em {
  overflow: hidden;
  color: light-dark(#7a271a, #ffd5d2);
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-board-task-foot {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

#ds-workbench-v19 .dw-board-status-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 18px;
  padding: 2px 6px;
  border-radius: 6px;
  color: #ffffff;
  font-size: 9px;
  line-height: 12px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-board-status-chip.dw-running { background: #2f80ed; }
#ds-workbench-v19 .dw-board-status-chip.dw-feedback { background: #f59e0b; }
#ds-workbench-v19 .dw-board-status-chip.dw-review { background: #7c3aed; }
#ds-workbench-v19 .dw-board-status-chip.dw-approval { background: #d92d20; }
#ds-workbench-v19 .dw-board-status-chip.dw-done { background: #98a2b3; }
#ds-workbench-v19 .dw-board-status-chip.dw-paused { background: #667085; }

#ds-workbench-v19 .dw-board-assignee {
  overflow: hidden;
  color: light-dark(#596574, #aab4c0);
  font-size: 10px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-board-task-meta,
#ds-workbench-v19 .dw-board-task-card p {
  display: none;
}

#ds-workbench-v19 .dw-owner-file-panel,
#ds-workbench-v19 .dw-owner-file-panel .dw-design-section {
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-owner-file-panel .dw-design-section {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

#ds-workbench-v19 .dw-stage-file-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-stage-discipline-column {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
  border: 1px solid light-dark(#e2e7ee, #343c46);
  border-radius: 12px;
  background: light-dark(#ffffff, #20262d);
  overflow: hidden;
}

#ds-workbench-v19 .dw-stage-discipline-column header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 38px;
  padding: 10px 12px;
  border-bottom: 1px solid light-dark(#edf0f4, #303842);
  background: light-dark(#fbfcfd, #1d2229);
}

#ds-workbench-v19 .dw-stage-discipline-column header strong {
  color: light-dark(#26303b, #e9eef5);
  font-size: 13px;
  font-weight: 700;
}

#ds-workbench-v19 .dw-stage-discipline-column header span {
  color: light-dark(#8a929d, #87919d);
  font-size: 11px;
}

#ds-workbench-v19 .dw-stage-column-stack {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
  overflow-y: auto;
  padding: 10px;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-stage-task-card {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid light-dark(#edf0f4, #303842);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
}

#ds-workbench-v19 .dw-stage-file-task {
  display: grid;
  align-content: start;
  gap: 7px;
  min-width: 0;
}

#ds-workbench-v19 .dw-stage-file-task small {
  color: light-dark(#98a2b3, #87919d);
  font-size: 10px;
}

#ds-workbench-v19 .dw-stage-file-name {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  max-width: 100%;
  padding: 5px 7px;
  border: 1px solid light-dark(#f3c0bd, rgba(217,45,32,.35));
  border-radius: 8px;
  color: light-dark(#7a271a, #ffd5d2);
  background: light-dark(#fff7f6, rgba(217,45,32,.12));
  font-size: 10px;
}

#ds-workbench-v19 .dw-stage-file-name i {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  height: 22px;
  border-radius: 5px;
  color: #ffffff;
  background: #d92d20;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

#ds-workbench-v19 .dw-stage-note {
  min-height: 74px;
  padding: 9px 10px;
  border: 1px solid light-dark(#dce3ec, #3a424d);
  border-radius: 9px;
  background: light-dark(#fbfcfd, #1b2027);
  outline: none;
  overflow-y: auto;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-stage-note:focus {
  border-color: #2f80ed;
  box-shadow: 0 0 0 2px light-dark(rgba(47,128,237,.12), rgba(47,128,237,.18));
}

#ds-workbench-v19 .dw-stage-note-hint {
  display: block;
  margin-top: 4px;
  color: light-dark(#98a2b3, #7f8994);
  font-size: 10px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded,
#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body,
#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-stack,
#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-item.dw-open,
#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-item.dw-open .dw-accordion-body {
  min-height: 0;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body {
  overflow-y: auto;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-body {
  max-height: calc(100vh - 330px);
  overflow-y: auto;
  scrollbar-width: thin;
}


/* v0.14：成果文件任务卡与备注框对齐，移除提示文案。 */
#ds-workbench-v19 .dw-stage-task-card {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 126px;
  padding: 10px;
}

#ds-workbench-v19 .dw-stage-file-task,
#ds-workbench-v19 .dw-stage-note {
  min-height: 106px;
  height: 100%;
}

#ds-workbench-v19 .dw-stage-file-task {
  padding: 10px;
  border: 1px solid light-dark(#e5eaf1, #343c46);
  border-radius: 10px;
  background: light-dark(#ffffff, #1f252d);
  box-shadow: 0 1px 2px light-dark(rgba(16,24,40,.04), rgba(0,0,0,.15));
}

#ds-workbench-v19 .dw-stage-file-task strong {
  overflow: hidden;
  color: light-dark(#26303b, #e9eef5);
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-stage-file-name {
  min-height: 34px;
  padding: 5px 6px;
}

#ds-workbench-v19 .dw-stage-file-name b {
  overflow: hidden;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-stage-task-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

#ds-workbench-v19 .dw-stage-task-meta span,
#ds-workbench-v19 .dw-stage-task-meta em {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 9px;
  line-height: 12px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-stage-task-meta span {
  color: light-dark(#475467, #b8c1cc);
  background: light-dark(#f2f4f7, #2a3038);
}

#ds-workbench-v19 .dw-stage-task-meta em {
  color: light-dark(#7a271a, #ffd5d2);
  background: light-dark(#fff1f0, rgba(217,45,32,.14));
  font-style: normal;
  font-weight: 650;
}

#ds-workbench-v19 .dw-stage-note {
  display: block;
  box-sizing: border-box;
}

#ds-workbench-v19 .dw-stage-note-hint {
  display: none !important;
}


/* v0.15：优化项目协同信息-成果文件模块视觉、卡片备注对齐和多卡滚动测试。 */
#ds-workbench-v19 .dw-owner-file-panel .dw-design-section {
  gap: 12px;
  padding: 14px;
  border: 1px solid light-dark(#dbe7f6, #334052);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 0%, light-dark(rgba(47, 128, 237, .12), rgba(92, 152, 255, .14)), transparent 36%),
    linear-gradient(135deg, light-dark(#fbfdff, #1b222c), light-dark(#f5f8fc, #171c24));
  box-shadow: 0 16px 38px light-dark(rgba(16, 24, 40, .08), rgba(0, 0, 0, .24));
}

#ds-workbench-v19 .dw-owner-file-panel .dw-design-section-head {
  padding: 0 2px;
}

#ds-workbench-v19 .dw-stage-board-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  color: light-dark(#667085, #a8b2c0);
  font-size: 11px;
}

#ds-workbench-v19 .dw-stage-board-tools span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid light-dark(#d7e5fb, rgba(120, 163, 255, .28));
  border-radius: 999px;
  color: light-dark(#175cd3, #a8c7ff);
  background: light-dark(#eff6ff, rgba(47, 128, 237, .13));
  font-weight: 700;
}

#ds-workbench-v19 .dw-stage-file-board {
  gap: 14px;
  padding: 2px 4px 10px 2px;
}

#ds-workbench-v19 .dw-stage-discipline-column {
  border-color: light-dark(#d9e4f2, #354356);
  border-radius: 16px;
  background: light-dark(rgba(255,255,255,.86), rgba(31,37,45,.88));
  box-shadow: 0 10px 26px light-dark(rgba(16,24,40,.06), rgba(0,0,0,.20));
}

#ds-workbench-v19 .dw-stage-discipline-column header {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 44px;
  padding: 11px 12px;
  border-bottom-color: light-dark(#e7eef7, #354050);
  background: linear-gradient(180deg, light-dark(#ffffff, #232a34), light-dark(#f8fbff, #202731));
}

#ds-workbench-v19 .dw-stage-discipline-column header strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
}

#ds-workbench-v19 .dw-stage-discipline-column header strong::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #2f80ed;
  box-shadow: 0 0 0 4px light-dark(rgba(47,128,237,.12), rgba(47,128,237,.18));
}

#ds-workbench-v19 .dw-stage-discipline-column header span {
  padding: 3px 8px;
  border-radius: 999px;
  color: light-dark(#475467, #b7c2cf);
  background: light-dark(#f2f4f7, #2b333e);
  font-weight: 700;
}

#ds-workbench-v19 .dw-stage-column-stack {
  gap: 12px;
  padding: 12px;
}

#ds-workbench-v19 .dw-stage-task-card {
  grid-template-columns: minmax(0, 1.15fr) minmax(92px, .85fr);
  gap: 10px;
  min-height: 148px;
  padding: 10px;
  border: 1px solid light-dark(#e1eaf6, #354153);
  border-radius: 14px;
  background: linear-gradient(135deg, light-dark(#ffffff, #202732), light-dark(#f7fbff, #1c222b));
  box-shadow: 0 8px 18px light-dark(rgba(16,24,40,.06), rgba(0,0,0,.18));
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

#ds-workbench-v19 .dw-stage-task-card:hover {
  transform: translateY(-1px);
  border-color: light-dark(#b9d5ff, rgba(120,163,255,.48));
  box-shadow: 0 14px 28px light-dark(rgba(47,128,237,.12), rgba(0,0,0,.26));
}

#ds-workbench-v19 .dw-stage-file-task {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-content: flex-start;
  min-height: 128px;
  padding: 11px;
  border-color: light-dark(#dfe8f5, #3b4859);
  border-left: 3px solid #2f80ed;
  border-radius: 12px;
  background: light-dark(#ffffff, #1d2530);
  box-shadow: inset 0 1px 0 light-dark(rgba(255,255,255,.8), rgba(255,255,255,.04));
}

#ds-workbench-v19 .dw-stage-file-task strong {
  white-space: normal;
}

#ds-workbench-v19 .dw-stage-file-name {
  min-height: 36px;
  margin-top: 1px;
  border-color: light-dark(#f2b8b5, rgba(217,45,32,.42));
  border-radius: 10px;
  background: light-dark(#fff4f3, rgba(217,45,32,.14));
}

#ds-workbench-v19 .dw-stage-task-meta {
  flex-wrap: wrap;
  margin-top: auto;
}

#ds-workbench-v19 .dw-stage-task-meta em {
  border: 1px solid light-dark(#bfd7ff, rgba(120,163,255,.3));
  color: light-dark(#175cd3, #bcd3ff);
  background: light-dark(#eff6ff, rgba(47,128,237,.12));
}

#ds-workbench-v19 .dw-stage-note {
  align-self: stretch;
  min-height: 128px;
  height: auto;
  padding: 11px 12px;
  border-color: light-dark(#d5deea, #3f4a59);
  border-radius: 12px;
  color: light-dark(#344054, #d7dee8);
  background: linear-gradient(180deg, light-dark(#ffffff, #202631), light-dark(#f8fafc, #1b2129));
  font-size: 12px;
  line-height: 1.55;
  box-shadow: inset 3px 0 0 light-dark(#e7f0ff, rgba(120,163,255,.18));
}


/* v0.16：任务卡、新建任务、任务详情按更克制的信息密度优化。 */
#ds-workbench-v19 .dw-board-task-card { position: relative; grid-template-columns: minmax(0, 1fr); padding: 12px; }
#ds-workbench-v19 .dw-board-task-check { display: none !important; }
#ds-workbench-v19 .dw-board-task-delete { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid light-dark(#d6dde7, #46505c); border-radius: 999px; color: light-dark(#667085, #aab4c0); background: light-dark(rgba(255,255,255,.78), rgba(31,37,45,.82)); font-size: 13px; line-height: 1; opacity: .72; }
#ds-workbench-v19 .dw-board-task-delete:hover { border-color: #f2b8b5; color: #d92d20; background: light-dark(#fff4f3, rgba(217,45,32,.14)); opacity: 1; }
#ds-workbench-v19 .dw-project-board-head { min-height: 48px; }
#ds-workbench-v19 .dw-project-board-head .dw-primary { display: none !important; }
#ds-workbench-v19 .dw-chip-select-field .dw-select-chip { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; min-height: 48px; padding: 0 12px; border: 1px solid light-dark(#dce3ec, #3a424d); border-radius: 10px; background: light-dark(#ffffff, #20262d); }
#ds-workbench-v19 .dw-chip-select-field .dw-select-chip select { height: 44px; padding: 0; border: 0; background: transparent; box-shadow: none; }
#ds-workbench-v19 .dw-chip-dot { width: 12px; height: 12px; border-radius: 4px; background: #2f80ed; box-shadow: 0 0 0 3px light-dark(rgba(47,128,237,.12), rgba(47,128,237,.18)); }
#ds-workbench-v19 .dw-specialty-select-chip .dw-chip-dot { background: #d92d20; box-shadow: 0 0 0 3px light-dark(rgba(217,45,32,.12), rgba(217,45,32,.18)); }
#ds-workbench-v19 .dw-status-select-chip.dw-running .dw-chip-dot { background: #2f80ed; }
#ds-workbench-v19 .dw-status-select-chip.dw-feedback .dw-chip-dot { background: #f59e0b; }
#ds-workbench-v19 .dw-status-select-chip.dw-review .dw-chip-dot { background: #7c3aed; }
#ds-workbench-v19 .dw-status-select-chip.dw-approval .dw-chip-dot { background: #d92d20; }
#ds-workbench-v19 .dw-status-select-chip.dw-done .dw-chip-dot { background: #98a2b3; }
#ds-workbench-v19 .dw-status-select-chip.dw-paused .dw-chip-dot { background: #667085; }
#ds-workbench-v19 .dw-task-detail-modal { width: min(620px, calc(100vw - 96px)); max-height: min(760px, calc(100vh - 72px)); border-radius: 18px; }
#ds-workbench-v19 .dw-drawer-head { padding: 22px 24px 18px; }
#ds-workbench-v19 .dw-drawer-body { padding: 18px 24px 24px; }
#ds-workbench-v19 .dw-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#ds-workbench-v19 .dw-detail-status-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 22px; padding: 3px 8px; border-radius: 7px; color: #ffffff; font-size: 11px; font-weight: 700; }
#ds-workbench-v19 .dw-detail-status-chip.dw-running { background: #2f80ed; }
#ds-workbench-v19 .dw-detail-status-chip.dw-feedback { background: #f59e0b; }
#ds-workbench-v19 .dw-detail-status-chip.dw-review { background: #7c3aed; }
#ds-workbench-v19 .dw-detail-status-chip.dw-approval { background: #d92d20; }
#ds-workbench-v19 .dw-detail-status-chip.dw-done { background: #98a2b3; }
#ds-workbench-v19 .dw-detail-status-chip.dw-paused { background: #667085; }
#ds-workbench-v19 .dw-drawer-body > section:last-child { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
#ds-workbench-v19 .dw-worklog-timeline { display: flex; flex-direction: column; gap: 8px; overflow-y: auto; padding-right: 4px; }
#ds-workbench-v19 .dw-worklog-event { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 10px; padding: 10px; border: 1px solid light-dark(#e7edf5, #343c46); border-radius: 12px; background: light-dark(#fbfcfd, #1d2229); flex-shrink: 0; }
#ds-workbench-v19 .dw-worklog-event .dw-event-copy { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 0; }
#ds-workbench-v19 .dw-worklog-event .dw-event-text { min-width: 0; }
#ds-workbench-v19 .dw-worklog-event .dw-event-meta { flex: 0 0 auto; margin-top: 0; white-space: nowrap; }
#ds-workbench-v19 .dw-hour-mark { position: static; display: inline-grid; place-items: center; width: 42px; height: 24px; border-radius: 8px; color: #ffffff; background: #2f80ed; font-size: 11px; font-weight: 700; }
#ds-workbench-v19 .dw-worklog-event::after { display: none !important; }
#ds-workbench-v19 #dw-plan-edit-overlay .dw-modal { width: min(520px, calc(100vw - 56px)); }


/* v0.18：任务表格交互筛选、项目分组、进展直改与看板间距优化。 */
#ds-workbench-v19 .dw-task-title-actions { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
#ds-workbench-v19 .dw-table-action-button { min-height: 32px; padding: 0 14px; border: 0; border-radius: 8px; color: light-dark(#68727e, #9ca6b2); background: light-dark(#eef1f5, #2a3038); }
#ds-workbench-v19 .dw-table-action-button.dw-active { color: #ffffff; background: #2f80ed; }
#ds-workbench-v19 .dw-task-page-title-row #dw-new-task { margin-left: 0; }
#ds-workbench-v19 .dw-task-filter-panel { margin: 0 0 12px; }
#ds-workbench-v19 .dw-task-filter-card { display: grid; grid-template-columns: minmax(180px,1fr) 170px 170px auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid light-dark(#d9e5fb, #334563); border-radius: 12px; background: light-dark(#f7faff, #1d2634); }
#ds-workbench-v19 .dw-task-filter-card div { display: grid; gap: 2px; }
#ds-workbench-v19 .dw-task-filter-card strong { font-size: 13px; }
#ds-workbench-v19 .dw-task-filter-card span { color: light-dark(#667085, #98a2b3); font-size: 11px; }
#ds-workbench-v19 .dw-task-filter-card label { display: grid; gap: 5px; color: light-dark(#667085, #98a2b3); font-size: 11px; }
#ds-workbench-v19 .dw-task-filter-card select { height: 32px; border: 1px solid light-dark(#dce3ec, #3a424d); border-radius: 8px; background: light-dark(#ffffff, #20262d); }
#ds-workbench-v19 .dw-table-head-button { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border: 1px solid light-dark(#cfe0ff, #3d5f99); border-radius: 7px; color: light-dark(#245fcb, #bdd0ff); background: light-dark(#f3f7ff, rgba(47,128,237,.14)); font-size: 12px; font-weight: 650; }
#ds-workbench-v19 .dw-table-head-button.dw-active { color: #ffffff; background: #2f80ed; border-color: #2f80ed; }
#ds-workbench-v19 .dw-status-th { position: relative; overflow: visible !important; }
#ds-workbench-v19 .dw-table-status-menu { position: absolute; z-index: 20; top: 36px; left: 10px; display: grid; gap: 4px; min-width: 104px; padding: 6px; border: 1px solid light-dark(#dce3ec, #3a424d); border-radius: 10px; background: light-dark(#ffffff, #20262d); box-shadow: 0 10px 24px rgba(15,23,42,.14); }
#ds-workbench-v19 .dw-table-status-menu button { min-height: 26px; padding: 0 8px; border: 0; border-radius: 7px; color: light-dark(#475467, #cbd5e1); background: transparent; text-align: left; font-size: 12px; }
#ds-workbench-v19 .dw-table-status-menu button.dw-active, #ds-workbench-v19 .dw-table-status-menu button:hover { color: #ffffff; background: #2f80ed; }
#ds-workbench-v19 .dw-table-project-link { display: block; max-width: 100%; overflow: hidden; border: 0; color: light-dark(#245fcb, #bdd0ff); background: transparent; text-align: left; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
#ds-workbench-v19 .dw-project-date-range { display: block; margin-top: 3px; overflow: hidden; color: light-dark(#98a2b3, #87919d); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#ds-workbench-v19 .dw-table-group-row button { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; color: inherit; background: transparent; text-align: left; }
#ds-workbench-v19 .dw-table-group-row strong { font-weight: 700; }
#ds-workbench-v19 .dw-table-group-row em { color: light-dark(#667085, #98a2b3); font-size: 11px; font-style: normal; }
#ds-workbench-v19 .dw-table-group-row small { margin-left: auto; color: light-dark(#98a2b3, #87919d); }
#ds-workbench-v19 .dw-table-progress-wrap { display: flex; align-items: center; gap: 8px; width: 100%; }
#ds-workbench-v19 .dw-table-progress-text { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ds-workbench-v19 .dw-table-progress-edit { flex-shrink: 0; min-height: 22px; padding: 0 8px; border: 1px solid light-dark(#d1e3ff, #3d5f99); border-radius: 6px; color: light-dark(#2563eb, #7aa7ff); background: light-dark(#f0f7ff, #22304a); font-size: 11px; font-weight: 500; cursor: pointer; }
#ds-workbench-v19 .dw-table-progress-edit:hover { border-color: light-dark(#2563eb, #7aa7ff); background: light-dark(#e1f0ff, #2a3f5f); }


/* v0.25补丁：表格状态下拉不被截断、看板任务卡与成果文件卡视觉整改。 */
#ds-workbench-v19 .dw-task-table-wrap:has(.dw-table-status-menu) { overflow: visible; }

#ds-workbench-v19 .dw-board-task-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 14px;
  border: 1px solid light-dark(#e1e5eb, #323a45);
  border-radius: 12px;
  background: light-dark(#f5f7fa, #252d36);
  box-shadow: 0 1px 3px light-dark(rgba(16,24,40,.06), rgba(0,0,0,.18));
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  overflow: hidden;
}
#ds-workbench-v19 .dw-board-task-card:hover {
  border-color: light-dark(#c5d5ff, #4a5b73);
  box-shadow: 0 6px 16px light-dark(rgba(47,128,237,.10), rgba(0,0,0,.24));
}
#ds-workbench-v19 .dw-board-task-card.dw-board-task-done {
  background: light-dark(#eef1f5, #20262d);
  border-color: light-dark(#d5d9e0, #353d47);
}
#ds-workbench-v19 .dw-board-task-delete { top: 10px; right: 10px; }
#ds-workbench-v19 .dw-board-task-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
#ds-workbench-v19 .dw-board-task-card strong {
  overflow: hidden;
  padding-right: 18px;
  color: light-dark(#1f2937, #eef2f7);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-board-file-slot { min-height: 0; }
#ds-workbench-v19 .dw-board-file-badge {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid light-dark(#e2e7f0, #3a424d);
  border-radius: 8px;
  background: light-dark(#f7f9fc, #252d36);
}
#ds-workbench-v19 .dw-board-file-badge span {
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  height: 18px;
  border-radius: 4px;
  color: light-dark(#3e5a82, #bcd3ff);
  background: light-dark(#e1e8f5, #3a4a5f);
  font-size: 9px;
  font-weight: 700;
}
#ds-workbench-v19 .dw-board-file-badge em {
  overflow: hidden;
  color: light-dark(#4a5568, #c4ced9);
  font-size: 11px;
  font-weight: 500;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-board-task-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  margin-top: 2px;
  overflow: hidden;
}
#ds-workbench-v19 .dw-board-status-chip {
  flex-shrink: 0;
  min-height: 20px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}
#ds-workbench-v19 .dw-board-hours {
  flex: 0 0 auto;
  color: light-dark(#344054, #d0d5dd);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-board-assignee {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  color: light-dark(#6b7280, #aab4c0);
  font-size: 11px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-stage-task-card {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 12px;
  min-height: 0;
  padding: 14px;
  border: 1px solid light-dark(#e2e7f0, #303842);
  border-radius: 14px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 1px 3px light-dark(rgba(16,24,40,.05), rgba(0,0,0,.16));
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
#ds-workbench-v19 .dw-stage-task-card:hover {
  border-color: light-dark(#c5d5ff, #4a5b73);
  box-shadow: 0 6px 16px light-dark(rgba(47,128,237,.08), rgba(0,0,0,.22));
}
#ds-workbench-v19 .dw-stage-file-task {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
  padding: 12px;
  border: 1px solid light-dark(#e7edf5, #343c46);
  border-left: 3px solid #2f80ed;
  border-radius: 10px;
  background: light-dark(#fafcfe, #1f252d);
  box-shadow: none;
}
#ds-workbench-v19 .dw-stage-file-task strong {
  overflow: hidden;
  color: light-dark(#26303b, #e9eef5);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-stage-file-name {
  min-height: 32px;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 11px;
}
#ds-workbench-v19 .dw-stage-file-name i {
  min-width: 30px;
  height: 20px;
  border-radius: 5px;
  font-size: 9px;
  font-weight: 700;
}
#ds-workbench-v19 .dw-stage-file-name b {
  font-size: 11px;
  font-weight: 500;
}
#ds-workbench-v19 .dw-stage-task-meta {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
}
#ds-workbench-v19 .dw-stage-task-meta span,
#ds-workbench-v19 .dw-stage-task-meta em {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 600;
  line-height: 12px;
  white-space: nowrap;
}
#ds-workbench-v19 .dw-stage-file-task small {
  display: block;
  margin-top: auto;
  color: light-dark(#98a2b3, #87919d);
  font-size: 10px;
}
#ds-workbench-v19 .dw-stage-note {
  min-height: 0;
  height: auto;
  padding: 12px;
  border-radius: 10px;
  color: light-dark(#344054, #d7dee8);
  background: linear-gradient(180deg, light-dark(#ffffff, #202631), light-dark(#f8fafc, #1b2129));
  font-size: 12px;
  line-height: 1.55;
  box-shadow: inset 3px 0 0 light-dark(#e7f0ff, rgba(120,163,255,.18));
}

#ds-workbench-v19 .dw-board-toolbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
}
#ds-workbench-v19 .dw-board-filter-group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
#ds-workbench-v19 .dw-board-status-filter {
  position: relative;
}
#ds-workbench-v19 .dw-board-status-filter-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid light-dark(#dce2ea, #3a424d);
  border-radius: 9px;
  color: light-dark(#53606d, #aab3bd);
  background: light-dark(#ffffff, #20262d);
  font-size: 12px;
  cursor: pointer;
}
#ds-workbench-v19 .dw-board-status-filter-trigger.dw-active {
  border-color: #2f80ed;
  color: #ffffff;
  background: #2f80ed;
}
#ds-workbench-v19 .dw-board-status-filter-trigger span {
  display: inline-block;
  transform: translateY(-1px);
  font-size: 11px;
}
#ds-workbench-v19 .dw-board-status-menu {
  position: absolute;
  z-index: 20;
  top: 36px;
  left: 0;
  display: grid;
  gap: 4px;
  min-width: 104px;
  padding: 6px;
  border: 1px solid light-dark(#dce3ec, #3a424d);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 10px 24px rgba(15,23,42,.14);
}
#ds-workbench-v19 .dw-board-status-menu button {
  min-height: 26px;
  padding: 0 8px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#475467, #cbd5e1);
  background: transparent;
  text-align: left;
  font-size: 12px;
  cursor: pointer;
}
#ds-workbench-v19 .dw-board-status-menu button.dw-active,
#ds-workbench-v19 .dw-board-status-menu button:hover {
  color: #ffffff;
  background: #2f80ed;
}
#ds-workbench-v19 .dw-project-board-head { display: none; }

/* v0.25-patch-2：成果文件面板视觉整改——弱化手风琴、移除冗余标题、统一列高、精简文件徽章、状态语义化 */
#ds-workbench-v19 .dw-accordion-toggle[aria-expanded="true"] {
  color: light-dark(#1f2937, #eef2f7);
  background: light-dark(#ffffff, #20262d);
  box-shadow: inset 3px 0 0 #2f80ed, inset 0 -1px 0 light-dark(#e7f0ff, #2a3440);
}
#ds-workbench-v19 .dw-accordion-toggle[aria-expanded="true"]:hover {
  background: light-dark(#f7faff, #252d36);
}
#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-icon {
  color: #ffffff;
  background: #2f80ed;
}
#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-copy strong {
  color: light-dark(#1f2937, #eef2f7);
  font-weight: 650;
}
#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-meta,
#ds-workbench-v19 [aria-expanded="true"] .dw-disclosure-chevron {
  color: light-dark(#667085, #98a2b3);
}

#ds-workbench-v19 .dw-owner-file-panel .dw-design-section-head {
  justify-content: flex-end;
  margin-bottom: 0;
}

#ds-workbench-v19 .dw-stage-file-board {
  align-items: stretch;
}
#ds-workbench-v19 .dw-stage-discipline-column {
  height: 100%;
}

#ds-workbench-v19 .dw-stage-file-name {
  border: 1px solid light-dark(#e2e7f0, #3a424d);
  color: light-dark(#475467, #b8c1cc);
  background: light-dark(#f7f9fc, #252d36);
}
#ds-workbench-v19 .dw-stage-file-name i {
  display: none;
}
#ds-workbench-v19 .dw-stage-file-name b {
  padding-left: 0;
}

#ds-workbench-v19 .dw-stage-task-meta em.dw-type-internal {
  border-color: light-dark(#e5e7eb, rgba(156,163,175,.35));
  color: light-dark(#4b5563, #d1d5db);
  background: light-dark(#f3f4f6, rgba(156,163,175,.14));
}
#ds-workbench-v19 .dw-stage-task-meta em.dw-type-client {
  border-color: light-dark(#93c5fd, rgba(59,130,246,.35));
  color: light-dark(#1e40af, #bfdbfe);
  background: light-dark(#eff6ff, rgba(59,130,246,.14));
}
#ds-workbench-v19 .dw-stage-task-meta em.dw-type-approved {
  border-color: light-dark(#86efac, rgba(34,197,94,.35));
  color: light-dark(#14532d, #bbf7d0);
  background: light-dark(#f0fdf4, rgba(34,197,94,.14));
}
#ds-workbench-v19 .dw-stage-task-meta em.dw-type-other {
  border-color: light-dark(#d8b4fe, rgba(168,85,247,.35));
  color: light-dark(#6b21a8, #e9d5ff);
  background: light-dark(#faf5ff, rgba(168,85,247,.14));
}

#ds-workbench-v19 .dw-shell.dw-project-mode {
  grid-template-columns: 176px minmax(0, 1fr) !important;
}

/* v0.27：钉钉桌面工作台自适应、统一交互语义与点击尺寸。 */
html,
body {
  margin: 0;
  min-width: 1024px;
  min-height: 100%;
  background: #f5f6f8;
}

#ds-workbench-v19 .dw-desktop-stage {
  width: 100%;
  min-height: 680px;
  height: 100vh;
  overflow: auto;
}

#ds-workbench-v19 .dw-shell,
#ds-workbench-v19 .dw-shell.dw-project-mode {
  width: 100%;
  height: 100%;
  min-height: 680px;
  transform: none !important;
  border-radius: 0;
  box-shadow: none;
}

#ds-workbench-v19 .dw-main {
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-content {
  height: 100%;
  min-height: 0;
  overflow: auto;
}

#ds-workbench-v19 .dw-task-page-title-row {
  align-items: center;
  gap: 12px;
}

#ds-workbench-v19 .dw-task-page-title-row h2 {
  flex: 0 0 auto;
}

#ds-workbench-v19 .dw-task-scope-switch,
#ds-workbench-v19 .dw-task-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid light-dark(#e0e5eb, #343c46);
  border-radius: 10px;
  background: light-dark(#f2f4f7, #242b33);
}

#ds-workbench-v19 .dw-task-scope-switch button,
#ds-workbench-v19 .dw-task-view-switch button {
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#667085, #aab3bd);
  background: transparent;
}

#ds-workbench-v19 .dw-task-scope-switch button.dw-active,
#ds-workbench-v19 .dw-task-view-switch button.dw-active {
  color: light-dark(#1f2731, #f2f5f8);
  background: light-dark(#ffffff, #3a424c);
  box-shadow: 0 1px 4px light-dark(rgba(30, 40, 55, .12), rgba(0, 0, 0, .3));
}

#ds-workbench-v19 .dw-task-title-actions {
  margin-left: auto;
}

#ds-workbench-v19 .dw-table-action-button,
#ds-workbench-v19 .dw-modal-foot .dw-secondary,
#ds-workbench-v19 .dw-modal-foot .dw-primary,
#ds-workbench-v19 .dw-modal-foot .dw-danger {
  min-height: 36px;
  padding: 0 14px;
}

#ds-workbench-v19 .dw-modal-head .dw-close,
#ds-workbench-v19 .dw-task-detail-close {
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: -6px -6px -6px auto;
  border-radius: 9px;
  color: light-dark(#667085, #aab4c0);
  background: transparent;
  font-size: 20px;
}

#ds-workbench-v19 .dw-modal-head .dw-close:hover,
#ds-workbench-v19 .dw-task-detail-close:hover {
  color: light-dark(#344054, #eef2f7);
  background: light-dark(#f2f4f7, #2b333c);
}

#ds-workbench-v19 .dw-red-close-dot {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  color: inherit;
  background: transparent;
  box-shadow: none;
}

#ds-workbench-v19 .dw-specialty-chip.dw-active,
#ds-workbench-v19 .dw-board-specialty-tabs button.dw-active,
#ds-workbench-v19 .dw-board-mine.dw-active {
  border-color: #2f80ed !important;
  color: #ffffff !important;
  background: #2f80ed !important;
  box-shadow: none !important;
}

#ds-workbench-v19 .dw-specialty-select-chip .dw-chip-dot {
  background: #2f80ed;
  box-shadow: 0 0 0 3px light-dark(rgba(47,128,237,.12), rgba(47,128,237,.18));
}

#ds-workbench-v19 .dw-default-note,
#ds-workbench-v19 .dw-optional-toggle {
  padding: 10px 12px;
  border: 1px solid light-dark(#e3e8ef, #343c46);
  border-radius: 10px;
  color: light-dark(#667085, #a6b0bc);
  background: light-dark(#f8fafc, #1c222a);
  font-size: 12px;
}

#ds-workbench-v19 .dw-optional-toggle label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-optional-toggle input {
  width: 16px;
  height: 16px;
  margin: 0;
}

#ds-workbench-v19 #dw-worklog-status-field[hidden] {
  display: none !important;
}

#ds-workbench-v19 .dw-task-filter-card.dw-mine-filter {
  grid-template-columns: minmax(180px, 1fr) 170px auto;
}

#ds-workbench-v19 .dw-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d92d20;
  border-radius: 8px;
  color: #ffffff;
  background: #d92d20;
  font: inherit;
  font-weight: 600;
}

#ds-workbench-v19 .dw-danger:hover {
  background: #b42318;
}

#ds-workbench-v19 .dw-delete-confirm-copy {
  display: grid;
  gap: 8px;
  padding: 2px 0 4px;
}

#ds-workbench-v19 .dw-delete-confirm-copy strong {
  font-size: 15px;
}

#ds-workbench-v19 .dw-delete-confirm-copy p {
  margin: 0;
  color: light-dark(#667085, #aab4c0);
  line-height: 1.6;
}

#ds-workbench-v19 .dw-confirm-modal {
  width: min(420px, calc(100vw - 32px));
}

#ds-workbench-v19 .dw-confirm-copy {
  margin: 0;
  color: light-dark(#667085, #aab4c0);
  line-height: 1.6;
}

#ds-workbench-v19 .dw-calendar-day .dw-calendar-cards:empty,
#ds-workbench-v19 .dw-month-cell .dw-calendar-cards:empty {
  min-height: 12px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body {
  overflow-y: auto;
  overflow-x: hidden;
}

#ds-workbench-v19 #dw-project-detail-content,
#ds-workbench-v19 .dw-project-unified-layout {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-stage-file-board {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  overflow: visible;
}

#ds-workbench-v19 .dw-stage-discipline-column {
  height: auto;
  min-height: 0;
  overflow: visible;
}

#ds-workbench-v19 .dw-stage-column-stack {
  overflow: visible;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-body {
  max-height: none;
  overflow: visible;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-stack {
  height: auto;
  min-height: 100%;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-item.dw-open {
  display: block;
  flex: 0 0 auto;
  overflow: visible;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-owner-file-panel,
#ds-workbench-v19 .dw-project-module-content-collab .dw-owner-file-panel .dw-design-section {
  display: block;
  height: auto;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-stage-file-board {
  height: auto;
  min-height: 0;
}

#ds-workbench-v19 .dw-calendar-head .dw-quiet {
  width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
}

#ds-workbench-v19 .dw-calendar-add {
  min-height: 34px;
}

#ds-workbench-v19 .dw-table-progress-edit {
  min-height: 30px;
  padding-inline: 10px;
}

#ds-workbench-v19 .dw-table-person::before {
  content: "";
}

#ds-workbench-v19 .dw-project-module-content-board .dw-board-columns {
  grid-template-columns: repeat(9, minmax(106px, 1fr));
  gap: 10px;
}

#ds-workbench-v19 .dw-board-task-delete {
  top: 7px;
  right: 7px;
  width: 30px;
  height: 30px;
  min-height: 30px;
  opacity: .78;
}

#ds-workbench-v19 .dw-board-task-card strong {
  padding-right: 30px;
}

#ds-workbench-v19 .dw-board-add-card,
#ds-workbench-v19 .dw-board-status-menu button {
  min-height: 30px;
}

@media (max-width: 1180px) {
  #ds-workbench-v19 .dw-shell,
  #ds-workbench-v19 .dw-shell.dw-project-mode {
    grid-template-columns: 160px minmax(0, 1fr) !important;
  }

  #ds-workbench-v19 .dw-sidebar {
    padding-inline: 10px;
  }

  #ds-workbench-v19 .dw-content {
    padding: 18px;
  }

  #ds-workbench-v19 .dw-task-page-title-row {
    flex-wrap: wrap;
  }

  #ds-workbench-v19 .dw-task-title-actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-end;
  }

  #ds-workbench-v19 .dw-task-filter-card {
    grid-template-columns: minmax(180px, 1fr) 160px auto;
  }
}

/* v0.28：统一表单控件、精简成果模块、恢复四专业独立滚动并补齐任务删除入口。 */
#ds-workbench-v19 .dw-field select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 38px;
  background-color: light-dark(#ffffff, #191e24);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 6 3.5 3.5L11.5 6' fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px;
  box-shadow: none;
}

#ds-workbench-v19 .dw-field input::-webkit-contacts-auto-fill-button,
#ds-workbench-v19 .dw-field input::-webkit-credentials-auto-fill-button {
  display: none !important;
  visibility: hidden;
  pointer-events: none;
}

#ds-workbench-v19 #dw-delete-task-overlay {
  z-index: 32;
}

#ds-workbench-v19 .dw-task-row-delete,
#ds-workbench-v19 .dw-kanban-task-delete {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  color: light-dark(#98a2b3, #7f8994);
  background: transparent;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

#ds-workbench-v19 .dw-task-row-delete {
  margin-left: auto;
}

#ds-workbench-v19 .dw-task-row-delete:hover,
#ds-workbench-v19 .dw-kanban-task-delete:hover {
  border-color: light-dark(#f2b8b5, rgba(217,45,32,.42));
  color: #d92d20;
  background: light-dark(#fff4f3, rgba(217,45,32,.14));
}

#ds-workbench-v19 .dw-kanban-task-delete {
  position: absolute;
  top: 8px;
  right: 8px;
}

#ds-workbench-v19 .dw-drawer-line .dw-task-detail-close {
  margin-left: 0;
}

#ds-workbench-v19 .dw-detail-delete {
  min-height: 30px;
  margin-left: auto;
  padding: 0 10px;
  border: 1px solid light-dark(#f2b8b5, rgba(217,45,32,.42));
  border-radius: 7px;
  color: #d92d20;
  background: light-dark(#fff8f7, rgba(217,45,32,.12));
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

#ds-workbench-v19 .dw-detail-delete:hover {
  color: #ffffff;
  background: #d92d20;
}

#ds-workbench-v19 .dw-section-heading-row {
  min-height: 32px;
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-section-heading-row .dw-action-chip {
  min-width: 54px;
  min-height: 30px;
  padding: 0 12px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded {
  display: block;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body {
  height: 100%;
  min-height: 0;
  padding: 14px 18px 18px;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-stack,
#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-item.dw-open {
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-item.dw-open {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-accordion-body {
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-owner-file-panel,
#ds-workbench-v19 .dw-project-module-content-collab .dw-owner-file-panel .dw-design-section {
  display: grid;
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-owner-file-panel .dw-design-section {
  grid-template-rows: auto minmax(0, 1fr);
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-stage-file-board {
  height: 100%;
  min-height: 0;
  align-items: stretch;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-stage-discipline-column {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-stage-column-stack {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-stage-task-card[data-output-task] {
  cursor: pointer;
}

#ds-workbench-v19 .dw-stage-task-card[data-output-task]:focus-visible {
  outline: 3px solid light-dark(rgba(47,128,237,.28), rgba(120,163,255,.34));
  outline-offset: 2px;
}

/* v0.29：选择旧任务支持按任务状态筛选。 */
#ds-workbench-v19 .dw-existing-task-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 154px;
  gap: 10px;
  align-items: center;
}

#ds-workbench-v19 .dw-existing-task-scope {
  display: inline-flex;
  width: fit-content;
  padding: 3px;
  border: 1px solid light-dark(#d8dee8, #3b434e);
  border-radius: 9px;
  background: light-dark(#f5f7fa, #191e24);
}

#ds-workbench-v19 .dw-existing-task-scope button {
  min-height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#596579, #aeb8c5);
  background: transparent;
  cursor: pointer;
}

#ds-workbench-v19 .dw-existing-task-scope button.dw-active {
  color: light-dark(#1f5fd5, #9bbcff);
  background: light-dark(#ffffff, #252c35);
  box-shadow: 0 1px 3px rgba(34, 52, 79, 0.14);
}

#ds-workbench-v19 .dw-existing-task-filter {
  position: relative;
  display: block;
}

#ds-workbench-v19 .dw-existing-task-filter::before {
  content: "任务状态";
  position: absolute;
  z-index: 1;
  top: 7px;
  left: 12px;
  color: light-dark(#8a94a1, #8995a3);
  font-size: 9px;
  line-height: 1;
  pointer-events: none;
}

#ds-workbench-v19 .dw-existing-task-filter select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 44px;
  padding: 15px 34px 0 12px;
  border: 1px solid light-dark(#dce1e7, #3b434e);
  border-radius: 10px;
  color: light-dark(#344054, #e4e9ef);
  background-color: light-dark(#ffffff, #191e24);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 6 3.5 3.5L11.5 6' fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

#ds-workbench-v19 .dw-existing-task-filter select:focus {
  border-color: #2f80ed;
  outline: none;
  box-shadow: 0 0 0 3px light-dark(rgba(47,128,237,.14), rgba(120,163,255,.20));
}

/* v0.31：概览上层展示项目身份与专业进展，下层左目标、右协作者与确认成果。 */
#ds-workbench-v19 .dw-project-unified-layout .dw-project-overview {
  max-height: none;
  min-height: 0;
  padding: 10px 24px 12px;
  overflow: hidden;
  border-bottom: 0;
  color: light-dark(#1d1d1f, #f5f5f7);
  background: light-dark(#ffffff, #171b21);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
}

#ds-workbench-v19 .dw-shell.dw-project-mode .dw-project-unified-layout .dw-project-overview {
  max-height: none;
}

#ds-workbench-v19 .dw-project-overview .dw-project-back-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: light-dark(#5f6368, #aeb4bd);
  background: transparent;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

#ds-workbench-v19 .dw-project-overview .dw-project-back-link:hover {
  color: light-dark(#1d1d1f, #f5f5f7);
  background: transparent;
}

#ds-workbench-v19 .dw-project-overview-main {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  gap: 24px;
  min-width: 0;
}

#ds-workbench-v19 .dw-project-overview-lower {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  align-items: stretch;
  gap: 24px;
  min-width: 0;
  margin-top: 6px;
}

#ds-workbench-v19 .dw-project-identity,
#ds-workbench-v19 .dw-project-specialty-progress {
  min-width: 0;
}

#ds-workbench-v19 .dw-project-identity-head {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  min-width: 0;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover {
  width: 104px;
  height: 78px;
  border: 0;
  border-radius: 10px;
  box-shadow: none;
  background-color: light-dark(#e9e9eb, #2a3038);
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover[data-project-cover="wuma"] {
  background-image: url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover[data-project-cover="tianhe"] {
  background-image: url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover[data-project-cover="luofugong"] {
  background-image: url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80");
}

#ds-workbench-v19 .dw-project-overview .dw-cover-upload {
  right: 6px;
  bottom: 6px;
  min-height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 8px;
  color: #ffffff;
  background: rgba(29,29,31,.64);
  box-shadow: none;
  opacity: 0;
  transition: opacity .14s ease, background .14s ease;
}

#ds-workbench-v19 .dw-project-overview .dw-project-hero-cover:hover .dw-cover-upload,
#ds-workbench-v19 .dw-project-overview .dw-cover-upload:focus-visible {
  opacity: 1;
}

#ds-workbench-v19 .dw-project-overview .dw-cover-upload:hover {
  background: rgba(29,29,31,.82);
}

#ds-workbench-v19 .dw-project-title-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#ds-workbench-v19 .dw-project-title-line h2 {
  min-width: 0;
  margin: 0;
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: clamp(22px, 1.7vw, 24px);
  line-height: 1.22;
  font-weight: 650;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

#ds-workbench-v19 .dw-project-status-tag {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 8px;
  font-size: 11px;
  line-height: 1;
  font-weight: 650;
}

#ds-workbench-v19 .dw-project-status-tag.dw-status-blue {
  color: light-dark(#175cd3, #a8c7ff);
  background: light-dark(#eef5ff, rgba(47,128,237,.17));
}

#ds-workbench-v19 .dw-project-status-tag.dw-status-orange {
  color: light-dark(#9a5b00, #ffd08a);
  background: light-dark(#fff4df, rgba(245,158,11,.16));
}

#ds-workbench-v19 .dw-project-status-tag.dw-status-red {
  color: light-dark(#b42318, #ffb4ad);
  background: light-dark(#fff0ef, rgba(217,45,32,.16));
}

#ds-workbench-v19 .dw-project-status-tag.dw-status-green {
  color: light-dark(#067647, #8de0b5);
  background: light-dark(#ecfdf3, rgba(18,183,106,.15));
}

#ds-workbench-v19 .dw-project-status-tag.dw-status-gray {
  color: light-dark(#5f6368, #c0c6cf);
  background: light-dark(#f0f1f2, rgba(152,162,179,.16));
}

#ds-workbench-v19 .dw-project-identity-facts {
  display: grid;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

#ds-workbench-v19 .dw-project-identity-facts > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-width: 0;
}

#ds-workbench-v19 .dw-project-identity-facts dt {
  margin: 0;
  color: light-dark(#6e6e73, #9ea5ae);
}

#ds-workbench-v19 .dw-project-identity-facts dd {
  min-width: 0;
  margin: 0;
  color: light-dark(#343438, #e4e7eb);
  overflow-wrap: anywhere;
}

#ds-workbench-v19 .dw-project-confirmed-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

#ds-workbench-v19 .dw-project-supporting-info {
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: light-dark(#f5f5f7, #20262d);
}

#ds-workbench-v19 .dw-project-link-button,
#ds-workbench-v19 .dw-round-goal-change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid light-dark(#d2d2d7, #414851);
  border-radius: 8px;
  color: light-dark(#3a66b7, #a9c4ff);
  background: light-dark(#ffffff, #20262d);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}

#ds-workbench-v19 .dw-project-link-button:hover,
#ds-workbench-v19 .dw-round-goal-change:hover {
  border-color: light-dark(#a9bde1, #5b6f97);
  background: light-dark(#f5f8ff, #253047);
}

#ds-workbench-v19 .dw-round-goal-permission-note {
  color: light-dark(#7b8490, #929eab);
  font-size: 12px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-project-specialty-progress {
  padding-left: 24px;
  border-left: 1px solid light-dark(#d2d2d7, #343b45);
}

#ds-workbench-v19 .dw-project-specialty-progress h3 {
  margin: 0 0 4px;
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: 13px;
  line-height: 18px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-specialty-progress-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
  min-width: 0;
}

#ds-workbench-v19 .dw-specialty-progress-grid.dw-single {
  grid-template-columns: minmax(0, 1fr);
}

#ds-workbench-v19 .dw-specialty-progress-grid.dw-single .dw-specialty-progress-row {
  width: fit-content;
  max-width: 100%;
  min-width: min(100%, 420px);
}

#ds-workbench-v19 .dw-specialty-progress-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  padding: 5px 0;
  border-bottom: 1px solid light-dark(#e5e5e8, #303741);
  background: transparent;
}

#ds-workbench-v19 .dw-specialty-progress-row > strong {
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: 12px;
  line-height: 18px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-specialty-progress-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
  color: light-dark(#4b4b50, #d0d5dc);
  font-size: 12px;
  line-height: 18px;
}

#ds-workbench-v19 .dw-specialty-progress-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

#ds-workbench-v19 .dw-specialty-progress-item + .dw-specialty-progress-item::before {
  content: "／";
  color: light-dark(#a0a0a5, #6f7782);
}

#ds-workbench-v19 .dw-specialty-progress-state {
  color: light-dark(#6e6e73, #9ea5ae);
  white-space: nowrap;
}

#ds-workbench-v19 .dw-specialty-progress-more {
  color: light-dark(#3a66b7, #a9c4ff);
  white-space: nowrap;
}

#ds-workbench-v19 .dw-specialty-not-applicable {
  color: light-dark(#8a8a8f, #858d98);
}

#ds-workbench-v19 .dw-round-goal {
  min-width: 0;
  height: 100%;
  margin-top: 0;
  padding: 5px 10px;
  border: 0;
  border-radius: 10px;
  background: light-dark(#f5f5f7, #20262d);
}

#ds-workbench-v19 .dw-round-goal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 30px;
}

#ds-workbench-v19 .dw-round-goal-head strong {
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: 12px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-round-goal-copy {
  margin: 0;
  color: light-dark(#343438, #e2e5e9);
  font-size: 13px;
  line-height: 1.38;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#ds-workbench-v19 .dw-round-goal-meta {
  display: block;
  color: light-dark(#77777c, #929aa5);
  font-size: 11px;
  line-height: 14px;
}

#ds-workbench-v19 .dw-round-goal-editor {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}

#ds-workbench-v19 .dw-round-goal-editor textarea {
  width: 100%;
  min-height: 62px;
  padding: 9px 10px;
  border: 1px solid light-dark(#b8c8e5, #516486);
  border-radius: 8px;
  color: light-dark(#1d1d1f, #f5f5f7);
  background: light-dark(#ffffff, #171b21);
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
  resize: vertical;
}

#ds-workbench-v19 .dw-round-goal-editor textarea:focus {
  border-color: #2f80ed;
  outline: none;
  box-shadow: 0 0 0 3px light-dark(rgba(47,128,237,.12), rgba(120,163,255,.18));
}

#ds-workbench-v19 .dw-round-goal-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#ds-workbench-v19 .dw-round-goal-action-primary {
  display: flex;
  gap: 8px;
}

#ds-workbench-v19 .dw-round-goal-actions button {
  min-height: 30px;
  padding: 0 11px;
  border-radius: 8px;
}

#ds-workbench-v19 .dw-round-goal-clear {
  border: 1px solid light-dark(#e1b8b5, #704642);
  color: light-dark(#b42318, #ffb4ad);
  background: light-dark(#fffafa, #2a2021);
}

#ds-workbench-v19 .dw-round-goal-clear:hover {
  border-color: light-dark(#cf8e89, #9a5b56);
  background: light-dark(#fff2f1, #342426);
}

#ds-workbench-v19 .dw-project-module-tabs {
  margin-top: 0;
}

@media (max-width: 1120px) {
  #ds-workbench-v19 .dw-project-overview-main,
  #ds-workbench-v19 .dw-project-overview-lower {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  #ds-workbench-v19 .dw-project-specialty-progress {
    padding-top: 10px;
    padding-left: 0;
    border-top: 1px solid light-dark(#d2d2d7, #343b45);
    border-left: 0;
  }
}

/* v0.32：任务表第一列表达项目分组与任务，并按项目总表状态筛选。 */
#ds-workbench-v19 .dw-project-task-th {
  position: relative;
  overflow: visible !important;
}

#ds-workbench-v19 .dw-project-task-header-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  max-width: 100%;
  padding: 0 8px;
  border: 0;
  border-radius: 8px;
  color: light-dark(#5f6874, #aeb6c0);
  background: transparent;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

#ds-workbench-v19 .dw-project-task-header-button:hover {
  color: light-dark(#1d1d1f, #f5f5f7);
  background: light-dark(#f0f2f5, #303842);
}

#ds-workbench-v19 .dw-project-task-header-button.dw-active {
  color: light-dark(#175cd3, #a8c7ff);
  background: light-dark(#eef5ff, rgba(47,128,237,.17));
}

#ds-workbench-v19 .dw-project-task-header-button > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-project-task-header-button .dw-header-chevron {
  flex: 0 0 auto;
  color: light-dark(#7f8791, #9099a5);
  font-size: 11px;
}

#ds-workbench-v19 .dw-project-status-menu {
  position: absolute;
  z-index: 30;
  top: 38px;
  left: 8px;
  display: grid;
  gap: 3px;
  width: 190px;
  max-height: 352px;
  padding: 6px;
  overflow: auto;
  border: 1px solid light-dark(#d8dce2, #414851);
  border-radius: 10px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 10px 28px rgba(15,23,42,.14);
}

#ds-workbench-v19 .dw-project-status-menu-label {
  padding: 5px 8px 4px;
  color: light-dark(#8a8f98, #8e97a3);
  font-size: 10px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-project-status-menu button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  padding: 0 8px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#3f4650, #d3d8df);
  background: transparent;
  text-align: left;
  font-size: 12px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-project-status-menu button:hover,
#ds-workbench-v19 .dw-project-status-menu button.dw-active {
  color: light-dark(#175cd3, #b8ceff);
  background: light-dark(#eef5ff, rgba(47,128,237,.17));
}

#ds-workbench-v19 .dw-project-status-menu button span:last-child {
  min-width: 14px;
  text-align: right;
}

#ds-workbench-v19 .dw-task-table-wrap:has(.dw-project-status-menu) {
  overflow: visible;
}

#ds-workbench-v19 .dw-table-group-row .dw-project-status-tag {
  min-height: 22px;
  padding: 0 8px;
  font-size: 10px;
}

/* v0.33：成果文件扁平化、全局属性筛选与单文件属性更正。 */
#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded,
#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body,
#ds-workbench-v19 .dw-owner-file-panel,
#ds-workbench-v19 .dw-owner-file-panel .dw-design-section {
  min-width: 0;
  min-height: 0;
  height: 100%;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-project-collab-embedded-body {
  padding: 12px;
  background: light-dark(#f5f5f7, #1b2027);
}

#ds-workbench-v19 .dw-owner-file-panel .dw-design-section {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#ds-workbench-v19 .dw-output-toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 46px;
  padding: 0 4px 10px;
}

#ds-workbench-v19 .dw-output-toolbar > strong {
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: 14px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-output-toolbar > span {
  color: light-dark(#6e6e73, #9ea5ae);
  font-size: 11px;
}

#ds-workbench-v19 .dw-output-toolbar-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

#ds-workbench-v19 .dw-output-toolbar-actions > span {
  color: light-dark(#6e6e73, #9ea5ae);
  font-size: 11px;
}

#ds-workbench-v19 .dw-output-toolbar-actions > button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid light-dark(#cfd5de, #414a56);
  border-radius: 8px;
  color: light-dark(#285fae, #8db5f2);
  background: light-dark(#ffffff, #242b34);
  font-size: 11px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-output-toolbar-actions > button:hover {
  border-color: light-dark(#9fb9df, #5c7191);
  background: light-dark(#f5f8fc, #283445);
}

#ds-workbench-v19 .dw-batch-record-source {
  padding: 2px 5px;
  border: 1px solid light-dark(#d4dbe5, #465262);
  border-radius: 5px;
  color: light-dark(#657080, #a7b2c0);
  background: light-dark(#f7f8fa, #262d36);
  font-size: 9px;
}

#ds-workbench-v19 .dw-stage-backfill-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid light-dark(#dce3ec, #3c4653);
  border-radius: 9px;
  background: light-dark(#f8fafc, #202731);
}

#ds-workbench-v19 .dw-stage-backfill-context[hidden] { display: none; }
#ds-workbench-v19 .dw-stage-backfill-context strong { font-size: 13px; font-weight: 600; }
#ds-workbench-v19 .dw-stage-backfill-context small { color: light-dark(#777f8b, #9aa5b2); font-size: 11px; }

#ds-workbench-v19 .dw-output-segment,
#ds-workbench-v19 .dw-upload-property-segment {
  display: inline-flex;
  width: fit-content;
  padding: 3px;
  border-radius: 9px;
  background: light-dark(#e8e9ec, #2b323b);
}

#ds-workbench-v19 .dw-output-segment button,
#ds-workbench-v19 .dw-upload-property-segment button {
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#5f6368, #aeb5bf);
  background: transparent;
  font-size: 11px;
  font-weight: 550;
  cursor: pointer;
}

#ds-workbench-v19 .dw-output-segment button span {
  margin-left: 4px;
  color: inherit;
  font-variant-numeric: tabular-nums;
}

#ds-workbench-v19 .dw-output-segment button.dw-active,
#ds-workbench-v19 .dw-upload-property-segment button.dw-active {
  color: light-dark(#1d1d1f, #f5f5f7);
  background: light-dark(#ffffff, #424a55);
  box-shadow: 0 1px 3px rgba(15,23,42,.10);
}

#ds-workbench-v19 .dw-field-label {
  color: light-dark(#667085, #98a2b3);
  font-size: 11px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-upload-property-segment {
  margin-top: 5px;
}

#ds-workbench-v19 .dw-stage-file-board {
  display: grid;
  grid-template-columns: repeat(var(--dw-output-columns, 4), minmax(270px, 1fr));
  align-items: stretch;
  gap: 16px;
  min-width: 0;
  min-height: 0;
  padding: 0 2px 2px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-stage-discipline-column {
  display: grid;
  grid-template-rows: 40px minmax(0, 1fr);
  min-width: 270px;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid light-dark(#dedfe3, #373e48);
  border-radius: 11px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: none;
}

#ds-workbench-v19 .dw-stage-discipline-column header {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border-bottom: 1px solid light-dark(#ececef, #303741);
  background: transparent;
}

#ds-workbench-v19 .dw-stage-discipline-column header strong {
  color: light-dark(#1d1d1f, #f5f5f7);
  font-size: 13px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-stage-discipline-column header strong::before {
  display: none;
  content: none;
}

#ds-workbench-v19 .dw-stage-discipline-column header strong span {
  margin-left: 5px;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  color: light-dark(#7b7b80, #959da8);
  background: transparent;
  font-size: 11px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-stage-column-stack {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
  padding: 10px;
  overflow-y: auto;
  overflow-x: visible;
  scrollbar-width: thin;
}

#ds-workbench-v19 .dw-result-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  min-height: 104px;
  padding: 10px;
  overflow: visible;
  border: 1px solid light-dark(#e0e2e6, #363e48);
  border-radius: 9px;
  background: light-dark(#ffffff, #242b33);
  box-shadow: none;
  cursor: pointer;
  transition: border-color .12s ease, background .12s ease;
}

#ds-workbench-v19 .dw-result-card:hover {
  border-color: light-dark(#b9c8df, #52627a);
  background: light-dark(#fbfcfe, #28313b);
}

#ds-workbench-v19 .dw-result-card:focus-visible {
  outline: 2px solid rgba(47,128,237,.35);
  outline-offset: 1px;
}

#ds-workbench-v19 .dw-result-card-head {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

#ds-workbench-v19 .dw-result-file-icon {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 28px;
  border-radius: 6px;
  color: #ffffff;
  background: #d92d20;
  font-size: 8px;
  line-height: 1;
  font-weight: 750;
}

#ds-workbench-v19 .dw-result-card-head > strong,
#ds-workbench-v19 .dw-task-stage-file-name {
  min-width: 0;
  overflow: hidden;
  color: light-dark(#29292d, #eef1f5);
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-result-card > p {
  display: -webkit-box;
  min-height: 34px;
  margin: 0;
  overflow: hidden;
  color: light-dark(#525258, #bdc4ce);
  font-size: 11px;
  line-height: 17px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#ds-workbench-v19 .dw-result-card > small {
  margin-top: auto;
  color: light-dark(#85858b, #9099a5);
  font-size: 10px;
  line-height: 14px;
}

#ds-workbench-v19 .dw-output-property-control {
  position: relative;
  z-index: 4;
  display: inline-flex;
  flex: 0 0 auto;
}

#ds-workbench-v19 .dw-output-property-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 0 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-output-property-tag.dw-internal {
  border-color: light-dark(#dedfe3, #454c56);
  color: light-dark(#646469, #c4cad2);
  background: light-dark(#f2f2f4, #303740);
}

#ds-workbench-v19 .dw-output-property-tag.dw-delivery {
  border-color: light-dark(#b9ddd3, #35675c);
  color: light-dark(#18715e, #8ed7c5);
  background: light-dark(#edf8f4, rgba(34,139,115,.16));
}

#ds-workbench-v19 .dw-output-property-menu {
  position: absolute;
  z-index: 40;
  top: 30px;
  right: 0;
  display: grid;
  gap: 3px;
  width: 118px;
  padding: 5px;
  border: 1px solid light-dark(#d8dce2, #414851);
  border-radius: 9px;
  background: light-dark(#ffffff, #20262d);
  box-shadow: 0 10px 24px rgba(15,23,42,.14);
}

#ds-workbench-v19 .dw-output-property-menu button {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 4px;
  align-items: center;
  min-height: 28px;
  padding: 0 7px;
  border: 0;
  border-radius: 6px;
  color: light-dark(#44444a, #d7dce3);
  background: transparent;
  text-align: left;
  font-size: 11px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-output-property-menu button:hover,
#ds-workbench-v19 .dw-output-property-menu button.dw-active {
  color: light-dark(#175cd3, #b8ceff);
  background: light-dark(#eef5ff, rgba(47,128,237,.17));
}

#ds-workbench-v19 .dw-task-stage-files-section {
  display: grid;
  gap: 8px;
}

#ds-workbench-v19 .dw-task-stage-files {
  display: grid;
  gap: 8px;
}

#ds-workbench-v19 .dw-task-stage-file-row {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 9px 10px;
  overflow: visible;
  border: 1px solid light-dark(#e0e2e6, #363e48);
  border-radius: 9px;
  background: light-dark(#ffffff, #242b33);
}

#ds-workbench-v19 .dw-task-stage-file-row > small {
  grid-column: 2 / -1;
  color: light-dark(#85858b, #9099a5);
  font-size: 10px;
}

#ds-workbench-v19 .dw-task-stage-empty {
  padding: 12px;
  border: 1px dashed light-dark(#d8dce2, #414851);
  border-radius: 9px;
  color: light-dark(#85858b, #9099a5);
  font-size: 11px;
  text-align: center;
}

/* v0.41：在行项目本地筛选与按需归档候选。 */
#ds-workbench-v19 .dw-project-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
}
#ds-workbench-v19 .dw-project-catalog-filters button,
#ds-workbench-v19 .dw-project-catalog-filters select,
#ds-workbench-v19 .dw-archive-pager button {
  height: 32px;
  border: 1px solid #d2d2d7;
  border-radius: 9px;
  background: #fff;
  color: #1d1d1f;
}
#ds-workbench-v19 .dw-project-catalog-filters button { padding: 0 12px; }
#ds-workbench-v19 .dw-project-catalog-filters button.dw-active { border-color: #2f6feb; color: #1f5fd5; background: #f4f8ff; }
#ds-workbench-v19 .dw-project-catalog-filters label { display: inline-flex; align-items: center; gap: 6px; color: #6e6e73; font-size: 12px; }
#ds-workbench-v19 .dw-project-catalog-filters select { min-width: 130px; padding: 0 8px; }
#ds-workbench-v19 .dw-project-card-copy small { display: block; margin-top: 4px; color: #6e6e73; font-size: 11px; }
#ds-workbench-v19 .dw-archive-project-panel { margin-top: 20px; padding: 16px; border-radius: 12px; background: #f5f5f7; }
#ds-workbench-v19 .dw-archive-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; color: #6e6e73; font-size: 12px; }
#ds-workbench-v19 .dw-archive-head strong { color: #1d1d1f; font-size: 14px; }
#ds-workbench-v19 .dw-archive-project-panel > button { display: flex; width: 100%; justify-content: space-between; padding: 11px 12px; border: 0; border-top: 1px solid #e5e5ea; background: transparent; text-align: left; }
#ds-workbench-v19 .dw-archive-project-panel > button span { color: #6e6e73; }
#ds-workbench-v19 .dw-archive-pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 12px; }
#ds-workbench-v19 .dw-archive-pager button { padding: 0 10px; }
.dw-result-share{height:28px;padding:0 10px;border:1px solid #d2d2d7;border-radius:8px;background:#fff;color:#2671ed;font:inherit;cursor:pointer}.dw-result-share:disabled{color:#86868b;background:#f5f5f7;cursor:wait}

/* R6.2本地候选：项目专业范围 + 交付批次×专业矩阵。生产结构授权前不接真实写入。 */
#ds-workbench-v19 .dw-specialty-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 4px;
}

#ds-workbench-v19 .dw-specialty-progress-head h3 { margin: 0; }

#ds-workbench-v19 .dw-specialty-progress-head button {
  min-height: 26px;
  padding: 0 8px;
  border: 1px solid light-dark(#d2d2d7, #414851);
  border-radius: 7px;
  color: light-dark(#3a66b7, #a9c4ff);
  background: transparent;
  font-size: 10px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-specialty-progress-row.dw-not-involved { opacity: .62; }
#ds-workbench-v19 .dw-specialty-progress-row.dw-involved > strong::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 5px;
  border-radius: 50%;
  background: #2f80ed;
  content: "";
  vertical-align: 1px;
}

#ds-workbench-v19 .dw-specialty-included-empty { color: light-dark(#3a66b7, #a9c4ff); }

#ds-workbench-v19 .dw-specialty-range-editor {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 6px 0 8px;
  padding: 8px;
  border: 1px solid light-dark(#dce4f0, #3d4a5d);
  border-radius: 9px;
  background: light-dark(#f7faff, #202a38);
}

#ds-workbench-v19 .dw-specialty-range-editor label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0 5px;
  min-height: 34px;
  padding: 5px 7px;
  border-radius: 7px;
  background: light-dark(#fff, #293340);
  font-size: 11px;
}

#ds-workbench-v19 .dw-specialty-range-editor label small {
  grid-column: 2;
  color: light-dark(#6e6e73, #9ea5ae);
  font-size: 9px;
}

#ds-workbench-v19 .dw-specialty-range-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}

#ds-workbench-v19 .dw-specialty-range-actions button { min-height: 28px; }

#ds-workbench-v19 .dw-delivery-batches { min-width: 0; }

#ds-workbench-v19 .dw-batch-context-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 10px 0;
  padding: 8px 10px;
  border-radius: 9px;
  background: light-dark(#f5f7fa, #252c35);
}

#ds-workbench-v19 .dw-batch-context-actions > span {
  margin-right: auto;
  color: light-dark(#343438, #e4e7eb);
  font-size: 12px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-batch-context-actions button {
  min-height: 29px;
  padding: 0 9px;
  border: 1px solid light-dark(#d2d2d7, #414851);
  border-radius: 7px;
  color: light-dark(#3a66b7, #a9c4ff);
  background: light-dark(#fff, #20262d);
  font-size: 10px;
  cursor: pointer;
}

#ds-workbench-v19 .dw-batch-action-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid light-dark(#b9cbea, #4b6288);
  border-radius: 10px;
  background: light-dark(#f7faff, #202a38);
}

#ds-workbench-v19 .dw-batch-action-panel > div:first-child,
#ds-workbench-v19 .dw-batch-action-panel > p,
#ds-workbench-v19 .dw-batch-action-panel-buttons { grid-column: 1 / -1; }
#ds-workbench-v19 .dw-batch-action-panel > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
#ds-workbench-v19 .dw-batch-action-panel > div:first-child span { color: light-dark(#6e6e73, #9ea5ae); }
#ds-workbench-v19 .dw-batch-action-panel p { margin: 0; color: light-dark(#4b4b50, #c9ced6); font-size: 11px; }
#ds-workbench-v19 .dw-batch-action-panel label { display: grid; gap: 5px; color: light-dark(#5f6368, #aeb5bf); font-size: 10px; }
#ds-workbench-v19 .dw-batch-action-panel input,
#ds-workbench-v19 .dw-batch-action-panel select,
#ds-workbench-v19 .dw-batch-action-panel textarea { width: 100%; min-height: 34px; padding: 7px 9px; border: 1px solid light-dark(#d2d2d7, #414851); border-radius: 8px; color: inherit; background: light-dark(#fff, #191e24); font: inherit; resize: vertical; }
#ds-workbench-v19 .dw-batch-action-panel-buttons { display: flex; justify-content: flex-end; gap: 8px; }

#ds-workbench-v19 .dw-batch-matrix-desktop {
  max-width: 100%;
  overflow: hidden;
  border: 1px solid light-dark(#dedfe3, #373e48);
  border-radius: 10px;
}

#ds-workbench-v19 .dw-batch-matrix-desktop table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  background: light-dark(#fff, #20262d);
}

#ds-workbench-v19 .dw-batch-matrix-desktop th,
#ds-workbench-v19 .dw-batch-matrix-desktop td {
  padding: 9px 8px;
  border-right: 1px solid light-dark(#ececef, #303741);
  border-bottom: 1px solid light-dark(#ececef, #303741);
  text-align: left;
  vertical-align: top;
  font-size: 10px;
}

#ds-workbench-v19 .dw-batch-matrix-desktop th:first-child { width: 82px; }
#ds-workbench-v19 .dw-batch-matrix-desktop thead th:nth-child(n+2):nth-child(-n+5) { width: 64px; text-align: center; }
#ds-workbench-v19 .dw-batch-matrix-desktop tbody th strong,
#ds-workbench-v19 .dw-batch-matrix-desktop tbody th span { display: block; }
#ds-workbench-v19 .dw-batch-matrix-desktop tbody th strong { color: light-dark(#1d1d1f, #f5f5f7); font-size: 14px; }
#ds-workbench-v19 .dw-batch-matrix-desktop tbody th span { margin-top: 4px; color: light-dark(#6e6e73, #9ea5ae); font-weight: 500; }
#ds-workbench-v19 .dw-batch-specialty-cell { color: light-dark(#9a9aa0, #727b87); text-align: center !important; }
#ds-workbench-v19 .dw-batch-specialty-cell.dw-included { color: light-dark(#176b58, #86d4c1); background: light-dark(#eff9f5, rgba(36,151,122,.13)); font-weight: 650; }

#ds-workbench-v19 .dw-batch-records { display: grid; gap: 6px; min-width: 0; }
#ds-workbench-v19 .dw-batch-record {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 6px 7px;
  border-radius: 7px;
  background: light-dark(#f7f7f8, #29313a);
}
#ds-workbench-v19 .dw-batch-record-role { padding: 2px 5px; border-radius: 5px; color: light-dark(#3a66b7, #a9c4ff); background: light-dark(#eaf1ff, #2a3952); white-space: nowrap; }
#ds-workbench-v19 .dw-batch-record strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
#ds-workbench-v19 .dw-batch-record small { color: light-dark(#7b7b80, #959da8); white-space: nowrap; }
#ds-workbench-v19 .dw-batch-note .dw-batch-record-role { color: light-dark(#8a5a12, #e8c17a); background: light-dark(#fff5df, #3a3020); }

#ds-workbench-v19 .dw-batch-cards-mobile { display: none; }
#ds-workbench-v19 .dw-legacy-results { margin-top: 12px; padding: 9px 10px; border: 1px dashed light-dark(#d2d2d7, #414851); border-radius: 9px; color: light-dark(#5f6368, #aeb5bf); font-size: 11px; }
#ds-workbench-v19 .dw-legacy-results summary { cursor: pointer; font-weight: 650; }
#ds-workbench-v19 .dw-legacy-results > div { display: grid; gap: 5px; margin-top: 8px; }
#ds-workbench-v19 .dw-legacy-results article { display: flex; justify-content: space-between; gap: 10px; min-width: 0; padding: 6px; border-radius: 6px; background: light-dark(#f7f7f8, #29313a); }
#ds-workbench-v19 .dw-legacy-results article strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ds-workbench-v19 .dw-legacy-results article span { white-space: nowrap; }
#ds-workbench-v19 .dw-legacy-results > small { display: block; margin-top: 7px; }

@media (max-width: 700px) {
  html,
  body { min-width: 0; width: 100%; max-width: 100%; overflow-x: hidden; }
  #ds-workbench-v19,
  #ds-workbench-v19 .dw-desktop-stage,
  #ds-workbench-v19 .dw-shell,
  #ds-workbench-v19 .dw-shell.dw-project-mode { width: 100%; min-width: 0; max-width: 100%; }
  #ds-workbench-v19 .dw-desktop-stage { height: auto; min-height: 100vh; overflow-x: hidden; }
  #ds-workbench-v19 .dw-shell,
  #ds-workbench-v19 .dw-shell.dw-project-mode { grid-template-columns: minmax(0, 1fr) !important; height: auto; min-height: 100vh; overflow: visible; }
  #ds-workbench-v19 .dw-sidebar { grid-column: 1; width: 100%; min-width: 0; }
  #ds-workbench-v19 .dw-main { grid-column: 1; width: 100%; min-width: 0; overflow: visible; }
  #ds-workbench-v19 .dw-content { width: 100%; min-width: 0; height: auto; overflow-x: hidden; }
  #ds-workbench-v19 .dw-project-overview,
  #ds-workbench-v19 .dw-project-overview-main,
  #ds-workbench-v19 .dw-project-overview-lower,
  #ds-workbench-v19 .dw-project-red-zone,
  #ds-workbench-v19 .dw-project-module-content,
  #ds-workbench-v19 .dw-design-section,
  #ds-workbench-v19 .dw-delivery-batches { width: 100%; min-width: 0; max-width: 100%; }
  #ds-workbench-v19 .dw-project-identity-head { grid-template-columns: minmax(0, 1fr); }
  #ds-workbench-v19 .dw-project-hero-cover { width: 100%; max-width: 132px; }
  #ds-workbench-v19 .dw-project-title-line { flex-wrap: wrap; }
  #ds-workbench-v19 .dw-project-title-line h2 { font-size: 18px; overflow-wrap: anywhere; }
  #ds-workbench-v19 .dw-output-toolbar { flex-wrap: wrap; }
  #ds-workbench-v19 .dw-output-toolbar > strong { width: 100%; }
  #ds-workbench-v19 .dw-output-toolbar-actions { width: 100%; justify-content: space-between; }
  #ds-workbench-v19 .dw-stage-backfill-context { grid-template-columns: minmax(0, 1fr); }
  #ds-workbench-v19 .dw-specialty-range-editor { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ds-workbench-v19 .dw-specialty-progress-grid { grid-template-columns: minmax(0, 1fr); }
  #ds-workbench-v19 .dw-batch-context-actions { align-items: stretch; }
  #ds-workbench-v19 .dw-batch-context-actions > span { width: 100%; margin-right: 0; }
  #ds-workbench-v19 .dw-batch-context-actions button { flex: 1 1 calc(50% - 7px); min-height: 36px; }
  #ds-workbench-v19 .dw-batch-action-panel { grid-template-columns: minmax(0, 1fr); }
  #ds-workbench-v19 .dw-batch-action-panel > * { grid-column: 1 !important; }
  #ds-workbench-v19 .dw-batch-action-panel > div:first-child { flex-direction: column; }
  #ds-workbench-v19 .dw-batch-matrix-desktop { display: none; }
  #ds-workbench-v19 .dw-batch-cards-mobile { display: grid; gap: 9px; max-width: 100%; overflow: hidden; }
  #ds-workbench-v19 .dw-batch-mobile-card { min-width: 0; padding: 10px; border: 1px solid light-dark(#dedfe3, #373e48); border-radius: 10px; background: light-dark(#fff, #20262d); }
  #ds-workbench-v19 .dw-batch-mobile-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  #ds-workbench-v19 .dw-batch-mobile-card header strong { font-size: 16px; }
  #ds-workbench-v19 .dw-batch-mobile-card header span { color: light-dark(#6e6e73, #9ea5ae); font-size: 11px; }
  #ds-workbench-v19 .dw-batch-specialty-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
  #ds-workbench-v19 .dw-batch-specialty-tags span { padding: 3px 7px; border-radius: 999px; color: light-dark(#176b58, #86d4c1); background: light-dark(#eff9f5, rgba(36,151,122,.13)); font-size: 10px; }
  #ds-workbench-v19 .dw-batch-record { grid-template-columns: auto minmax(0, 1fr); }
  #ds-workbench-v19 .dw-batch-record small { grid-column: 2; white-space: normal; }
  #ds-workbench-v19 .dw-legacy-results article { display: grid; }
  #ds-workbench-v19 .dw-legacy-results article span { white-space: normal; }
}

/* v0.43：任务区占满窗口剩余高度；各状态列表独立滚动，不留下固定高度空白。 */
@media (min-width: 701px) {
  #ds-workbench-v19 #dw-tasks-view.dw-active {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
  }

  #ds-workbench-v19 .dw-task-page-title-row {
    flex: 0 0 auto;
  }

  #ds-workbench-v19 .dw-project-groups {
    flex: 1 1 auto;
    min-height: 0;
  }

  #ds-workbench-v19 .dw-status-board {
    height: 100%;
    min-height: 0;
    max-height: none;
    align-items: stretch;
    overflow-y: visible;
  }

  #ds-workbench-v19 .dw-status-column {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    min-height: 0;
    padding-right: 6px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: light-dark(#cbd5e1, #46515e) transparent;
  }

  #ds-workbench-v19 .dw-status-column > * {
    flex: 0 0 auto;
  }

  #ds-workbench-v19 .dw-status-column::-webkit-scrollbar {
    width: 6px;
  }

  #ds-workbench-v19 .dw-status-column::-webkit-scrollbar-track {
    background: transparent;
  }

  #ds-workbench-v19 .dw-status-column::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: light-dark(#cbd5e1, #46515e);
  }
}

@media (max-width: 700px) {
  #ds-workbench-v19 .dw-status-board {
    height: auto;
    max-height: none;
    overflow-x: auto;
    overflow-y: visible;
  }

  #ds-workbench-v19 .dw-status-column {
    height: auto;
    max-height: none;
    overflow: visible;
  }
}

/* D包唯一维护区：任务页常驻筛选、看板列与任务卡视觉。 */
#ds-workbench-v19 .dw-task-page-title-row {
  align-items: center;
  margin-bottom: 10px;
}

#ds-workbench-v19 .dw-task-filters {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

#ds-workbench-v19 .dw-task-filters::-webkit-scrollbar {
  display: none;
}

#ds-workbench-v19 .dw-task-filter-control {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 32px;
  padding: 0 8px 0 10px;
  border: 1px solid light-dark(#dde1e6, #3a424c);
  border-radius: 8px;
  color: light-dark(#5f6670, #b4bdc8);
  background: light-dark(#f7f7f8, #242a32);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-task-filter-control.dw-active {
  border-color: light-dark(#8ab5ff, #5d8fe8);
  color: light-dark(#175cd3, #b9d0ff);
  background: light-dark(#eef5ff, rgba(47,128,237,.14));
  box-shadow: none;
}

#ds-workbench-v19 .dw-task-filter-control > span {
  flex: 0 0 auto;
  font-weight: 600;
}

#ds-workbench-v19 .dw-task-filter-control select {
  width: auto;
  max-width: 128px;
  min-height: 30px;
  padding: 0 20px 0 0;
  border: 0;
  color: inherit;
  background-color: transparent;
  font: inherit;
  font-weight: 600;
  box-shadow: none;
  cursor: pointer;
}

#ds-workbench-v19 .dw-task-filter-reset {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 9px;
  border: 0;
  border-radius: 8px;
  color: light-dark(#175cd3, #a8c7ff);
  background: transparent;
  font-size: 11px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-task-filter-reset:hover {
  background: light-dark(#eef5ff, rgba(47,128,237,.14));
}

#ds-workbench-v19 .dw-task-result-count {
  flex: 0 0 auto;
  color: light-dark(#8b949e, #8994a0);
  font-size: 11px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-task-empty-state {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 8px;
  min-height: 180px;
  padding: 24px;
  border: 0;
  border-radius: 0;
  color: light-dark(#667085, #a2acb8);
  background: transparent;
  text-align: center;
}

#ds-workbench-v19 .dw-task-empty-state strong {
  color: light-dark(#344054, #e1e7ee);
  font-size: 14px;
}

#ds-workbench-v19 .dw-task-empty-state span {
  font-size: 12px;
}

#ds-workbench-v19 .dw-status-board.dw-single-status {
  grid-template-columns: minmax(260px, 380px);
  justify-content: start;
}

#ds-workbench-v19 .dw-status-board {
  display: grid;
  grid-template-columns: repeat(6, minmax(148px, 1fr));
  gap: 14px;
  min-height: 0;
  padding-right: 4px;
}

#ds-workbench-v19 .dw-status-column {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

#ds-workbench-v19 .dw-status-column-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 0 2px 3px;
  overflow: hidden;
  color: light-dark(#303944, #dce2ea);
  background: light-dark(#ffffff, #171b21);
  font-size: 13px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-status-column-count {
  color: light-dark(#9299a3, #7e8996);
  font-size: 11px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-kanban-task {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  min-width: 0;
  height: auto;
  padding: 10px;
  border: 1px solid light-dark(#e4e7ec, #323942);
  border-radius: 10px;
  color: inherit;
  background: light-dark(#ffffff, #1d2229);
  text-align: left;
  white-space: normal;
  box-shadow: 0 1px 2px light-dark(rgba(15,23,42,.025), rgba(0,0,0,.12));
  cursor: pointer;
  transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease;
}

#ds-workbench-v19 .dw-kanban-task:hover {
  border-color: light-dark(#cfd5dd, #46515d);
  background: light-dark(#fefefe, #20262d);
  box-shadow: 0 2px 7px light-dark(rgba(15,23,42,.055), rgba(0,0,0,.2));
}

#ds-workbench-v19 .dw-kanban-task strong.dw-kanban-task-title {
  display: -webkit-box;
  min-height: 0;
  padding-right: 26px;
  overflow: hidden;
  color: light-dark(#1f2937, #eef2f6);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#ds-workbench-v19 .dw-kanban-task-project {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: light-dark(#6e737b, #9aa5b2);
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-kanban-task-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin: 0;
  overflow: visible;
}

#ds-workbench-v19 .dw-task-dimension-chip {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 3px 7px;
  border-radius: 6px;
  color: light-dark(#475467, #bdc5cf);
  background: light-dark(#eef1f5, #2d3540);
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-task-dimension-chip.dw-cost {
  color: light-dark(#8a4b08, #ffc477);
  background: light-dark(#fff5e8, rgba(245,158,11,.14));
}

#ds-workbench-v19 .dw-task-dimension-chip.dw-board {
  color: light-dark(#475467, #c2cad4);
  background: light-dark(#f0f2f5, #303842);
}

#ds-workbench-v19 .dw-kanban-task .dw-node-chip {
  max-width: 100%;
  padding-inline: 7px;
}

#ds-workbench-v19 .dw-kanban-task .dw-node-chip,
#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding-block: 3px;
  border: 0;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-kanban-task .dw-node-chip {
  flex: 0 1 auto;
  overflow: hidden;
  color: light-dark(#515761, #a0aec0);
  background: light-dark(#f0f1f3, #2d3748);
  text-overflow: ellipsis;
}

#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip {
  flex: 0 0 auto;
}

#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip[data-value="室内"] { color: #245fcb; background: #edf4ff; }
#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip[data-value="建筑"] { color: #9a570c; background: #fff5e8; }
#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip[data-value="结构"] { color: #6941c6; background: #f4f0ff; }
#ds-workbench-v19 .dw-kanban-task .dw-specialty-chip[data-value="园林"] { color: #237a45; background: #edf8f1; }

#ds-workbench-v19 .dw-kanban-task-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 7px;
  min-width: 0;
  padding-top: 1px;
}

#ds-workbench-v19 .dw-card-assignee {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
  color: light-dark(#475467, #c3cbd5);
  font-size: 10.5px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-card-assignee > span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
}

#ds-workbench-v19 .dw-card-avatar {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: light-dark(#245fcb, #c3d5ff);
  background: light-dark(#e8f1ff, #293b5a);
  font-size: 10px;
  font-weight: 700;
}

#ds-workbench-v19 .dw-card-attachment {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 2px;
  color: light-dark(#667085, #9aa5b2);
  font-size: 10.5px;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-card-attachment > span {
  font-size: 10px;
  filter: grayscale(1);
}

#ds-workbench-v19 .dw-kanban-task .dw-kanban-task-dates {
  flex: 0 0 100%;
  width: 100%;
  margin: 0;
  color: light-dark(#667085, #9aa5b2);
  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-kanban-task .dw-date-soon {
  color: light-dark(#b54708, #ffbd76);
}

#ds-workbench-v19 .dw-kanban-task .dw-date-today,
#ds-workbench-v19 .dw-kanban-task .dw-date-overdue {
  color: light-dark(#d92d20, #ff8f87);
  font-weight: 650;
}

#ds-workbench-v19 .dw-task-card-more {
  position: absolute;
  z-index: 3;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  min-height: 28px;
  padding: 0 0 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: light-dark(#7a8490, #98a2ae);
  background: transparent;
  font-size: 20px;
  line-height: 1;
}

#ds-workbench-v19 .dw-task-card-more:hover,
#ds-workbench-v19 .dw-task-card-more[aria-expanded="true"] {
  border-color: light-dark(#d8dee7, #46515d);
  color: light-dark(#344054, #eef2f7);
  background: light-dark(#ffffff, #303842);
}

#ds-workbench-v19 .dw-task-card-menu {
  position: absolute;
  z-index: 5;
  top: 37px;
  right: 7px;
  min-width: 112px;
  padding: 5px;
  border: 1px solid light-dark(#d8dee7, #46515d);
  border-radius: 9px;
  background: light-dark(#ffffff, #252c35);
  box-shadow: 0 8px 18px rgba(15,23,42,.12);
}

#ds-workbench-v19 .dw-task-card-menu button {
  width: 100%;
  min-height: 30px;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#b42318, #ffaba5);
  background: transparent;
  text-align: left;
  font-size: 11px;
}

#ds-workbench-v19 .dw-task-card-menu button:hover {
  background: light-dark(#fff1f0, rgba(217,45,32,.14));
}

@media (max-width: 1180px) and (min-width: 701px) {
  #ds-workbench-v19 .dw-task-page-title-row h2,
  #ds-workbench-v19 .dw-task-scope-switch,
  #ds-workbench-v19 .dw-task-title-actions {
    order: 1;
  }

  #ds-workbench-v19 .dw-task-title-actions {
    width: auto;
    margin-left: auto;
  }

  #ds-workbench-v19 .dw-task-filters {
    order: 2;
    flex-basis: 100%;
  }
}

@media (max-width: 700px) {
  #ds-workbench-v19 .dw-task-page-title-row {
    align-items: center;
    gap: 9px;
  }

  #ds-workbench-v19 .dw-task-page-title-row h2 {
    font-size: 20px;
  }

  #ds-workbench-v19 .dw-task-filters {
    order: 3;
    flex: 1 1 100%;
    flex-wrap: wrap;
    width: 100%;
    overflow-x: visible;
    padding-bottom: 2px;
  }

  #ds-workbench-v19 .dw-task-filter-control {
    flex: 1 1 calc(50% - 4px);
    min-width: 150px;
    min-height: 44px;
  }

  #ds-workbench-v19 .dw-task-filter-control select {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 42px;
    max-width: none;
  }

  #ds-workbench-v19 .dw-task-card-more {
    top: 0;
    right: 0;
    width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 10px;
  }

  #ds-workbench-v19 .dw-task-card-menu {
    top: 42px;
    right: 0;
  }

  #ds-workbench-v19 .dw-task-title-actions {
    order: 2;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }

  #ds-workbench-v19 .dw-task-title-actions #dw-new-task {
    margin-left: auto;
  }

  #ds-workbench-v19 .dw-status-board.dw-single-status {
    grid-template-columns: minmax(270px, calc(100vw - 40px));
  }

  #ds-workbench-v19 .dw-kanban-task strong.dw-kanban-task-title {
    padding-right: 38px;
    font-size: 14px;
  }
}

/* E包唯一维护区：工时日历首发升级。 */
#ds-workbench-v19 .dw-calendar-title-row {
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

#ds-workbench-v19 .dw-calendar-scope-switch,
#ds-workbench-v19 .dw-calendar-mode-switch {
  display: inline-flex;
  margin-left: 0;
  padding: 3px;
  overflow: visible;
  border: 1px solid light-dark(#dde2e8, #3b444f);
  border-radius: 9px;
  background: light-dark(#f2f4f7, #252c35);
}

#ds-workbench-v19 .dw-calendar-mode-switch {
  margin-left: auto;
}

#ds-workbench-v19 .dw-calendar-scope-switch button,
#ds-workbench-v19 .dw-calendar-mode-switch button {
  min-height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 7px;
  color: light-dark(#667085, #aab4c0);
  background: transparent;
  font-size: 12px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-calendar-scope-switch button.dw-active,
#ds-workbench-v19 .dw-calendar-mode-switch button.dw-active {
  color: light-dark(#1f2937, #f5f7fa);
  background: light-dark(#ffffff, #333c47);
  box-shadow: 0 1px 3px rgba(15,23,42,.09);
}

#ds-workbench-v19 .dw-calendar-mode-switch button:disabled {
  color: light-dark(#a4acb7, #6f7a87);
  cursor: not-allowed;
}

#ds-workbench-v19 .dw-calendar-head {
  margin-bottom: 12px;
}

#ds-workbench-v19 .dw-calendar-note {
  margin-left: auto;
  color: light-dark(#7d8793, #8f9aa7);
  font-size: 11px;
}

#ds-workbench-v19 .dw-calendar-today {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid light-dark(#d7dde5, #414b57);
  border-radius: 7px;
  color: light-dark(#4f5b68, #c2cad4);
  background: light-dark(#ffffff, #242b34);
  font-size: 11px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-calendar-today:hover:not(:disabled) {
  border-color: light-dark(#aebfda, #59749d);
  color: light-dark(#245fcb, #9abbff);
  background: light-dark(#f7faff, #273246);
}

#ds-workbench-v19 .dw-calendar-today:disabled {
  color: light-dark(#a1a9b3, #6f7985);
  background: light-dark(#f5f6f8, #222831);
  cursor: default;
  opacity: .72;
}

#ds-workbench-v19 #dw-calendar-view.dw-active.dw-team-scope {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

#ds-workbench-v19 #dw-calendar-view.dw-team-scope .dw-calendar-title-row,
#ds-workbench-v19 #dw-calendar-view.dw-team-scope .dw-calendar-head {
  flex: 0 0 auto;
}

#ds-workbench-v19 #dw-calendar-view.dw-team-scope #dw-calendar-grid {
  flex: 1 1 auto;
  min-height: 0;
}

#ds-workbench-v19 .dw-team-calendar-grid {
  display: flex;
  min-width: 0;
}

#ds-workbench-v19 .dw-team-calendar-wrap {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid light-dark(#e1e6ec, #353e49);
  border-radius: 10px;
  background: light-dark(#ffffff, #1d232b);
}

#ds-workbench-v19 .dw-team-calendar-table {
  width: 100%;
  min-width: 920px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

#ds-workbench-v19 .dw-team-calendar-table th,
#ds-workbench-v19 .dw-team-calendar-table td {
  height: 48px;
  padding: 5px 7px;
  border-right: 1px solid light-dark(#edf0f3, #2d353e);
  border-bottom: 1px solid light-dark(#edf0f3, #2d353e);
  background: light-dark(#ffffff, #1d232b);
  text-align: center;
}

#ds-workbench-v19 .dw-team-calendar-table tr:last-child > * {
  border-bottom: 0;
}

#ds-workbench-v19 .dw-team-calendar-table tr > *:last-child {
  border-right: 0;
}

#ds-workbench-v19 .dw-team-calendar-table thead th {
  position: sticky;
  z-index: 2;
  top: 0;
  height: 50px;
  color: light-dark(#667085, #aab4c0);
  background: light-dark(#f8f9fb, #252c35);
  font-size: 10.5px;
  font-weight: 500;
}

#ds-workbench-v19 .dw-team-calendar-table thead th span,
#ds-workbench-v19 .dw-team-calendar-table thead th strong {
  display: block;
}

#ds-workbench-v19 .dw-team-calendar-table thead th strong {
  width: max-content;
  min-width: 28px;
  margin: 3px auto 0;
  color: light-dark(#344054, #d5dbe3);
  font-size: 11px;
}

#ds-workbench-v19 .dw-team-calendar-table thead th strong.dw-today-num {
  display: inline-grid;
  height: 24px;
  place-items: center;
  padding: 0 5px;
  border-radius: 12px;
  color: #ffffff;
  background: #ff3b30;
}

#ds-workbench-v19 .dw-team-calendar-table .dw-team-person-head,
#ds-workbench-v19 .dw-team-calendar-table .dw-team-person-cell {
  position: sticky;
  z-index: 3;
  left: 0;
  width: 168px;
  text-align: left;
}

#ds-workbench-v19 .dw-team-calendar-table .dw-team-person-head {
  z-index: 4;
}

#ds-workbench-v19 .dw-team-person-head {
  position: sticky;
  padding-right: 42px;
}

#ds-workbench-v19 .dw-team-person-restore {
  position: absolute;
  right: 8px;
  top: 50%;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid light-dark(#d7dee8, #445062);
  border-radius: 7px;
  color: light-dark(#3c69af, #a8c2f2);
  background: light-dark(#ffffff, #28313c);
  font-size: 18px;
  line-height: 1;
  transform: translateY(-50%);
}

#ds-workbench-v19 .dw-team-person-restore-menu {
  position: absolute;
  z-index: 9;
  top: calc(100% - 4px);
  left: 8px;
  display: grid;
  width: 190px;
  max-height: 260px;
  padding: 6px;
  overflow: auto;
  border: 1px solid light-dark(#dce2e9, #424d5b);
  border-radius: 9px;
  background: light-dark(#ffffff, #242b34);
  box-shadow: 0 10px 24px rgba(20, 30, 45, .14);
}

#ds-workbench-v19 .dw-team-person-restore-menu button,
#ds-workbench-v19 .dw-team-person-restore-menu span {
  display: block;
  width: 100%;
  padding: 8px 9px;
  border: 0;
  border-radius: 6px;
  color: light-dark(#344054, #e0e5ec);
  background: transparent;
  font-size: 13px;
  text-align: left;
}

#ds-workbench-v19 .dw-team-person-restore-menu button:hover,
#ds-workbench-v19 .dw-team-person-restore-menu button:focus-visible {
  background: light-dark(#edf4ff, #2b3a54);
}

#ds-workbench-v19 .dw-team-person-cell {
  position: relative;
  padding: 4px 6px;
  font-weight: 400;
}

#ds-workbench-v19 .dw-team-person-controls {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 4px;
  min-width: 0;
  min-height: 48px;
}

#ds-workbench-v19 .dw-team-person-info {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}

#ds-workbench-v19 .dw-team-person-hide {
  display: grid;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  border: 0;
  border-radius: 6px;
  opacity: 0;
  color: light-dark(#667085, #aab4c0);
  background: light-dark(#eef2f7, #303a47);
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
}

#ds-workbench-v19 .dw-team-person-hide[data-calendar-person-hide=""] { display: none; }

#ds-workbench-v19 .dw-team-person-cell:hover .dw-team-person-hide,
#ds-workbench-v19 .dw-team-person-hide:focus-visible {
  opacity: 1;
  pointer-events: auto;
}

#ds-workbench-v19 .dw-team-person-toggle {
  display: grid;
  grid-template-columns: 32px;
  align-items: center;
  width: 32px;
  height: 32px;
  min-width: 0;
  min-height: 32px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  color: inherit;
  background: transparent;
  text-align: left;
}

#ds-workbench-v19 .dw-team-person-toggle:hover {
  background: light-dark(#f4f7fb, #252f3d);
}

#ds-workbench-v19 .dw-team-expand-arrow {
  display: grid;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  color: light-dark(#8c96a3, #8491a0);
  font-size: 16px;
  line-height: 1;
  text-align: center;
}

#ds-workbench-v19 .dw-team-avatar {
  display: inline-grid;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  color: light-dark(#245fcb, #a9c3ff);
  background: light-dark(#edf4ff, #2a3a56);
  font-size: 10.5px;
}

#ds-workbench-v19 .dw-team-person-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#ds-workbench-v19 .dw-team-person-cell strong,
#ds-workbench-v19 .dw-team-person-cell small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-team-person-cell strong {
  color: light-dark(#344054, #e0e5ec);
  font-size: 11px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-team-person-cell small {
  color: light-dark(#8a929d, #8793a0);
  font-size: 9.5px;
}

#ds-workbench-v19 .dw-team-hour-cell {
  display: grid;
  width: 100%;
  min-height: 36px;
  place-items: center;
  gap: 1px;
  border: 1px solid light-dark(#dce5f2, #3d4e67);
  border-radius: 7px;
  color: light-dark(#344054, #dce4ef);
  background: light-dark(#f7faff, #253146);
}

#ds-workbench-v19 .dw-team-hour-cell:hover {
  border-color: light-dark(#aebfda, #59749d);
  background: light-dark(#edf4ff, #2b3a54);
}

#ds-workbench-v19 .dw-team-hour-cell strong {
  font-size: 11px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-team-hour-cell small {
  color: light-dark(#7b8490, #929eab);
  font-size: 9px;
}

#ds-workbench-v19 .dw-team-empty-cell {
  display: block;
  min-height: 36px;
}

#ds-workbench-v19 .dw-team-person-row.dw-expanded > th,
#ds-workbench-v19 .dw-team-person-row.dw-expanded > td {
  height: auto;
  min-height: 58px;
  padding-top: 7px;
  padding-bottom: 7px;
  vertical-align: top;
  background: light-dark(#fbfcfe, #1e252e);
}

#ds-workbench-v19 .dw-team-person-row.dw-expanded .dw-team-person-cell {
  box-shadow: inset 2px 0 0 light-dark(#78a5ef, #6d97df);
}

#ds-workbench-v19 .dw-team-inline-list {
  display: grid;
  gap: 5px;
  align-content: start;
}

#ds-workbench-v19 .dw-team-inline-worklog {
  display: grid;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 6px 7px;
  overflow: hidden;
  border: 1px solid light-dark(#dfe5ed, #3a4655);
  border-radius: 7px;
  color: light-dark(#28323f, #e3e8ef);
  background: light-dark(#ffffff, #252d37);
  text-align: left;
}

#ds-workbench-v19 .dw-team-inline-worklog:hover {
  border-color: light-dark(#aec2e0, #58739a);
  background: light-dark(#f6f9fe, #29364a);
}

#ds-workbench-v19 .dw-team-inline-head {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  min-width: 0;
}

#ds-workbench-v19 .dw-team-inline-head strong {
  display: -webkit-box;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: light-dark(#28323f, #e3e8ef);
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#ds-workbench-v19 .dw-team-inline-head b {
  flex: 0 0 auto;
  color: light-dark(#245fcb, #9abbff);
  font-size: 10px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-team-inline-worklog > small {
  overflow: hidden;
  color: light-dark(#7b8490, #929daa);
  font-size: 9px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-team-inline-empty {
  display: block;
  min-height: 50px;
}

#ds-workbench-v19 .dw-team-worklog-modal {
  width: min(680px, calc(100vw - 32px));
}

#ds-workbench-v19 .dw-team-worklog-content,
#ds-workbench-v19 .dw-team-worklog-list {
  display: grid;
  gap: 9px;
}

#ds-workbench-v19 .dw-team-worklog-content {
  max-height: min(68vh, 620px);
  padding: 14px;
  overflow-y: auto;
}

#ds-workbench-v19 .dw-team-worklog-summary {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 3px;
}

#ds-workbench-v19 .dw-team-worklog-summary strong {
  color: light-dark(#245fcb, #9abbff);
  font-size: 20px;
  font-weight: 650;
}

#ds-workbench-v19 .dw-team-worklog-summary span {
  color: light-dark(#7b8490, #929daa);
  font-size: 11px;
}

#ds-workbench-v19 .dw-team-worklog-row {
  display: grid;
  gap: 7px;
  padding: 11px;
  border: 1px solid light-dark(#e2e7ed, #37414c);
  border-radius: 9px;
  background: light-dark(#fbfcfd, #222a33);
}

#ds-workbench-v19 .dw-team-worklog-row-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  justify-content: space-between;
}

#ds-workbench-v19 .dw-team-worklog-row-head button {
  padding: 0;
  border: 0;
  color: light-dark(#1f2937, #edf1f6);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

#ds-workbench-v19 .dw-team-worklog-row-head button:hover {
  color: light-dark(#245fcb, #9abbff);
}

#ds-workbench-v19 .dw-team-worklog-row-head > strong {
  color: light-dark(#245fcb, #9abbff);
  font-size: 12px;
}

#ds-workbench-v19 .dw-team-worklog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#ds-workbench-v19 .dw-team-worklog-meta span {
  max-width: 100%;
  padding: 3px 6px;
  overflow: hidden;
  border-radius: 6px;
  color: light-dark(#667085, #aab4c0);
  background: light-dark(#f0f2f5, #303842);
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ds-workbench-v19 .dw-team-worklog-row p {
  margin: 0;
  color: light-dark(#667085, #aab4c0);
  font-size: 11px;
  line-height: 1.55;
}

@media (max-width: 700px) {
  #ds-workbench-v19 #dw-calendar-view.dw-active.dw-team-scope {
    height: auto;
  }

  #ds-workbench-v19 #dw-calendar-view.dw-team-scope #dw-calendar-grid {
    flex: 0 0 auto;
  }

  #ds-workbench-v19 .dw-calendar-title-row {
    flex-wrap: wrap;
  }

  #ds-workbench-v19 .dw-calendar-scope-switch,
  #ds-workbench-v19 .dw-calendar-mode-switch {
    flex: 1 1 auto;
  }

  #ds-workbench-v19 .dw-calendar-mode-switch {
    margin-left: 0;
  }

  #ds-workbench-v19 .dw-calendar-scope-switch button,
  #ds-workbench-v19 .dw-calendar-mode-switch button {
    flex: 1 1 50%;
    min-height: 44px;
  }

  #ds-workbench-v19 .dw-calendar-head {
    flex-wrap: wrap;
  }

  #ds-workbench-v19 .dw-calendar-note {
    flex: 1 1 100%;
    margin-left: 0;
  }

  #ds-workbench-v19 .dw-team-calendar-table {
    min-width: 860px;
  }

  #ds-workbench-v19 .dw-team-calendar-wrap {
    height: auto;
    max-height: none;
  }

  #ds-workbench-v19 .dw-month-calendar-grid {
    grid-template-columns: repeat(7, minmax(78px, 1fr));
    overflow-x: auto;
  }
}

/* V9局部可读性：仅日历、项目协作信息和其右上控件。 */
#ds-workbench-v19 .dw-calendar-scope-switch button,
#ds-workbench-v19 .dw-calendar-mode-switch button,
#ds-workbench-v19 .dw-calendar-today,
#ds-workbench-v19 .dw-calendar-head .dw-quiet { min-height: 36px; font-size: 14px; }
#ds-workbench-v19 .dw-calendar-range,
#ds-workbench-v19 .dw-calendar-note,
#ds-workbench-v19 .dw-calendar-date,
#ds-workbench-v19 .dw-month-date { font-size: 14px; }
#ds-workbench-v19 .dw-calendar-task { min-width: 0; max-width: 100%; min-height: 36px; padding: 7px 9px; }
#ds-workbench-v19 .dw-calendar-task-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
#ds-workbench-v19 .dw-calendar-task-hours { flex-shrink: 0; font-size: 14px; }
#ds-workbench-v19 .dw-calendar-count,
#ds-workbench-v19 .dw-calendar-total { font-size: 13px; }
#ds-workbench-v19 .dw-team-calendar-table th,
#ds-workbench-v19 .dw-team-calendar-table td { height: 60px; padding: 7px 9px; }
#ds-workbench-v19 .dw-team-calendar-table thead th { height: 62px; font-size: 14px; }
#ds-workbench-v19 .dw-team-calendar-table thead th strong { font-size: 15px; }
#ds-workbench-v19 .dw-team-calendar-table .dw-team-person-head,
#ds-workbench-v19 .dw-team-calendar-table .dw-team-person-cell { width: 210px; }
#ds-workbench-v19 .dw-team-person-toggle { width: 32px; height: 32px; min-height: 32px; }
#ds-workbench-v19 .dw-team-avatar { width: 34px; height: 34px; font-size: 13px; }
#ds-workbench-v19 .dw-team-person-cell strong { font-size: 15px; }
#ds-workbench-v19 .dw-team-person-cell small { font-size: 13px; }
#ds-workbench-v19 .dw-team-hour-cell,
#ds-workbench-v19 .dw-team-empty-cell { min-height: 45px; }
#ds-workbench-v19 .dw-team-hour-cell strong { font-size: 16px; }
#ds-workbench-v19 .dw-team-hour-cell small { font-size: 13px; }
#ds-workbench-v19 .dw-team-inline-worklog { min-height: 63px; padding: 8px 9px; }
#ds-workbench-v19 .dw-team-inline-head strong { font-size: 15px; }
#ds-workbench-v19 .dw-team-inline-head b { font-size: 14px; }
#ds-workbench-v19 .dw-team-inline-worklog > small { font-size: 13px; }
#ds-workbench-v19 .dw-team-worklog-row-head button,
#ds-workbench-v19 .dw-team-worklog-row-head strong { font-size: 15px; }
#ds-workbench-v19 .dw-team-worklog-meta,
#ds-workbench-v19 .dw-team-worklog-row p { font-size: 13px; }
#ds-workbench-v19 .dw-project-identity-facts { font-size: 13px; line-height: 1.55; }
#ds-workbench-v19 .dw-project-identity-facts dt { font-size: 12px; }
#ds-workbench-v19 .dw-project-identity-facts dd { font-size: 14px; }
#ds-workbench-v19 .dw-project-link-button,
#ds-workbench-v19 .dw-round-goal-change,
#ds-workbench-v19 .dw-round-goal-permission-note { font-size: 13px; }

/* 首发视觉小修：只提升项目协同区的可读性与点击高度，不改变项目页布局。 */
#ds-workbench-v19 .dw-project-module-content-collab .dw-output-toolbar {
  min-height: 52px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-output-toolbar > strong {
  font-size: 16px;
  line-height: 1.4;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-output-segment button {
  min-height: 36px;
  padding-inline: 12px;
  font-size: 14px;
  font-weight: 600;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-output-toolbar-actions > span {
  font-size: 13px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-output-toolbar-actions > button {
  min-height: 36px;
  padding-inline: 12px;
  font-size: 14px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-delivery-batches > .dw-project-empty {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  color: light-dark(#5f6874, #aab4c0);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-context-actions > span {
  font-size: 15px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-context-actions button {
  min-height: 36px;
  padding-inline: 12px;
  font-size: 14px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel > div:first-child {
  font-size: 14px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel > div:first-child span,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel p {
  font-size: 13px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel label {
  font-size: 14px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel input,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel select,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel textarea {
  min-height: 44px;
  font-size: 15px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-action-panel-buttons button {
  min-height: 36px;
  font-size: 14px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop th,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop td {
  height: 44px;
  padding: 11px 12px;
  font-size: 15px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop thead th {
  color: light-dark(#343b45, #e4e8ee);
  font-size: 14px;
  font-weight: 700;
  vertical-align: middle;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop tbody th strong {
  font-size: 16px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop tbody th span,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-specialty-cell {
  font-size: 13px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-record {
  min-height: 44px;
  padding: 8px 10px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-record-role,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-record-source,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-record small {
  font-size: 13px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-record strong {
  font-size: 15px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-records .dw-project-empty,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-matrix-desktop .dw-project-empty,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-cards-mobile .dw-project-empty {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  color: light-dark(#68727f, #a1acb8);
  font-size: 14px;
  font-weight: 550;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results {
  padding: 10px 12px;
  color: light-dark(#5f6874, #aab4c0);
  font-size: 14px;
  line-height: 1.5;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: light-dark(#3f4854, #d5dbe3);
  font-weight: 700;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results article {
  align-items: center;
  min-height: 44px;
  padding: 9px 10px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results article strong {
  font-size: 15px;
}

#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results article span,
#ds-workbench-v19 .dw-project-module-content-collab .dw-legacy-results > small,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-mobile-card header span,
#ds-workbench-v19 .dw-project-module-content-collab .dw-batch-specialty-tags span {
  font-size: 13px;
}
