.orbit-ui-role-evidence { grid-column: 1 / -1; min-width: 0; }
.orbit-ui-role-evidence .template-score-evidence-row { flex-wrap: wrap; }
.orbit-ui-role-evidence .template-score-evidence-name { overflow-wrap: anywhere; }
.orbit-ui-evidence-preview img { max-width: 100%; max-height: 70vh; }
.orbit-ui-evidence-preview iframe { width: 100%; height: 70vh; border: 0; }
.orbit-ui-evidence-preview pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 70vh; overflow: auto; }

.template-score-role-row label > .orbit-ui-self-score[hidden] { display: none; }

.orbit-ui-evidence-preview .orbit-ui-pdf-viewport { max-height: 70vh; overflow: auto; }
.orbit-ui-evidence-preview .orbit-ui-pdf-viewport canvas { display: block; }
.orbit-ui-evidence-preview .orbit-ui-pdf-viewport[hidden] { display: none; }
.orbit-ui-evidence-preview .orbit-ui-form-actions { flex-wrap: wrap; }

.orbit-ui-role-evidence > .orbit-ui-form-actions { padding: var(--sp-4) var(--sp-3) var(--sp-3); }

.orbit-ui-evidence-strip { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-3); padding: var(--sp-3); }
.orbit-ui-evidence-strip .template-score-evidence-list { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); min-width: 0; flex: 1; }
.orbit-ui-file-chip { display: inline-flex; gap: var(--sp-2); align-items: center; max-width: 100%; min-width: 0; }
.orbit-ui-file-chip > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 20ch; }
.orbit-ui-file-thumbnail { display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-xs); padding: var(--sp-1); color: var(--text-soft); font-size: var(--fs-xs); }
.orbit-ui-criterion-report { padding: var(--sp-3); border: 1px solid var(--line); border-radius: var(--radius-xs); margin: var(--sp-3); }
.orbit-ui-evidence-ai-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.orbit-ui-evidence-files { max-width: min(960px,calc(100vw - 24px)); max-height: 85vh; overflow: auto; }

.orbit-ui-office-content { display: grid; gap: var(--sp-3); min-width: 0; }
.orbit-ui-office-content p { white-space: pre-wrap; overflow-wrap: anywhere; }
.orbit-ui-office-content img { display: block; max-width: 100%; max-height: 60vh; object-fit: contain; }
.orbit-ui-office-table-scroll { overflow: auto; max-height: 60vh; max-width: 100%; }
.orbit-ui-office-content table { border-collapse: collapse; width: max-content; min-width: 100%; }
.orbit-ui-office-content td { border: 1px solid var(--line); padding: var(--sp-2); white-space: pre-wrap; max-width: 40ch; overflow-wrap: anywhere; }
.orbit-ui-office-slide { padding: var(--sp-3); border: 1px solid var(--line); display: grid; gap: var(--sp-3); }

.orbit-ui-evidence-report-entry { flex: 0 0 auto; min-width: 0; width: 100%; max-width: 100%; }
.orbit-ui-evidence-report-entry p { margin: 0 0 var(--sp-2); overflow-wrap: anywhere; }

.orbit-ui-evidence-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); width: 100%; }
.orbit-ui-evidence-details { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-3); width: 100%; }
.orbit-ui-evidence-details .template-score-evidence-list { flex: 0 0 auto; width: 100%; }

.orbit-ui-role-note-actions { grid-column: 1 / -1; min-width: 0; }

.orbit-ui-evidence-upload-summary { display: inline-flex; align-items: center; gap: var(--sp-2); }
.orbit-ui-evidence-count { white-space: nowrap; }

.orbit-ui-report-header { flex-wrap: nowrap; align-items: center; }
.orbit-ui-report-header h2 { min-width: 0; overflow-wrap: anywhere; }
.orbit-ui-report-header button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

.orbit-ui-report-coverage { margin-top: var(--sp-4); border: 1px solid var(--line); border-radius: var(--radius-xs); background: var(--panel-soft); }
.orbit-ui-report-coverage > summary { padding: var(--sp-3); color: var(--text); font-size: var(--fs-md); font-weight: 600; cursor: pointer; border-radius: var(--radius-xs); }
.orbit-ui-report-coverage > summary::marker { color: var(--accent); }
.orbit-ui-report-coverage > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.orbit-ui-report-coverage[open] > summary { border-bottom: 1px solid var(--line); }
.orbit-ui-report-coverage > p { margin: var(--sp-3); overflow-wrap: anywhere; }

.orbit-ui-report-section { margin-top: var(--sp-4); }
.orbit-ui-report-section > h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); font-weight: 600; color: var(--text); }
.orbit-ui-report-section > p { margin: 0; }
.orbit-ui-report-conclusion { padding: var(--sp-3); border: 1px solid var(--accent); border-radius: var(--radius-xs); background: var(--accent-soft); }
.orbit-ui-report-conclusion > p { color: var(--text); font-size: var(--fs-lg); font-weight: 600; }

.orbit-ui-criterion-copy { margin-inline-start: var(--sp-2); vertical-align: middle; }
.orbit-ui-criterion-copy-dialog textarea { width: 100%; box-sizing: border-box; }

/* 自评说明与附件共用父区域，内部只用分隔线。 */
.template-score-role-row.orbit-ui-review-role { display: block; padding: var(--sp-2) var(--sp-3); border: 0; background: transparent; }
.orbit-ui-review-block { border: 1px dashed var(--line); border-radius: var(--radius-sm); background: var(--panel); overflow: hidden; min-width: 0; }
.orbit-ui-review-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); background: var(--panel-soft); border-bottom: 1px solid var(--line); }
.orbit-ui-review-header .orbit-ui-review-title { display: block; min-width: 0; font-size: var(--fs-md); font-weight: 700; color: var(--text); padding: 0; }
.orbit-ui-review-header .orbit-ui-button { white-space: normal; }
.orbit-ui-review-header .my-perf-rework-toggle { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); font-weight: 600; }
.orbit-ui-review-note { padding: var(--sp-2) var(--sp-3); min-width: 0; }
.orbit-ui-review-note h6 { margin: 0 0 var(--sp-2); font-size: var(--fs-md); color: var(--text); }
.orbit-ui-review-note .template-score-note-field { width: 100%; padding: 0; }
.orbit-ui-review-note textarea { width: 100%; box-sizing: border-box; }
.orbit-ui-review-block > .template-score-evidence { margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: var(--surface-muted); }
.orbit-ui-review-block .template-score-evidence-head { padding: var(--sp-2) var(--sp-3); background: var(--surface-muted); border-bottom: 0; }
.orbit-ui-review-block .orbit-ui-evidence-strip { padding: var(--sp-1) var(--sp-3) var(--sp-2); gap: var(--sp-2); }
.orbit-ui-review-block > .my-perf-hint { margin: 0; padding: var(--sp-3) var(--sp-4); background: var(--accent-soft); border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.orbit-ui-review-block .my-perf-rework-form { padding: var(--sp-4); border-bottom: 1px solid var(--line); }
.my-perf-rework-form[hidden] { display: none; }
.my-perf-rework-form label { display: grid; gap: var(--sp-2); }
.my-perf-rework-form textarea { width: 100%; box-sizing: border-box; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-xs); padding: var(--sp-2); }
.my-perf-rework-form .orbit-ui-button { margin-top: var(--sp-3); }
@media (max-width: 768px) { .orbit-ui-review-header .orbit-ui-button { width: 100%; } }

.orbit-ui-review-score { display: grid; gap: var(--sp-1); margin-bottom: var(--sp-2); min-width: 0; }
.orbit-ui-review-score select { width: 100%; box-sizing: border-box; }

.orbit-ui-review-note select, .orbit-ui-review-note textarea { font: inherit; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-xs); padding: var(--sp-2); }
.orbit-ui-review-note select { min-height: 44px; }
.orbit-ui-review-note select:disabled, .orbit-ui-review-note textarea:disabled { opacity: 1; color: var(--text-soft); background: var(--panel-soft); }
.orbit-ui-review-role > .template-score-card-final { margin-top: var(--sp-3); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-soft); }

/* 三个角色通过虚线颜色和标题文字共同区分。 */
.orbit-ui-review-block[data-review-role="self"] { border-color: var(--ok); }
.orbit-ui-review-block[data-review-role="first"] { border-color: var(--info); }
.orbit-ui-review-block[data-review-role="second"] { border-color: var(--warn); }

/* 高度随说明内容增长，默认只占一行。 */
.orbit-ui-review-note textarea { min-height: 0; resize: none; overflow-y: hidden; line-height: 1.5; }
.orbit-ui-review-block .orbit-ui-evidence-details { gap: var(--sp-2); }
.orbit-ui-review-block .orbit-ui-evidence-report-entry p { margin-bottom: var(--sp-1); }
.orbit-ui-review-note .orbit-ui-form-actions { padding-top: var(--sp-2); }

/* 仅突出当前可编辑的评分角色，不改变控件权限。 */
.orbit-ui-review-block:has(.orbit-ui-review-note select:not(:disabled), .orbit-ui-review-note textarea:not(:disabled)) { border-color: var(--accent); border-width: 2px; box-shadow: var(--shadow-soft); }

.orbit-ui-note-save-status { display: flex; align-items: center; gap: var(--sp-2); padding-top: var(--sp-2); }
.orbit-ui-note-save-status [hidden] { display: none; }

/* 最终分文字与数值左右排列，使用一致的上下留白。 */
.orbit-ui-review-role > .template-score-card-final { flex-direction: row; justify-content: space-between; align-items: center; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3); min-height: 0; }
.orbit-ui-review-role > .template-score-card-final strong { margin-top: 0; flex-shrink: 0; }

/* 直接考评人只保留评分与说明，不显示附件区；附件记录不删除。 */
.orbit-ui-review-block[data-review-role="first"] > .template-score-evidence { display: none; }

/* 标题栏独立于附件内容滚动，关闭图标不随文件横向/纵向移动。 */
.orbit-ui-attachment-dialog { padding: 0; overflow: hidden; max-height: 85vh; }
.orbit-ui-attachment-dialog[open] { display: flex; flex-direction: column; }
.orbit-ui-attachment-header { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex: 0 0 auto; padding: var(--sp-4) var(--sp-6); border-bottom: 1px solid var(--line); background: var(--panel); }
.orbit-ui-attachment-header h2 { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.orbit-ui-attachment-header button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.orbit-ui-attachment-content { min-width: 0; min-height: 0; overflow: auto; padding: var(--sp-6); }
