
  /* 项目任务页：使用 GDS 的工具栏层级；项目任务仍保留高密度布局。 */
  .loop-page__toolbar:has(.eva-task-view-switcher) {
    min-height: 32px;
    gap: 0;
    padding: 2px 0 4px;
  }

  .eva-task-view-switcher {
    box-sizing: border-box;
    min-height: 32px;
    flex: 0 0 auto;
    margin-right: 6px;
    padding: 3px;
    border-radius: var(--gds-radius-control);
    background: var(--gds-color-surface-subtle);
  }

  .eva-task-view-switcher .loop-seg__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 72px;
    height: 26px;
    padding: 0 12px;
    gap: 6px;
    border-radius: var(--gds-radius-key);
    color: var(--gds-color-text-secondary);
    font-family: var(--gds-font-family-sans);
    font-size: var(--gds-type-label-font-size);
    font-weight: var(--gds-font-weight-regular);
    line-height: var(--gds-type-label-line-height);
    white-space: nowrap;
  }

  .eva-task-view-switcher .loop-seg__btn svg,
  .loop-page__toolbar:has(.eva-task-view-switcher) .loop-toolbtn svg {
    width: var(--gds-icon-size-content);
    height: var(--gds-icon-size-content);
    flex: none;
  }

  .loop-page__toolbar:has(.eva-task-view-switcher) .loop-toolbtn {
    box-sizing: border-box;
    height: 32px;
    padding: 0 12px;
    gap: 6px;
    border-radius: var(--gds-radius-control);
    color: var(--gds-color-text-secondary);
    font-family: var(--gds-font-family-sans);
    font-size: var(--gds-type-label-font-size);
    font-weight: var(--gds-font-weight-regular);
    line-height: var(--gds-type-label-line-height);
  }

  .eva-task-view-switcher .loop-seg__btn:hover,
  .loop-page__toolbar:has(.eva-task-view-switcher) .loop-toolbtn:hover {
    background: var(--gds-color-surface-primary);
    color: var(--gds-color-text-primary);
  }

  .eva-task-view-switcher .loop-seg__btn.is-active {
    background: var(--gds-color-surface-primary);
    color: var(--gds-color-action-primary);
    font-weight: var(--gds-font-weight-medium);
  }

  .eva-task-view-switcher .loop-seg__btn:focus-visible,
  .loop-page__toolbar:has(.eva-task-view-switcher) .loop-toolbtn:focus-visible {
    outline: var(--gds-border-focus) solid var(--gds-color-border-focus);
    outline-offset: 2px;
  }

  .loop-page:has(.eva-task-view-switcher) .loop-btn--primary {
    border-color: var(--gds-color-action-primary);
    background: var(--gds-color-action-primary);
    color: var(--gds-color-action-primary-text);
  }

  .loop-page:has(.eva-task-view-switcher) .loop-btn--primary:hover {
    border-color: var(--eva-action-primary-hover);
    background: var(--eva-action-primary-hover);
  }

  .loop-page__toolbar:has(.eva-task-view-switcher) > button:last-child {
    min-height: 32px;
  }

  @media (max-width: 880px) {
    .loop-page__toolbar:has(.eva-task-view-switcher) {
      flex-wrap: wrap;
      row-gap: 8px;
    }

    .loop-page__toolbar:has(.eva-task-view-switcher) .loop-page__spacer {
      min-width: 16px;
    }

    .eva-task-view-switcher .loop-seg__btn {
      min-width: 64px;
      padding-inline: 10px;
    }
  }

/* Task views share GDS typography and spacing, while preserving status groups. */
.loop-page:has(.eva-task-view-switcher) { font: 400 14px/22px var(--eva-font-sans); }
.loop-page .loop-board { gap: 16px; overscroll-behavior: contain; }
.loop-page .loop-board__col { border-radius: var(--eva-radius-panel); padding: 0 12px 12px; background: var(--eva-surface-subtle); border-color: var(--eva-border-faint); }
.loop-page .loop-board__col-head { min-height: 44px; font: 500 14px/22px var(--eva-font-sans); }
.loop-page .loop-card { padding: 12px; gap: 10px; border-radius: var(--eva-radius-chip); border-color: var(--eva-border-subtle); box-shadow: none; }
.loop-page .loop-card:hover { border-color: var(--eva-border-default); box-shadow: var(--eva-shadow-hairline); }
.loop-page .loop-card__title { font: 500 14px/22px var(--eva-font-sans); overflow-wrap: anywhere; }
.loop-page :is(.loop-card__id,.loop-card__time,.loop-card__project) { font: 400 12px/16px var(--eva-font-sans); color: var(--eva-text-secondary-accessible); }
.loop-page .loop-card__foot { flex-wrap: wrap; gap: 8px; }
.loop-page .loop-abadge { max-width: 100%; }
.loop-page .loop-groupboard__head { padding-block: 16px; font: 500 14px/22px var(--eva-font-sans); }
.loop-page .loop-list__row { min-height: 48px; gap: 12px; }
.loop-page .loop-list__title { font: 400 14px/22px var(--eva-font-sans); }
.loop-page :is(.loop-list__id,.loop-list__time,.loop-list__project) { font: 400 12px/16px var(--eva-font-sans); color: var(--eva-text-secondary-accessible); }
.loop-page :is(.loop-card,.loop-list__row):focus-visible { outline: 2px solid var(--eva-border-focus); outline-offset: -2px; }

/* Task detail remains a content pane plus its existing property inspector. */
.loop-idp { font: 400 14px/22px var(--eva-font-sans); }
.loop-idp .loop-idp__topbar { min-height: 52px; box-sizing: border-box; padding-inline: 24px; }
.loop-idp .loop-idp__main { padding: 24px 24px 48px; }
.loop-idp .loop-idp__main > * { max-width: var(--eva-main-col-w); }
.loop-idp .loop-idp__title { font: 500 16px/24px var(--eva-font-sans); }
.loop-idp :is(.loop-idp__desc,.loop-md,.loop-cmt__body,.loop-composer__editor) { font: 400 15px/24px var(--eva-font-sans); overflow-wrap: anywhere; }
.loop-idp .loop-idp__aside { padding: 8px 20px 24px; }
.loop-idp .loop-idp__asec { padding: 16px 0; gap: 12px; }
.loop-idp .loop-idp__prop { min-height: 32px; }
.loop-idp .loop-idp__prop-k { font: 400 12px/16px var(--eva-font-sans); color: var(--eva-text-secondary-accessible); }
.loop-idp .loop-idp__section { margin-top: 24px; }
.loop-idp .loop-cmt { border-radius: var(--eva-radius-panel); border-color: var(--eva-border-faint); }
.loop-idp .loop-cmt__row { padding: 16px; }
.loop-idp .loop-cmt__reply-stub { min-height: 32px; border-radius: var(--eva-radius-control); }
.loop-idp .loop-composer { border-radius: var(--eva-radius-panel); }
@media (prefers-reduced-motion: reduce) { .loop-page .loop-card { transition: none; } }
