.pcr-page { background: #fafafc; flex: 1; min-height: 0; overflow: auto; padding: 24px; color: #17171a; }
.pcr-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.pcr-heading h1 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 0; }
.pcr-fixed-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; font-size: 12px; color: #9898a1; padding: 12px 16px; background: #fff; border-radius: 10px; border: 1px solid #eeeef2; margin-bottom: 16px; }
.pcr-fixed-strip strong { color: #41414a; font-weight: 500; }
.pcr-fixed-strip .semi-button { margin-left: auto; font-size: 12px; }
.pcr-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.pcr-metrics > div { padding: 16px; border-radius: 12px; border: 1px solid #eeeef2; background: #fff; }
.pcr-metrics span { color: #9898a1; font-size: 12px; }
.pcr-metrics strong { display: block; font-size: 26px; font-weight: 600; margin: 10px 0 6px; line-height: 32px; }
.pcr-metrics strong small { color: #9898a1; font-size: 13px; font-weight: 400; }
.pcr-metrics p { font-size: 11px; line-height: 18px; color: #a0a0aa; margin: 0; }
.pcr-tabs { margin-bottom: 16px; }
.pcr-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.pcr-toolbar span { font-size: 12px; color: #9898a1; }
.pcr-card { padding: 20px; border-radius: 12px; background: #fff; border: 1px solid #eeeef2; }
.pcr-card h3 { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.pcr-table .semi-table-row-head { font-size: 12px; height: 40px; background: #fafafd; }
.pcr-table .semi-table-row-cell { font-size: 12px; line-height: 20px; }
.pcr-combination { display: flex; flex-direction: column; gap: 6px; }
.pcr-combination strong { font-weight: 500; font-size: 13px; }
.pcr-combination-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.pcr-group-metrics.pcr-manual-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pcr-combination-toolbar { flex-wrap: wrap; }
.pcr-baseline-picker { display: flex; align-items: center; gap: 8px; }
.pcr-common-conditions { margin-top: 16px; border: 1px solid #eceef3; border-radius: 6px; }
.pcr-common-conditions > summary { padding: 14px 16px; font-size: 13px; cursor: pointer; color: #626d7f; }
.pcr-common-conditions .pcr-group-fixed { border: 0; border-top: 1px solid #eceef3; }
.pcr-full-skills { max-width: 480px; padding: 12px; }
.pcr-more-skills { color: #5146ff; font-size: 12px; cursor: pointer; }
.pcr-group-experiments .pcr-combination .semi-space { max-width: 100%; min-width: 0; }
.pcr-group-experiments .pcr-combination .semi-space-item { min-width: 0; }
.pcr-group-experiments .pcr-combination .semi-button { max-width: 100%; overflow: hidden; }
.pcr-group-experiments .pcr-combination .semi-button-content { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcr-combination-tags .semi-tag { max-width: 210px; font-size: 11px; }
.pcr-small { display: block; margin-top: 4px; color: #a0a0aa; font-size: 11px; line-height: 18px; }
.pcr-positive { color: #1da578; }.pcr-negative { color: #df4a59; }.pcr-muted { color: #9898a1; font-size: 12px; }
.pcr-config-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pcr-definition { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px 12px; font-size: 12px; line-height: 20px; margin: 0; }
.pcr-definition dt { color: #a0a0aa; }.pcr-definition dd { margin: 0; color: #41414a; overflow-wrap: anywhere; }
.pcr-config-values { margin-top: 16px; }
.pcr-code { font-size: 12px; line-height: 22px; background: #fafafd; border: 1px solid #e9e9ef; padding: 12px; border-radius: 8px; white-space: pre-wrap; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.pcr-details { font-size: 12px; margin-top: 16px; }.pcr-details summary { color: #7167ca; cursor: pointer; }
.pcr-result-sheet .semi-sidesheet-body { padding: 24px; }
.pcr-pair-summary { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.pcr-pair-summary span { padding: 8px 12px; border: 1px solid #e8e8ee; border-radius: 8px; font-size: 12px; color: #74747e; background: #fafafd; }
.pcr-pair-metrics { margin-bottom: 20px; border: 1px solid #e9e9ef; border-radius: 10px; overflow: hidden; }
.pcr-pair-metrics h4 { margin: 0; padding: 12px; font-size: 13px; background: #fafafd; border-bottom: 1px solid #e9e9ef; }
.pcr-pair-metrics table { width: 100%; border-collapse: collapse; font-size: 12px; }
.pcr-pair-metrics th, .pcr-pair-metrics td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #efeff3; line-height: 20px; }
.pcr-pair-metrics th { color: #9898a1; font-weight: 400; }.pcr-pair-metrics td:first-child { width: 100px; }.pcr-pair-metrics tr:last-child td { border-bottom: 0; }
.xpw-page { flex: 1; min-height: 0; overflow: auto; padding: 24px; background: #fff; color: #17171a; }
.xpw-heading, .xpw-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.xpw-heading { margin-bottom: 20px; }.xpw-heading h1 { margin: 0; font-size: 20px; font-weight: 600; }
.xpw-tabs { margin-bottom: 16px; }.xpw-toolbar { margin: 16px 0; }.xpw-toolbar > span { color: #9898a1; font-size: 12px; }
.xpw-table .semi-table-row-head { height: 40px; background: #fafafd; font-size: 12px; }.xpw-table .semi-table-row-cell { font-size: 12px; line-height: 20px; }
.xpw-task { display: flex; align-items: flex-start; flex-direction: column; gap: 5px; }.xpw-task .semi-button { font-size: 12px; white-space: normal; text-align: left; }.xpw-task small { color: #a0a0aa; font-size: 11px; }
.xpw-candidate { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }.xpw-candidate > span { font-size: 12px; line-height: 20px; color: #62626d; }
.xpw-note { margin-top: 14px; font-size: 12px; color: #9898a1; line-height: 22px; }
.pcr-pair-output { color: #62626d; font-size: 12px; line-height: 21px; max-width: 330px; white-space: pre-wrap; }
.pcr-evidence-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; }
.pcr-evidence-block { min-width: 0; }
.pcr-evidence-block h3 { font-size: 14px; margin: 20px 0 10px; }.pcr-evidence-block h4 { font-size: 12px; margin: 20px 0 10px; }
.pcr-evidence-block p { font-size: 12px; color: #62626d; line-height: 22px; }
.pcr-injection-table { font-size: 11px; width: 100%; border-collapse: collapse; }
.pcr-injection-table td { padding: 8px; border-bottom: 1px solid #ededf2; overflow-wrap: anywhere; }
.pcr-injection-table th { padding: 8px; text-align: left; color: #9898a1; font-weight: 400; background: #fafafd; }
.pcr-no-data { text-align: center; padding: 40px; color: #a0a0aa; font-size: 13px; }
.pcr-table-note { font-size: 12px; color: #9898a1; line-height: 22px; margin: 12px 0 0; }
@media (max-width: 1100px) { .pcr-config-grid { grid-template-columns: 1fr; } .pcr-metrics { grid-template-columns: 1fr 1fr; } }


.pcr-task-group { padding: 0; background: #f8f9fc; }
.pcr-group-topbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 28px; background: #fff; border-bottom: 1px solid #e9eaf0; }
.pcr-group-topbar h1 { margin: 0; font-size: 22px; font-weight: 600; line-height: 32px; }
.pcr-group-topbar .semi-button { font-size: 13px; }
.pcr-group-content { padding: 26px 28px 30px; }
.pcr-group-title { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 2px 0 18px; }
.pcr-group-title h2 { margin: 0; font-size: 20px; line-height: 28px; font-weight: 600; }
.pcr-group-title > span { color: #9297a5; font-size: 12px; }
.pcr-group-tabs { margin-bottom: 12px; }
.pcr-group-tabs .semi-tabs-tab { padding: 12px 16px; font-size: 14px; }
.pcr-group-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 12px 0 16px; }
.pcr-group-metrics > div { border: 1px solid #e9eaf0; border-radius: 10px; background: #fff; padding: 16px; min-width: 0; }
.pcr-group-metrics span { color: #9399a8; font-size: 12px; }
.pcr-group-metrics strong { display: block; color: #293348; font-size: 27px; font-weight: 600; line-height: 34px; margin: 7px 0 4px; }
.pcr-group-metrics strong.pcr-positive { color: #0c946b; }
.pcr-group-metrics strong.pcr-negative { color: #d7525d; }
.pcr-group-metrics small { font-size: 12px; color: #626d7f; font-weight: 400; }
.pcr-group-metrics p { margin: 0; font-size: 12px; color: #969cad; line-height: 20px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pcr-group-metrics .pcr-best-card { border-color: #bddfcf; }
.pcr-best-card strong { color: #0b936a; }
.pcr-matrix-card { display: grid; grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr); border: 1px solid #e8eaf0; background: #fff; border-radius: 10px; margin-bottom: 16px; overflow: hidden; }
.pcr-matrix-main { padding: 18px; min-width: 0; }
.pcr-matrix-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pcr-matrix-heading h3,.pcr-group-fixed h3,.pcr-table-heading h3 { margin: 0; font-size: 14px; color: #343c4c; font-weight: 600; }
.pcr-matrix-metrics { display: flex; gap: 4px; }
.pcr-matrix-metrics .semi-button { padding: 0 6px; font-size: 12px; color: #7e8695; height: 24px; }
.pcr-matrix-metrics .semi-button.is-active { color: #5a46ee; font-weight: 600; }
.pcr-matrix-scroll { overflow-x: auto; }
.pcr-effect-matrix { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 6px 6px; font-size: 12px; margin: -6px; }
.pcr-effect-matrix th { color: #9299a8; font-weight: 400; text-align: center; height: 28px; }
.pcr-effect-matrix th:first-child { width: 155px; text-align: left; padding-left: 6px; }
.pcr-effect-matrix td { padding: 0; }
.pcr-matrix-cell { width: 100%; min-height: 36px; border: 1px solid transparent; border-radius: 5px; display: flex; gap: 10px; align-items: center; justify-content: center; cursor: pointer; color: #7060c6; }
.pcr-matrix-cell strong { font-size: 20px; line-height: 26px; font-weight: 600; }
.pcr-matrix-cell span { font-size: 11px; color: #8b86a4; }
.pcr-matrix-cell.is-baseline { border: 1px dashed #c7bfdc; }
.pcr-matrix-cell.is-best { background: #e8f7ef; border: 1px solid #78c9a1; color: #13966c; }
.pcr-matrix-cell.is-best span { color: #15956c; }
.pcr-matrix-cell.is-pending { color: #a3a7b1; background: #f7f8fa; }
.pcr-matrix-cell:focus-visible { outline: 2px solid #7562e8; outline-offset: 2px; }
.pcr-matrix-note { display: flex; gap: 5px; align-items: center; font-size: 11px; color: #999fae; margin: 10px 0 0; }
.pcr-matrix-note i { width: 9px; height: 9px; border-radius: 2px; background: #ece8ff; }
.pcr-matrix-note > span { margin-left: 12px; }
.pcr-matrix-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 14px; }
.pcr-matrix-filters > .semi-select { min-width: 145px; max-width: 230px; font-size: 12px; }
.pcr-group-fixed { padding: 18px; border-left: 1px solid #eceef3; }
.pcr-group-fixed dl { display: grid; grid-template-columns: 65px minmax(0, 1fr); gap: 7px 3px; font-size: 12px; line-height: 18px; margin: 16px 0 3px; }
.pcr-group-fixed dt { color: #969dad; }
.pcr-group-fixed dd { color: #929aa9; margin: 0; overflow-wrap: anywhere; }
.pcr-group-fixed .semi-button { font-size: 12px; padding: 0; height: 24px; }
.pcr-experiment-card { border: 1px solid #e8eaf0; background: #fff; border-radius: 10px; padding: 16px 18px; }
.pcr-table-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.pcr-table-heading .semi-button { font-size: 12px; height: 30px; }
.pcr-group-experiments { border: 1px solid #eceef3; border-radius: 6px; overflow: hidden; }
.pcr-group-experiments .semi-table-row-head { background: #f6f7fb; height: 36px; color: #9ba1ad; padding: 8px 12px; }
.pcr-group-experiments .semi-table-row-cell { height: 42px; padding: 8px 12px; color: #606b7c; }
.pcr-group-experiments .semi-button { font-size: 12px; padding: 0; height: 24px; }
.pcr-group-experiments .semi-tag { padding: 0 5px; }
.pcr-score { font-size: 17px; font-weight: 600; color: #394355; }
@media(max-width:1150px) { .pcr-matrix-card { grid-template-columns: minmax(0,1fr); } .pcr-group-fixed { border-left: 0; border-top: 1px solid #eceef3; } .pcr-group-fixed dl { grid-template-columns: 85px 1fr; } .pcr-group-metrics { grid-template-columns: 1fr 1fr; } }
@media(max-width:750px) { .pcr-group-topbar,.pcr-group-title { flex-wrap: wrap; } .pcr-group-content { padding: 18px; } .pcr-group-topbar { padding: 18px; } .pcr-matrix-heading { flex-wrap: wrap; } .pcr-effect-matrix { min-width: 550px; } }

.acp-section { margin: 24px 0; }
.acp-info { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 14px; height: 14px; line-height: 0; vertical-align: middle; color: #888; margin: 0; }
.acp-info-icon { display: block; width: 14px; height: 14px; flex-shrink: 0; }
.acp-section > .recorded-label-info { align-items: center; gap: 6px; }
.acp-table { border: 1px solid #e5e5eb; border-radius: 6px; overflow: hidden; }
.acp-parameter-table .semi-table-thead > tr > th { background: #f4f4f8; color: #90909b; padding: 10px 16px; height: 40px; font-size: 12px; font-weight: 400; }
.acp-parameter-table .semi-table-tbody > tr > td { height: 44px; padding: 8px 16px; border-bottom: 1px solid #ededf2; font-size: 13px; background: transparent; }
.acp-parameter-table .semi-table-tbody > tr:last-child > td { border-bottom: 0; }
.acp-key-cell { display: flex; align-items: center; gap: 8px; }
.acp-key-button.semi-button { color: #50505c; padding: 0; height: auto; font-size: 13px; font-weight: 400; }
.acp-parameter-table .semi-table-thead > tr > th.acp-open-column,
.acp-parameter-table .semi-table-tbody > tr > td.acp-open-column,
.acp-parameter-table .semi-table-thead > tr > th.acp-action-column,
.acp-parameter-table .semi-table-tbody > tr > td.acp-action-column { text-align: center; }
.acp-open-column .semi-checkbox { display: inline-flex; align-items: center; justify-content: center; padding: 0; margin: 0; vertical-align: middle; }
.acp-remove.semi-button { opacity: 1; padding: 0 4px; height: 28px; font-size: 13px; white-space: nowrap; }
.acp-candidate-button.semi-button { padding: 0; height: auto; }
.acp-candidate-button .semi-tag { border-radius: 3px; background: #eeeafa; color: #7562d5; min-width: 32px; font-size: 12px; }
.acp-add-row { border-top: 1px solid #ededf2; padding: 10px 16px; }
.acp-add-row .semi-button { padding: 0; height: 26px; font-size: 13px; }
.acp-parameter-table .semi-empty { padding: 16px 0; }
.acp-parameter-table .semi-empty-image { display: none; }

.acp-edit-modal .semi-modal { max-width: calc(100vw - 32px); }
.acp-edit-modal .semi-modal-content { display: flex; flex-direction: column; max-height: calc(100dvh - 48px); padding: 24px; border-radius: 12px; }
.acp-edit-modal .semi-modal-body { min-height: 0; overflow-y: auto; padding: 16px 0 0; margin: 0; scrollbar-gutter: stable; }
.acp-edit-modal .semi-modal-header,.acp-edit-modal .semi-modal-footer { flex-shrink: 0; }
.acp-edit-modal .semi-modal-header { border-bottom: 1px solid #ededf2; padding-bottom: 16px; margin: 0; align-items: center; }
.acp-edit-modal .semi-modal-title { font-size: 18px; line-height: 26px; font-weight: 600; }
.acp-edit-modal .semi-modal-footer { border-top: 1px solid #ededf2; padding-top: 16px; margin-top: 16px; }
.acp-edit-modal .semi-button { height: 32px; border-radius: 8px; }
.acp-edit-modal .semi-input-wrapper, .acp-edit-modal .semi-select { min-width: 0; height: 32px; border-radius: 8px; box-shadow: none; }
.acp-edit-modal .semi-input, .acp-edit-modal .semi-select-selection { font-size: 13px; }
.acp-modal-description { color: #8b8b96; font-size: 12px; line-height: 20px; margin: 0 0 20px; }
.acp-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin: 0 0 24px; }
.acp-edit-field { min-width: 0; }
.acp-edit-field > label { font-size: 13px; line-height: 20px; color: #444450; font-weight: 500; display: flex; align-items: center; gap: 5px; margin-bottom: 8px; }
.acp-edit-modal em { color: #e74e62; font-style: normal; }
.acp-edit-modal .acp-info { font-size: 13px; }
.acp-permission { min-height: 32px; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #555560; }
.acp-candidates-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; font-size: 13px; }
.acp-candidates-heading strong { font-weight: 500; color: #444450; }
.acp-candidates-heading > span { color: #93939e; font-size: 12px; }
.acp-candidates-table { border: 1px solid #dcdce5; border-radius: 10px; overflow: hidden; }
.acp-candidates-head { background: #f7f7fa; color: #747483; font-size: 13px; font-weight: 500; line-height: 20px; padding: 12px 16px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px; gap: 16px; }
.acp-candidates-head > span { display: flex; align-items: center; gap: 5px; }
.acp-candidate-list { display: flex; flex-direction: column; }
.acp-candidate-list > div { padding: 16px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px; gap: 16px; align-items: center; border-top: 1px solid #ededf2; }
.acp-candidate-list > div:first-child { border-top: 0; }
.acp-candidate-list .semi-input-wrapper { min-width: 0; }
.acp-candidate-list .acp-actual-value input { font-family: SFMono-Regular,Consolas,monospace; color: #555560; }
.acp-edit-modal .acp-candidate-list .semi-button { padding: 0; min-width: 32px; height: 32px; color: #9696a1; }
.acp-candidates-actions { border-top: 1px solid #ededf2; padding: 12px 16px; background: #fff; }
.acp-edit-modal .acp-add-candidate.semi-button { font-size: 13px; height: 28px; padding: 0; margin: 0; }
.acp-default-field { margin-top: 20px; }
.acp-default-field > p { font-size: 12px; line-height: 22px; color: #93939e; margin: 6px 0 20px; }
.acp-mapping-note { display: flex; align-items: flex-start; gap: 6px; color: #8b8b96; font-size: 12px; line-height: 20px; margin: 12px 0 0; }
.acp-mapping-note > .acp-info-icon { margin-top: 3px; }
.acp-validation { margin-top: 12px; font-size: 12px; line-height: 20px; }
.acp-valid { color: #319773; font-size: 12px; line-height: 20px; margin-top: 12px; }
@media(max-width:600px) {
  .acp-edit-modal .semi-modal-content { padding: 20px; }
  .acp-edit-grid { grid-template-columns: 1fr; gap: 16px; }
  .acp-candidates-head, .acp-candidate-list > div { gap: 8px; padding: 10px 8px; }
}
