/* 已选A方向的呈现细化：保持原有网格、行高、列宽、组件和交互。 */
.projects-layout {
  background: #fff;
  border-radius: 11px;
  box-shadow: inset 0 0 0 1px var(--ui-border);
}

/* 连续索引与项目内容共用外框，保留原边框占位和侧栏滚动。 */
.projects-layout .project-directory {
  background: #fff;
  border-color: transparent;
  border-right-color: var(--ui-border);
  border-radius: 11px 0 0 11px;
}
.projects-layout .candidate-directory {
  background: transparent;
  border-color: transparent;
  border-radius: 0 11px 11px 0;
}
.projects-layout .candidate-directory .project-contextbar { border-top-left-radius: 0; background: #fff; }
.projects-layout .project-directory .quick-project {
  border-color: transparent;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.projects-layout .project-directory .quick-project::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 1px;
  background: color-mix(in srgb, var(--ui-border) 50%, transparent);
  pointer-events: none;
}
.projects-layout .project-directory .quick-project.selected {
  background: color-mix(in srgb, var(--ui-action-line) 40%, white);
  box-shadow: inset 3px 0 0 var(--ui-action);
}
.projects-layout .project-directory .quick-project.selected::after { background: transparent; }
.projects-layout .project-directory .quick-project.pinned { border-left-color: transparent; }
.projects-layout .project-directory .quick-project.selected > a > strong { color: var(--ui-ink); }
@media (hover: hover) {
  .projects-layout .project-directory .quick-project:hover > a > strong { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--ui-action-line); }
}

/* 全部列保持白底；仅以短分隔线与既有留白组织，不改任何单元格尺寸。 */
.projects-layout .candidate-directory .ranked-table th {
  background: #fff;
  border-bottom-color: var(--ui-border);
}
.projects-layout .candidate-directory .ranked-table :is(th, td):nth-child(-n+2) {
  background-color: #fff;
}
.projects-layout .candidate-directory .ranked-table td {
  position: relative;
  border-bottom-color: transparent;
}
.projects-layout .candidate-directory .ranked-table td::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1px;
  height: 1px;
  background: color-mix(in srgb, var(--ui-border) 65%, transparent);
  pointer-events: none;
}
.projects-layout .candidate-directory .ranked-table td:nth-child(1)::after { left: 16px; }
.projects-layout .candidate-directory .ranked-table td:nth-child(2)::after { right: 16px; }
.projects-layout .candidate-directory .ranked-table td:nth-child(3)::after { left: 16px; right: 16px; }
.projects-layout .candidate-directory .ranked-table td:nth-child(4)::after { left: 22px; }
.projects-layout .candidate-directory .ranked-table td:nth-child(6)::after { right: 14px; }
.projects-layout .candidate-directory .ranked-table td:nth-child(7)::after { left: 10px; right: 16px; }
.projects-layout .candidate-directory .ranked-table tbody tr:last-child td::after { background: transparent; }
/* 保留既有整行悬停／键盘反馈，同一行使用一致的瞬时反馈。 */
.projects-layout .candidate-directory .ranked-table tbody tr:focus-within > td {
  background-color: color-mix(in srgb, var(--ui-action-soft) 66%, white);
}
@media (hover: hover) {
  .projects-layout .candidate-directory .ranked-table tbody tr:hover > td {
    background-color: color-mix(in srgb, var(--ui-action-soft) 66%, white);
  }
}
@media (max-width: 680px) {
  .projects-layout { background: transparent; box-shadow: none; }
  .projects-layout .project-directory { border-color: var(--ui-border); border-radius: 11px; }
  .projects-layout .candidate-directory { background: #fff; border-color: var(--ui-border); border-radius: 11px; }
  .projects-layout .candidate-directory .project-contextbar { border-top-left-radius: 10px; }
}

/* 图钉只占首行独立槽位，公司和人数仍使用完整行宽。 */
.projects-layout .project-directory .quick-project > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  column-gap: 6px;
  row-gap: 3px;
}
.projects-layout .project-directory .quick-project > a > strong {
  grid-column: 1;
  min-height: 24px;
  padding-right: 0;
}
.projects-layout .project-directory .quick-project > a > span,
.projects-layout .project-directory .quick-project > a > .quick-project-meta { grid-column: 1 / -1; }
.projects-layout .project-directory .quick-project > a > span { min-width: 0; overflow-wrap: anywhere; }
#app .project-directory .quick-project > .project-pin-icon {
  top: 8px;
  right: 7px;
  width: 24px;
  height: 24px;
  min-height: 24px;
  padding: 4px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--ui-muted);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#app .project-directory .project-pin-icon svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: rotate(30deg);
  transition: transform var(--motion-fast) var(--motion-settle), color var(--motion-fast) ease;
}
#app .project-directory .project-pin-icon.is-pinned { color: var(--ui-action); background: transparent; }
#app .project-directory .project-pin-icon.is-pinned svg { transform: rotate(0); }
#app .project-directory .project-pin-icon.is-pinned .pin-head { fill: currentColor; }
#app .project-directory .project-pin-icon:hover { color: var(--ui-action-hover); border-color: var(--ui-action-line); background: #fff; }

/* 姓名保持原列宽，长姓名不压到流程节点。完整名称由原入口的title提供。 */
.projects-layout .candidate-directory .candidate-name {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 使用原生滚动，降低可见滑块的宽度、色重，并在两端留白。 */
.projects-layout :is(.project-list, .candidate-directory .table-wrap) {
  scrollbar-color: color-mix(in srgb, var(--ui-action-line) 55%, transparent) transparent;
}
@supports selector(::-webkit-scrollbar) {
  .projects-layout :is(.project-list, .candidate-directory .table-wrap) {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  .projects-layout .project-list::-webkit-scrollbar { width: 11px; }
  .projects-layout .project-list::-webkit-scrollbar-track { background: transparent; margin-block: 12px; }
  .projects-layout .project-list::-webkit-scrollbar-thumb {
    background-color: color-mix(in srgb, var(--ui-action-line) 55%, transparent);
    background-clip: content-box;
    border: 4px solid transparent;
    border-block-width: 24px;
    border-radius: 999px;
    min-height: 60px;
  }
  .projects-layout .candidate-directory .table-wrap::-webkit-scrollbar { width: 11px; height: 11px; }
  .projects-layout .candidate-directory .table-wrap::-webkit-scrollbar-track { background: transparent; margin-inline: 12px; }
  .projects-layout .candidate-directory .table-wrap::-webkit-scrollbar-thumb {
    background-color: color-mix(in srgb, var(--ui-action-line) 55%, transparent);
    background-clip: content-box;
    border: 4px solid transparent;
    border-inline-width: 24px;
    border-radius: 999px;
    min-width: 60px;
  }
  .projects-layout :is(.project-list, .candidate-directory .table-wrap)::-webkit-scrollbar-thumb:hover {
    background-color: color-mix(in srgb, var(--ui-action-line) 90%, transparent);
  }
}
@media (max-width: 680px) {
  .projects-layout .project-list::-webkit-scrollbar-thumb { border-block-width: 8px; min-height: 30px; }
  .projects-layout .candidate-directory .table-wrap::-webkit-scrollbar-thumb { border-inline-width: 8px; min-width: 30px; }
}

/* 长岗位／公司增加头部高度时，装饰保持轻量，留在底部空白区域。 */
.projects-layout .candidate-directory .project-contextbar::after {
  top: auto;
  bottom: 0;
  height: 56px;
  max-height: 100%;
}
