.talent-nav-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 24px;
  color: #fff;
  background:
    linear-gradient(112deg, rgba(30, 58, 95, 0.98), rgba(24, 45, 73, 0.96)),
    repeating-linear-gradient(90deg, transparent 0 30px, rgba(255,255,255,.04) 30px 31px);
  border: 1px solid rgba(28, 25, 23, .12);
  border-radius: 9px;
}

.talent-nav-eyebrow {
  margin-bottom: 7px;
  color: #f0b66a;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
}

.talent-nav-intro h2 {
  max-width: 720px;
  font-size: 20px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.talent-nav-intro p {
  max-width: 720px;
  margin-top: 7px;
  color: rgba(255, 255, 255, .68);
  font-size: 12px;
  line-height: 1.65;
}

.talent-nav-sync-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: min(315px, 34%);
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.16);
}

.talent-nav-sync-note > svg { width: 17px; height: 17px; color: #f0b66a; flex: 0 0 auto; }
.talent-nav-sync-note div { display: flex; flex-direction: column; gap: 3px; }
.talent-nav-sync-note strong { font-size: 11px; }
.talent-nav-sync-note span { color: rgba(255,255,255,.58); font-size: 10.5px; line-height: 1.5; }

.talent-sync-button {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  justify-content: center;
  gap: 6px;
  min-height: 31px;
  margin-top: 7px;
  padding: 0 11px;
  color: #fff;
  cursor: pointer;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 5px;
  font-size: 10.5px;
  font-weight: 700;
}
.talent-sync-button:hover { background: rgba(255,255,255,.17); }
.talent-sync-button:disabled { cursor: wait; opacity: .55; }
.talent-sync-button svg { width: 13px; height: 13px; }
.talent-sync-button.is-syncing svg { animation: talent-sync-spin .9s linear infinite; }
@keyframes talent-sync-spin { to { transform: rotate(360deg); } }

.talent-nav-layout {
  display: grid;
  grid-template-columns: minmax(300px, 355px) minmax(0, 1fr);
  min-height: 590px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.talent-nav-jobs-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fbfaf8;
  border-right: 1px solid var(--line);
}

.talent-nav-panel-head,
.talent-nav-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.talent-nav-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.talent-nav-detail-actions svg { width: 12px; height: 12px; }

.talent-nav-panel-head { padding: 18px 18px 12px; }
.talent-nav-panel-head h3,
.talent-nav-detail-head h3 { color: var(--ink); font-size: 14px; font-weight: 750; }
.talent-nav-panel-head > div > span { display: block; margin-top: 2px; color: var(--faint); font-size: 10.5px; }

.talent-nav-save-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #617064;
  font-size: 9.5px;
  white-space: nowrap;
}
.talent-nav-save-state svg { width: 13px; height: 13px; }

.talent-nav-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  padding: 0 12px 12px;
}

.talent-nav-search-box { position: relative; display: block; }
.talent-nav-search-box svg {
  position: absolute;
  top: 50%;
  left: 10px;
  width: 14px;
  height: 14px;
  color: #a8a29e;
  transform: translateY(-50%);
  pointer-events: none;
}

.talent-nav-search-box input,
.talent-nav-filter-label select,
.talent-profile-field input,
.talent-profile-field textarea {
  width: 100%;
  color: var(--ink);
  background: #fff;
  border: 1px solid #ddd9d2;
  border-radius: 6px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.talent-nav-search-box input { height: 34px; padding: 0 10px 0 31px; font-size: 11px; }
.talent-nav-filter-label select { height: 34px; padding: 0 26px 0 9px; font-size: 10.5px; }
.talent-nav-search-box input:focus,
.talent-nav-filter-label select:focus,
.talent-profile-field input:focus,
.talent-profile-field textarea:focus {
  border-color: #5c7898;
  box-shadow: 0 0 0 3px rgba(30,58,95,.1);
}

.talent-nav-job-list {
  flex: 1;
  min-height: 0;
  max-height: 560px;
  overflow-y: auto;
  padding: 0 8px 12px;
}

.talent-nav-job-row {
  display: grid;
  grid-template-columns: 24px 27px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 57px;
  margin-bottom: 3px;
  padding: 6px 9px 6px 5px;
  cursor: pointer;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  transition: background .14s ease, border-color .14s ease, transform .14s ease;
}

.talent-nav-job-row:hover { background: #f3f1ed; }
.talent-nav-job-row.is-selected { background: #fff; border-color: #d7d2ca; box-shadow: 0 1px 2px rgba(28,25,23,.04); }
.talent-nav-job-row.is-dragging { opacity: .42; transform: scale(.985); }
.talent-nav-job-row.is-drop-target { border-color: #8a9db3; background: #f4f7fa; }

.talent-drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 28px;
  color: #b0aaa1;
  cursor: grab;
  border: 0;
  background: transparent;
}
.talent-drag-handle:active { cursor: grabbing; }
.talent-drag-handle svg { width: 14px; height: 14px; }

.talent-nav-order {
  color: #b8b1a7;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
}

.talent-nav-job-copy { min-width: 0; }
.talent-nav-job-title { overflow: hidden; color: #292524; font-size: 11.5px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.talent-nav-job-meta { overflow: hidden; margin-top: 3px; color: #8b857d; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.talent-nav-job-meta.is-conflict { color: #a33f36; font-weight: 700; }

.talent-nav-profile-count {
  min-width: 25px;
  padding: 2px 6px;
  color: #526984;
  background: #edf1f5;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 700;
  text-align: center;
}

.talent-nav-list-empty { padding: 44px 18px; color: #9a948b; font-size: 11px; line-height: 1.6; text-align: center; }

.talent-nav-detail {
  min-width: 0;
  padding: 23px 26px 30px;
  background: #fff;
}

.talent-nav-detail-head { padding-bottom: 19px; border-bottom: 1px solid var(--line-soft); }
.talent-nav-detail-title { min-width: 0; }
.talent-nav-detail-title h3 { overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.talent-nav-detail-title p { margin-top: 4px; color: #8a847b; font-size: 10.5px; }

.talent-primary-button,
.talent-secondary-button,
.talent-profile-action,
.talent-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
}
.talent-primary-button { min-height: 34px; padding: 0 13px; color: #fff; background: var(--navy); border: 1px solid var(--navy); }
.talent-primary-button:hover { background: #294d78; }
.talent-primary-button svg { width: 14px; height: 14px; }
.talent-secondary-button { min-height: 34px; padding: 0 13px; color: #57534e; background: #fff; border: 1px solid #d8d4ce; }
.talent-secondary-button:hover { background: #f7f6f3; }
.talent-icon-button { width: 32px; height: 32px; color: #78716c; background: #fff; border: 1px solid #ddd9d2; }
.talent-icon-button:hover { color: var(--ink); background: #f7f6f3; }
.talent-icon-button svg { width: 14px; height: 14px; }

.talent-nav-route-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 19px 0 12px;
}
.talent-nav-route-label span:first-child { color: #6f6961; font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.talent-nav-route-label span:last-child { color: #a19a91; font-size: 9.5px; }

.talent-profile-list { position: relative; padding-left: 24px; }
.talent-profile-list::before {
  content: "";
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 10px;
  width: 1px;
  background: #ddd8d0;
}

.talent-profile-card {
  position: relative;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 12px;
  margin-bottom: 10px;
  padding: 15px 14px 14px 10px;
  background: #fcfbf9;
  border: 1px solid #e5e1db;
  border-radius: 7px;
}
.talent-profile-card.is-dragging { opacity: .42; }
.talent-profile-card.is-drop-target { border-color: #8a9db3; background: #f4f7fa; }
.talent-profile-card::before {
  content: "";
  position: absolute;
  top: 25px;
  left: -19px;
  width: 8px;
  height: 8px;
  background: #fff;
  border: 2px solid #c7883d;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #fff;
}
.talent-profile-card .talent-drag-handle { width: 30px; height: 34px; }
.talent-profile-copy { min-width: 0; }
.talent-profile-topline { display: flex; align-items: center; gap: 8px; }
.talent-profile-step { color: #a36b2b; font-family: "Plus Jakarta Sans", sans-serif; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.talent-profile-name { color: #292524; font-size: 12.5px; font-weight: 750; }
.talent-profile-note { margin-top: 7px; color: #6f6961; font-size: 10.5px; line-height: 1.6; white-space: pre-wrap; }
.talent-profile-note.is-empty { color: #aaa39a; font-style: italic; }
.talent-profile-state { display: inline-flex; align-items: center; gap: 5px; margin-top: 9px; color: #9b6a31; font-size: 9.5px; }
.talent-profile-state svg { width: 12px; height: 12px; }
.talent-profile-state.is-captured { color: #28704f; }
.talent-profile-state.is-error { max-width: 420px; color: #a43f36; }
.talent-profile-actions { display: flex; align-items: flex-start; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.talent-profile-action { height: 30px; padding: 0 9px; color: #57534e; background: #fff; border: 1px solid #ddd9d2; }
.talent-profile-action:hover { color: #1e3a5f; border-color: #a8b6c5; background: #f5f8fb; }
.talent-profile-action.is-open { color: #fff; border-color: #31567f; background: #31567f; }
.talent-profile-action.is-open:hover { background: #24476d; }
.talent-profile-action.is-capture { color: #8a5b25; border-color: #d8c5aa; background: #fffaf1; }
.talent-profile-action.is-capture:hover { border-color: #b8905d; background: #f9efdf; }
.talent-profile-action:disabled { cursor: wait; opacity: .62; }
.talent-profile-action:disabled svg { animation: talent-spin .85s linear infinite; }
.talent-profile-action svg { width: 12px; height: 12px; }
@keyframes talent-spin { to { transform: rotate(360deg); } }

.talent-nav-empty,
.talent-nav-profile-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 390px;
  color: #9b958c;
  text-align: center;
}
.talent-nav-profile-empty { min-height: 350px; border: 1px dashed #ded9d1; border-radius: 7px; }
.talent-nav-empty svg,
.talent-nav-profile-empty svg { width: 25px; height: 25px; margin-bottom: 12px; color: #bbb4aa; }
.talent-nav-empty h3,
.talent-nav-profile-empty h4 { color: #57534e; font-size: 13px; font-weight: 700; }
.talent-nav-empty p,
.talent-nav-profile-empty p { max-width: 350px; margin: 5px 0 15px; font-size: 10.5px; line-height: 1.6; }

.talent-profile-modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 22px; }
.talent-profile-modal.hidden { display: none; }
.talent-profile-modal-backdrop { position: absolute; inset: 0; cursor: default; background: rgba(28,25,23,.42); border: 0; backdrop-filter: blur(2px); }
.talent-profile-dialog { position: relative; width: min(520px, 100%); padding: 21px; background: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 9px; box-shadow: 0 24px 70px rgba(28,25,23,.24); }
.talent-profile-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 19px; }
.talent-profile-dialog-head h3 { font-size: 17px; font-weight: 750; }
.talent-profile-field { display: block; margin-bottom: 15px; }
.talent-profile-field > span { display: block; margin-bottom: 6px; color: #57534e; font-size: 10.5px; font-weight: 700; }
.talent-profile-field input { height: 38px; padding: 0 11px; font-size: 12px; }
.talent-profile-field textarea { min-height: 112px; padding: 10px 11px; resize: vertical; font-size: 11.5px; line-height: 1.55; }
.talent-profile-condition-placeholder { display: flex; align-items: flex-start; gap: 10px; padding: 12px; color: #7b7268; background: #f7f4ee; border: 1px solid #ece3d7; border-radius: 6px; }
.talent-profile-condition-placeholder > svg { width: 16px; height: 16px; color: #b87c37; flex: 0 0 auto; }
.talent-profile-condition-placeholder div { display: flex; flex-direction: column; gap: 3px; }
.talent-profile-condition-placeholder strong { color: #5f554a; font-size: 10.5px; }
.talent-profile-condition-placeholder span { font-size: 9.5px; line-height: 1.55; }
.talent-profile-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }

.talent-copy-dialog { width: min(680px, 100%); padding: 22px 22px 18px; }
.talent-copy-source {
  display: grid;
  grid-template-columns: minmax(0, auto) 16px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  margin-bottom: 14px;
  padding: 10px 12px;
  color: #5f554a;
  background: #f7f4ee;
  border-left: 3px solid #c7883d;
  border-radius: 0 6px 6px 0;
}
.talent-copy-source > svg { width: 13px; height: 13px; color: #a69b8e; }
.talent-copy-source-route { overflow: hidden; font-size: 10.5px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.talent-copy-source strong { overflow: hidden; color: #292524; font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.talent-copy-source-state { color: #8b8278; font-size: 9.5px; white-space: nowrap; }
.talent-copy-search { position: relative; display: block; margin-bottom: 9px; }
.talent-copy-search > svg { position: absolute; top: 50%; left: 12px; width: 15px; height: 15px; color: #938a80; transform: translateY(-50%); pointer-events: none; }
.talent-copy-search input { width: 100%; height: 40px; padding: 0 12px 0 36px; color: #292524; font-size: 11.5px; background: #fff; border: 1px solid #dcd7cf; border-radius: 6px; outline: 0; }
.talent-copy-search input:focus { border-color: #6683a2; box-shadow: 0 0 0 3px rgba(49,86,127,.1); }
.talent-copy-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 28px; color: #8b8278; font-size: 9.5px; }
.talent-copy-toolbar button { padding: 4px 0; color: #31567f; font-size: 9.5px; font-weight: 700; background: transparent; border: 0; }
.talent-copy-toolbar button:hover { color: #1f4268; text-decoration: underline; }
.talent-copy-target-list { max-height: 350px; overflow-y: auto; border: 1px solid #e2ddd5; border-radius: 7px; scrollbar-width: thin; }
.talent-copy-target {
  display: grid;
  grid-template-columns: 18px 28px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 8px 11px;
  background: #fff;
  border-bottom: 1px solid #eeeae4;
  cursor: pointer;
  transition: background-color .16s ease, box-shadow .16s ease;
}
.talent-copy-target:last-child { border-bottom: 0; }
.talent-copy-target:hover { background: #f7f9fb; }
.talent-copy-target.is-selected { background: #eef3f7; box-shadow: inset 3px 0 #31567f; }
.talent-copy-target input { width: 15px; height: 15px; margin: 0; accent-color: #31567f; }
.talent-copy-target-order { color: #a39a90; font-family: "Plus Jakarta Sans", sans-serif; font-size: 9px; font-weight: 800; letter-spacing: .04em; }
.talent-copy-target-copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.talent-copy-target-copy strong { overflow: hidden; color: #3d3935; font-size: 10.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.talent-copy-target-copy small { color: #928a81; font-size: 9px; }
.talent-copy-target > svg { width: 15px; height: 15px; color: transparent; }
.talent-copy-target.is-selected > svg { color: #31567f; }
.talent-copy-target-empty { display: flex; min-height: 150px; align-items: center; justify-content: center; gap: 8px; color: #938b83; font-size: 10.5px; }
.talent-copy-target-empty svg { width: 17px; height: 17px; }
.talent-copy-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.talent-copy-footer > span { padding-bottom: 9px; color: #6f675e; font-size: 10px; font-weight: 700; }
.talent-copy-footer .talent-profile-dialog-actions { margin-top: 16px; }
.talent-copy-toast { position: fixed; right: 24px; bottom: 24px; z-index: 95; max-width: min(420px, calc(100vw - 32px)); padding: 11px 15px; color: #fff; font-size: 11px; font-weight: 650; background: #285d47; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; box-shadow: 0 12px 32px rgba(28,25,23,.2); opacity: 0; transform: translateY(10px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.talent-copy-toast.is-visible { opacity: 1; transform: translateY(0); }

/* 職缺管理與 104 搜尋共用工作區 */
.job-workspace-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: fit-content;
  margin-bottom: 12px;
  padding: 3px;
  background: #ebe9e4;
  border: 1px solid #dfdcd5;
  border-radius: 7px;
}

.job-workspace-switch button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 13px;
  color: #706b64;
  background: transparent;
  border: 0;
  border-radius: 5px;
  font-size: 10.5px;
  font-weight: 700;
  cursor: pointer;
}

.job-workspace-switch button:hover { color: #1e3a5f; }
.job-workspace-switch button.is-active {
  color: #1e3a5f;
  background: #fff;
  box-shadow: 0 1px 3px rgba(28, 25, 23, .1);
}
.job-workspace-switch svg { width: 13px; height: 13px; }

/* 104 職缺優先順序工作區 */
.job-priority-board {
  overflow: hidden;
  color: #292524;
  background: #f7f6f3;
  border: 1px solid #dedbd5;
  border-top: 3px solid #1e3a5f;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(40, 36, 31, .055);
}

.job-priority-loading {
  display: flex;
  min-height: 180px;
  align-items: center;
  justify-content: center;
  color: #817a72;
  font-size: 11px;
}

.job-priority-board-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 24px 20px;
  background:
    linear-gradient(112deg, rgba(30, 58, 95, .065), transparent 46%),
    #fff;
  border-bottom: 1px solid #dedbd5;
}

.job-priority-eyebrow {
  margin-bottom: 6px;
  color: #31567f;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

.job-priority-board-head h2 {
  color: #22201e;
  font-family: "Noto Sans TC", sans-serif;
  font-size: clamp(19px, 2vw, 25px);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.25;
}

.job-priority-board-head p {
  max-width: 680px;
  margin-top: 6px;
  color: #716a62;
  font-size: 11px;
  line-height: 1.7;
}

.job-priority-board-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
}

.job-priority-board-actions > span {
  color: #817a72;
  font-size: 9.5px;
  white-space: nowrap;
}

.job-priority-board-actions button,
.job-priority-strategy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 11px;
  color: #fff;
  background: #31567f;
  border: 1px solid #31567f;
  border-radius: 5px;
  font-size: 9.5px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}

.job-priority-board-actions button:hover,
.job-priority-strategy:hover { background: #24476d; }
.job-priority-board-actions button:disabled { cursor: wait; opacity: .58; }
.job-priority-board-actions button:disabled svg { animation: talent-sync-spin .9s linear infinite; }
.job-priority-board-actions svg,
.job-priority-strategy svg { width: 12px; height: 12px; }

.job-priority-feedback {
  margin: 12px 16px 0;
  padding: 9px 11px;
  color: #5f5952;
  background: #fff;
  border: 1px solid #dedbd5;
  border-left: 3px solid #71849a;
  border-radius: 0 5px 5px 0;
  font-size: 10px;
}

.job-priority-feedback.is-error {
  color: #873d38;
  background: #fff8f7;
  border-color: #efd5d2;
  border-left-color: #a84d48;
}

.job-priority-feedback.is-success {
  color: #286149;
  background: #f5fbf7;
  border-color: #d3e8da;
  border-left-color: #38805f;
}

.job-priority-feedback.is-note { color: #685f52; border-left-color: #b7791f; }

.job-priority-groups {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.job-priority-groups.is-saving {
  opacity: .72;
  cursor: wait;
}

.job-priority-group {
  --priority-color: #60758b;
  --priority-soft: #f2f5f7;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dedbd5;
  border-left: 4px solid var(--priority-color);
  border-radius: 0 7px 7px 0;
}

.job-priority-group.priority-1 { --priority-color: #a84d48; --priority-soft: #fbf2f1; }
.job-priority-group.priority-2 { --priority-color: #a66a13; --priority-soft: #fcf7ea; }
.job-priority-group.priority-3 { --priority-color: #60758b; --priority-soft: #f2f5f7; }

.job-priority-group-head {
  display: flex;
  min-height: 55px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
  background: var(--priority-soft);
  border-bottom: 1px solid #e8e5df;
}

.job-priority-group-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.job-priority-code {
  display: inline-flex;
  width: 35px;
  height: 28px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--priority-color);
  border-radius: 4px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  flex: 0 0 auto;
}

.job-priority-group-title h3 {
  color: #312e2b;
  font-size: 12px;
  font-weight: 800;
}

.job-priority-group-title p {
  margin-top: 2px;
  color: #817a72;
  font-size: 9.5px;
}

.job-priority-count {
  color: var(--priority-color);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.job-priority-list { min-height: 46px; }

.job-priority-row {
  position: relative;
  display: grid;
  grid-template-columns: 24px 31px minmax(220px, 1fr) 44px auto auto;
  min-height: 62px;
  align-items: center;
  gap: 9px;
  padding: 8px 11px 8px 7px;
  background: #fff;
  border-bottom: 1px solid #eeeae5;
  transition: background-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.job-priority-row:last-child { border-bottom: 0; }
.job-priority-row:hover { z-index: 1; background: #fcfbf9; box-shadow: inset 3px 0 0 var(--priority-color); }
.job-priority-row.is-dragging { opacity: .36; }
.job-priority-row.is-drop-target { box-shadow: inset 0 2px 0 var(--priority-color); }
.job-priority-row.is-focused { animation: job-priority-focus 1.8s ease-out; }
.job-priority-group.is-drop-target { outline: 2px solid color-mix(in srgb, var(--priority-color) 45%, transparent); outline-offset: -2px; }

@keyframes job-priority-focus {
  0%, 35% { background: #e9f0f7; box-shadow: inset 4px 0 0 #31567f; }
  100% { background: #fff; box-shadow: inset 0 0 0 transparent; }
}

.job-priority-drag {
  display: inline-flex;
  width: 24px;
  height: 30px;
  align-items: center;
  justify-content: center;
  color: #aaa39b;
  background: transparent;
  border: 0;
  cursor: grab;
}

.job-priority-drag:active { cursor: grabbing; }
.job-priority-drag svg { width: 14px; height: 14px; }

.job-priority-index {
  color: #a19a92;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}

.job-priority-copy { min-width: 0; }
.job-priority-title-row { display: flex; min-width: 0; align-items: center; gap: 8px; }
.job-priority-title-row a,
.job-priority-title-row strong {
  overflow: hidden;
  color: #2c2926;
  font-size: 11.5px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.job-priority-title-row a:hover { color: #31567f; text-decoration: underline; text-underline-offset: 2px; }

.job-priority-live {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #327458;
  font-size: 8.5px;
  font-weight: 700;
  white-space: nowrap;
}
.job-priority-live svg { width: 9px; height: 9px; fill: currentColor; }

.job-priority-meta {
  margin-top: 3px;
  color: #978f86;
  font-family: "Plus Jakarta Sans", "Noto Sans TC", sans-serif;
  font-size: 9.25px;
}

.job-priority-step-controls {
  display: inline-grid;
  grid-template-columns: repeat(2, 20px);
  overflow: hidden;
  border: 1px solid #ddd8d1;
  border-radius: 4px;
}

.job-priority-step-controls button {
  display: inline-flex;
  width: 20px;
  height: 27px;
  align-items: center;
  justify-content: center;
  color: #706960;
  background: #fff;
  border: 0;
  border-right: 1px solid #e5e1dc;
  cursor: pointer;
}

.job-priority-step-controls button:last-child { border-right: 0; }
.job-priority-step-controls button:hover:not(:disabled) { color: #31567f; background: #f2f5f8; }
.job-priority-step-controls button:disabled { color: #cbc6c0; cursor: not-allowed; }
.job-priority-step-controls svg { width: 12px; height: 12px; }

.job-priority-controls {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #d8d3cc;
  border-radius: 5px;
}

.job-priority-choice {
  min-width: 31px;
  height: 28px;
  padding: 0 7px;
  color: #807970;
  background: #fff;
  border: 0;
  border-right: 1px solid #e3dfd9;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.job-priority-choice:last-child { border-right: 0; }
.job-priority-choice:hover { color: #31567f; background: #f3f5f7; }
.job-priority-choice.is-selected { color: #fff; background: var(--priority-color); }
.job-priority-choice:disabled { cursor: not-allowed; opacity: .72; }

.job-priority-strategy {
  min-height: 29px;
  color: #31567f;
  background: #fff;
  border-color: #9eafc0;
}
.job-priority-strategy:hover { color: #fff; }

.job-priority-empty {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  color: #9a9289;
  background: repeating-linear-gradient(-45deg, #fff, #fff 7px, #fbfaf8 7px, #fbfaf8 14px);
  font-size: 9.5px;
  text-align: center;
}

.job-priority-board button:focus-visible,
.job-priority-board a:focus-visible {
  outline: 2px solid #31567f;
  outline-offset: 2px;
}

.job-reconciliation-panel { margin-bottom: 12px; }
.job-reconciliation-panel:empty { display: none; }
.job-source-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #dedbd5;
  border-radius: 9px;
}

.job-source-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  background:
    linear-gradient(90deg, rgba(30, 58, 95, .055), transparent 58%),
    #fff;
  border-bottom: 1px solid #ece9e4;
}
.job-source-title { display: flex; align-items: flex-start; gap: 11px; }
.job-source-title > svg { width: 17px; height: 17px; margin-top: 1px; color: #31567f; flex: 0 0 auto; }
.job-source-title h2 { color: #292524; font-size: 13px; font-weight: 750; }
.job-source-title p { max-width: 690px; margin-top: 3px; color: #817a72; font-size: 10px; line-height: 1.55; }
.job-source-sync {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 11px;
  color: #fff;
  background: #31567f;
  border: 1px solid #31567f;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}
.job-source-sync:hover { background: #24476d; }
.job-source-sync:disabled { cursor: wait; opacity: .58; }
.job-source-sync.is-syncing svg { animation: talent-sync-spin .9s linear infinite; }
.job-source-sync svg { width: 13px; height: 13px; }

.job-source-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #ece9e4;
}
.job-source-metric { min-width: 0; padding: 12px 16px; border-right: 1px solid #ece9e4; }
.job-source-metric:last-child { border-right: 0; }
.job-source-metric span { display: block; color: #8b847b; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.job-source-metric strong { display: block; margin-top: 3px; color: #292524; font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; font-weight: 750; }
.job-source-metric.is-good strong { color: #277052; }
.job-source-metric.is-review strong { color: #ad6a1d; }
.job-source-metric.is-conflict strong { color: #a33f36; }

.job-source-queue { padding: 0 16px 12px; }
.job-source-queue-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 39px; }
.job-source-queue-head strong { color: #5c564f; font-size: 10px; }
.job-source-queue-head span { color: #918a82; font-size: 9.5px; }
.job-source-queue-list { display: grid; gap: 6px; }
.job-source-queue-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(190px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 7px 8px 7px 11px;
  background: #fbfaf8;
  border: 1px solid #ebe7e1;
  border-left: 3px solid #d19a57;
  border-radius: 0 6px 6px 0;
}
.job-source-queue-copy { min-width: 0; }
.job-source-queue-copy strong { display: block; overflow: hidden; color: #3b3733; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.job-source-queue-copy small { display: block; margin-top: 3px; color: #958d84; font-size: 9px; }
.job-source-queue-row select {
  width: 100%;
  height: 31px;
  padding: 0 26px 0 9px;
  color: #514c47;
  background: #fff;
  border: 1px solid #d9d4cc;
  border-radius: 5px;
  font-size: 10px;
}
.job-source-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.job-source-action,
.job-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 29px;
  padding: 0 8px;
  color: #4f4a45;
  background: #fff;
  border: 1px solid #d9d4cc;
  border-radius: 5px;
  font-size: 9.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.job-source-action:hover,
.job-table-action:hover { color: #1e3a5f; border-color: #9eafc0; background: #f6f8fa; }
.job-source-action.is-primary { color: #fff; border-color: #31567f; background: #31567f; }
.job-source-action.is-primary:hover { background: #24476d; }
.job-source-action:disabled { cursor: not-allowed; opacity: .5; }
.job-source-action svg,
.job-table-action svg { width: 12px; height: 12px; }
.job-source-empty { padding: 10px 0 1px; color: #817a72; font-size: 9.5px; }

.job-title-stack { min-width: 160px; }
.job-title-stack strong { display: block; color: #292524; font-size: 11px; }
.job-title-stack small { display: block; max-width: 250px; margin-top: 3px; overflow: hidden; color: #948c83; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.job-status-rail { display: grid; gap: 5px; min-width: 118px; }
.job-status-line { display: flex; align-items: center; gap: 6px; color: #6f6962; font-size: 9.5px; white-space: nowrap; }
.job-status-line::before { content: ""; width: 6px; height: 6px; background: #a8a29e; border-radius: 50%; flex: 0 0 auto; }
.job-status-line.is-good::before { background: #2f8a62; }
.job-status-line.is-review::before { background: #d18b36; }
.job-status-line.is-conflict::before { background: #bd5148; }
.job-publication-links { display: grid; gap: 4px; min-width: 165px; }
.job-publication-link { display: flex; align-items: center; gap: 6px; min-width: 0; }
.job-publication-link a { overflow: hidden; color: #31567f; font-size: 9.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.job-publication-link small { color: #9a9289; font-size: 8.5px; white-space: nowrap; }
.job-publication-empty { color: #9a9289; font-size: 9.5px; }
.job-unlink-button { padding: 2px; color: #aaa299; background: transparent; border: 0; cursor: pointer; }
.job-unlink-button:hover { color: #a33f36; }
.job-unlink-button svg { width: 11px; height: 11px; }
.job-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.job-table-action.is-search { color: #fff; border-color: #31567f; background: #31567f; }
.job-table-action.is-search:hover { background: #24476d; }

@media (max-width: 1050px) {
  .job-priority-row { grid-template-columns: 24px 28px minmax(200px, 1fr) 44px auto; }
  .job-priority-strategy { grid-column: 3 / -1; justify-self: end; }
  .job-source-queue-row { grid-template-columns: minmax(180px, 1fr) minmax(170px, 1fr); }
  .job-source-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 1050px) {
  .talent-nav-intro { align-items: flex-start; }
  .talent-nav-sync-note { width: 280px; }
  .talent-nav-layout { grid-template-columns: 310px minmax(0, 1fr); }
  .talent-profile-card { grid-template-columns: 26px minmax(0, 1fr); }
  .talent-profile-actions { grid-column: 2; }
}

@media (max-width: 820px) {
  .job-workspace-switch { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
  .job-priority-board-head { align-items: stretch; flex-direction: column; gap: 14px; padding: 18px 16px; }
  .job-priority-board-actions { justify-content: space-between; }
  .job-priority-groups { padding: 12px; }
  .job-priority-row { grid-template-columns: 22px 25px minmax(0, 1fr); padding: 9px 9px 9px 5px; }
  .job-priority-step-controls { grid-column: 3; justify-self: start; }
  .job-priority-controls { grid-column: 3; justify-self: start; }
  .job-priority-strategy { grid-column: 3; justify-self: start; }
  .job-source-head { align-items: stretch; flex-direction: column; }
  .job-source-sync { width: 100%; }
  .job-source-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .job-source-metric:nth-child(2) { border-right: 0; }
  .job-source-metric:nth-child(-n+2) { border-bottom: 1px solid #ece9e4; }
  .job-source-queue-row { grid-template-columns: minmax(0, 1fr); }
  .job-source-actions { grid-column: auto; }
  .talent-nav-intro { flex-direction: column; }
  .talent-nav-sync-note { width: 100%; padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.14); border-left: 0; }
  .talent-nav-layout { grid-template-columns: minmax(0, 1fr); }
  .talent-nav-jobs-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .talent-nav-job-list { max-height: 340px; }
  .talent-nav-detail { padding: 20px 16px 24px; }
  .talent-copy-source { grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr); }
  .talent-copy-source-state { display: none; }
  .talent-copy-footer { align-items: stretch; flex-direction: column; gap: 0; }
  .talent-copy-footer > span { padding: 12px 0 0; }
  .talent-copy-footer .talent-profile-dialog-actions { margin-top: 10px; }
}

@media (max-width: 520px) {
  .job-priority-board-actions { align-items: stretch; flex-direction: column; }
  .job-priority-board-actions > span { white-space: normal; }
  .job-priority-group-head { align-items: flex-start; }
  .job-priority-group-title p { display: none; }
  .job-priority-title-row { align-items: flex-start; flex-direction: column; gap: 3px; }
  .job-priority-title-row a,
  .job-priority-title-row strong { width: 100%; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .talent-nav-job-row,
  .talent-primary-button,
  .talent-secondary-button,
  .talent-profile-action,
  .talent-icon-button,
  .talent-copy-target,
  .talent-copy-toast,
  .job-priority-row { transition: none; }
  .job-priority-row.is-focused { animation: none; background: #e9f0f7; box-shadow: inset 4px 0 0 #31567f; }
}
