/* Soft Presence: the same quiet material language across staff tools.
   Geometry and state classes stay with the existing feature stylesheets. */
dialog {
  --sp-panel-ink: var(--sp-color-30413a,#30413a);
  --sp-panel-muted: var(--sp-color-61736a,#61736a);
  --sp-panel-faint: var(--sp-color-7b8981,#7b8981);
  --sp-panel-line: var(--sp-color-dce4da,#dce4da);
  --sp-panel-paper: #fbfcf8;
  --sp-panel-soft: #f1f5ee;
  --sp-panel-accent: var(--sp-color-4e735d,#4e735d);
  --sp-panel-ai: var(--sp-color-718392,#718392);
  --sp-panel-human: var(--sp-color-517c68,#517c68);
  --sp-panel-warning: #88652e;
  --sp-panel-error: #985664;
  color: var(--sp-panel-ink);
  background: var(--sp-panel-paper);
  border-color: #ffffff;
  border-radius: 22px;
  box-shadow: 0 32px 100px var(--sp-color-293e3529,#293e3529), 0 0 0 1px var(--sp-color-a4b3a31c,#a4b3a31c);
}
dialog::backdrop,
.portrait-lighting-dialog::backdrop,
.background-dialog::backdrop {
  background: var(--sp-color-263b3242,#263b3242);
  backdrop-filter: blur(14px) saturate(.75);
}
dialog .dialog-content { padding: 34px; }
dialog .dialog-heading { margin-bottom: 27px; }
dialog .dialog-heading h2 { font-size: 23px; font-weight: 400; letter-spacing: .015em; }
dialog .eyebrow { color: var(--sp-panel-faint); letter-spacing: .18em; }
dialog .dialog-description,
dialog .settings-note,
dialog .template-settings-note,
dialog .review-tool-note,
dialog .api-info,
dialog .help-steps p { color: var(--sp-panel-muted); font-size: 12px; line-height: 1.9; }
dialog .field { color: var(--sp-panel-muted); font-size: 12px; gap: 9px; margin-bottom: 21px; }
dialog .field input:not([type=radio]),
dialog .field select,
dialog .field textarea,
dialog .review-tool-field input,
dialog .review-tool-field select,
.company-editor-panel .field input:not([type=radio]),
.company-editor-panel .field select,
.company-editor-panel .field textarea,
dialog .human-score-field select,
dialog .microphone-device-choice select,
dialog .microphone-settings select {
  border: 1px solid var(--sp-panel-line);
  background: #ffffffb8;
  border-radius: 10px;
  color: var(--sp-panel-ink);
  font-size: 13px;
  line-height: 1.7;
  padding: 12px 13px;
  min-height: 44px;
}
dialog :is(input,textarea)::placeholder { color: var(--sp-color-829087,#829087); opacity: 1; }
dialog :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color: var(--sp-panel-accent); }
dialog .mode-options>label { background: #ffffffa6; border-color: var(--sp-panel-line); padding: 15px 12px; }
dialog .mode-options small { color: var(--sp-panel-muted); font-size: 11px; line-height: 1.8; }
dialog .api-info { background: var(--sp-panel-soft); padding: 16px; }
dialog .help-steps li { color: var(--sp-panel-faint); }
dialog .help-steps strong { color: var(--sp-panel-ink); font-size: 14px; font-weight: 500; }
dialog .upload-area { background: #f5f8f1; border-color: var(--sp-color-a9bcaa,#a9bcaa); color: var(--sp-panel-accent); }
dialog .upload-area span { color: var(--sp-panel-muted); font-size: 11px; }

/* Templates read like a document, with editable groups retaining a quiet boundary. */
dialog .portrait-shortcut,
dialog .template-preview,
dialog .company-editor-card,
dialog .company-editor-mappings,
dialog .template-criterion {
  background: #ffffffa6;
  border-color: var(--sp-panel-line);
  border-radius: 14px;
}
dialog .portrait-shortcut { padding: 20px; }
dialog .portrait-shortcut>strong,
dialog .template-preview-title,
dialog .template-criterion>strong,
dialog .company-editor-card-heading h3 { color: var(--sp-panel-ink); font-weight: 500; }
dialog .portrait-shortcut>p,
dialog .portrait-shortcut>p:last-child,
dialog .template-description,
dialog .template-interview-plan,
dialog .template-review-note,
dialog .template-criterion p,
dialog .template-question-preview,
dialog .template-question-preview ul,
dialog .template-anchors,
dialog .template-preflight-reference { color: var(--sp-panel-muted); }
dialog .template-version { background: var(--sp-color-eaf0e6,#eaf0e6); color: var(--sp-color-5b7460,#5b7460); }
dialog .template-anchors p { border-color: var(--sp-panel-line); }
dialog .template-preview[data-state=unavailable] { color: var(--sp-panel-error); }
.company-template-editor { color: var(--sp-panel-ink); }
.company-editor-heading { padding: 28px 30px 12px; }
.company-editor-heading h2 { font-size: 23px; font-weight: 400; }
.company-editor-provenance,
.company-editor-note,
.company-editor-mappings legend,
.company-editor-mappings label,
.company-editor-guidance,
.company-editor-anchors,
.company-editor-weight { color: var(--sp-panel-muted); }
.company-editor-tabs { border-color: var(--sp-panel-line); }
.company-editor-tab { color: var(--sp-panel-faint); border-bottom-width: 1px; padding-bottom: 14px; }
.company-editor-tab[aria-selected=true] { border-color: var(--sp-panel-accent); color: var(--sp-panel-accent); font-weight: 500; }
.company-editor-panel { padding: 26px 30px; }
.company-editor-footer { border-color: var(--sp-panel-line); background: #f9fbf6; }
.company-editor-close,
.comparison-close,
.portrait-lighting-close,
.background-close { background: #ffffffb8; border-color: var(--sp-panel-line); color: var(--sp-panel-muted); border-radius: 100px; min-height: 40px; }
.company-editor-weight[data-valid=false],
.company-editor-discard-button,
.company-editor-error { color: var(--sp-panel-error); }
.company-editor-error { background: #fff3f4; }
.company-editor-discard { color: var(--sp-panel-warning); background: #fff9ed; border-color: #e7d6b7; }

/* Records and the day's reception stay information-dense, without colored boxes. */
#review-dialog { border-radius: 22px; background: var(--sp-panel-paper); }
.review-header,
.reception-dashboard,
.review-pdf-status { background: var(--sp-panel-paper); border-color: var(--sp-panel-line); }
.review-header { padding: 28px 30px; }
.review-header h2 { color: var(--sp-panel-ink); font-size: 23px; font-weight: 400; letter-spacing: .015em; }
.review-layout { background: #fbfcf8; }
.record-list-panel { background: #f2f5ee; border-color: var(--sp-panel-line); }
.record-list-heading,
.reception-dashboard h3 { color: var(--sp-panel-ink); font-weight: 500; }
.record-list-heading span,
.storage-note,
.record-list-empty,
.review-tool-field,
.reception-all-dates,
.review-pdf-status { color: var(--sp-panel-muted); }
.storage-note { font-size: 11px; }
.record-item { color: var(--sp-panel-ink); padding: 15px 12px; border-radius: 10px; }
.record-item:hover { background: #ffffff96; border-color: var(--sp-color-d7e0d3,#d7e0d3); box-shadow: none; }
.record-item.selected { background: #ffffff; border-color: var(--sp-color-adbfa9,#adbfa9); box-shadow: 0 3px 15px var(--sp-color-3e5d3e06,#3e5d3e06); }
.record-item strong { font-weight: 500; }
.record-item>span,
.record-item small,
.record-item-meta,
.record-item-meta>span:last-child,
.record-item>span.record-applicant-number { color: var(--sp-panel-muted); }
.record-item small { font-size: 10px; }
.record-detail { padding: 30px 34px; }
.record-title h3 { color: var(--sp-panel-ink); font-size: 29px; font-weight: 400; letter-spacing: -.02em; }
.record-title p,
.record-title .record-identity-note { color: var(--sp-panel-muted); font-size: 12px; }
.review-status { background: var(--sp-color-edf2e9,#edf2e9); border-color: var(--sp-color-d9e3d4,#d9e3d4); color: var(--sp-color-586f5c,#586f5c); font-size: 11px; }
.review-status.confirmed { background: var(--sp-color-e9f2e9,#e9f2e9); color: var(--sp-color-456c50,#456c50); border-color: var(--sp-color-ccdfcc,#ccdfcc); }
.review-status.interrupted { color: var(--sp-panel-warning); background: #fff8e9; border-color: #ead9ba; }
.review-empty,
.review-empty svg,
.review-empty h3 { color: var(--sp-panel-muted); }
.review-empty h3 { font-size: 18px; font-weight: 400; }
.reception-count { border-color: transparent; border-radius: 10px; background: #f2f6ee; color: var(--sp-panel-muted); padding: 12px; }
.reception-count>strong { color: var(--sp-color-46654c,#46654c); font-size: 26px; font-weight: 400; }
.reception-count.selected { border-color: var(--sp-color-9fb59e,#9fb59e); background: var(--sp-color-eaf1e4,#eaf1e4); }
.reception-count:hover { border-color: var(--sp-color-b8c9b1,#b8c9b1); }
.reception-count>span { font-size: 11px; }
.review-stats { gap: 20px; margin: 26px 0; }
.review-stats>div { border: 0; border-bottom: 1px solid var(--sp-panel-line); border-radius: 0; background: transparent; padding: 0 0 17px; }
.review-stats>div>span { color: var(--sp-panel-muted); font-size: 11px; }
.review-stats strong { color: var(--sp-color-496d52,#496d52); font-weight: 400; font-size: 30px; }
.review-stats small { color: var(--sp-panel-faint); }
.review-progress { background: #f2f6ee; border-color: var(--sp-panel-line); }
.review-progress-heading strong { color: var(--sp-panel-ink); font-weight: 500; }
.review-evidence-row { color: var(--sp-panel-muted); }
.review-evidence-row strong { color: var(--sp-panel-warning); }
.review-evidence-row.has-evidence strong { color: var(--sp-color-426c50,#426c50); }
.review-media { background: #fff; border-color: var(--sp-panel-line); border-radius: 16px; padding: 12px; }
.review-video { background: var(--sp-color-26352f,#26352f); }
.video-empty { background: #f2f5ef; border-color: var(--sp-color-ccd8c9,#ccd8c9); color: var(--sp-panel-muted); }
.media-disclosure,
.review-note { color: var(--sp-panel-muted); font-size: 11px; }
.review-capture-quality,
.face-observation-review { background: #f9fbf6; border-color: var(--sp-panel-line); color: var(--sp-panel-ink); }
.review-capture-quality>.eyebrow,
.review-quality-intro,
.review-camera-quality h5,
.review-camera-quality .review-tool-note,
.review-quality-card>span,
.review-quality-card>small,
.review-quality-empty,
.camera-quality-readouts span,
.camera-quality-readouts small,
.camera-quality-events,
.face-observation-intro,
.face-observation-note,
.face-observation-model,
.face-observation-position-label,
.face-observation-current-state,
.face-observation-events summary { color: var(--sp-panel-muted); }
.review-quality-card,
.face-observation-stats>div { background: #fff; border-color: var(--sp-panel-line); }
.review-quality-card>strong,
.camera-quality-readouts strong,
.face-observation-stats strong,
.face-observation-current-time,
.face-observation-current-row strong { color: var(--sp-panel-accent); font-weight: 500; }
.review-quality-card.needs-check { background: #fffaf0; border-color: #eadcc0; }
.review-quality-card.needs-check>strong { color: var(--sp-panel-warning); }
.review-camera-quality,
.face-observation-events { border-color: var(--sp-panel-line); }
.review-quality-empty,
.face-observation-empty { background: #fbfcf9; border-color: var(--sp-color-cdd8c9,#cdd8c9); color: var(--sp-panel-muted); }
.camera-quality-event,
.face-observation-event { background: #fff; border-color: var(--sp-panel-line); color: var(--sp-panel-muted); }
.face-observation-review>.eyebrow,
.face-observation-stats span { color: var(--sp-panel-muted); }
.face-observation-track { fill: var(--sp-color-edf2e8,#edf2e8); }
.face-observation-grid { stroke: var(--sp-color-d9e2d5,#d9e2d5); }
.face-observation-axis { fill: var(--sp-color-65776a,#65776a); }
.face-observation-cursor { stroke: var(--sp-color-3e5c48,#3e5c48); }
.face-observation-position { accent-color: var(--sp-color-5d7d63,#5d7d63); }

/* Evaluation: clear source identity remains visible on the quiet palette. */
.evaluation-overview { background: transparent; border: 0; padding: 0; border-radius: 0; color: var(--sp-panel-ink); }
.evaluation-overview h4 { color: var(--sp-panel-ink); font-weight: 400; font-size: 23px; }
.evaluation-overview-header .eyebrow,
.chart-provenance,
.evaluation-total-label,
.evaluation-total-status,
.chart-source-stat>span:not(:first-child),
.chart-source-stat>small,
.criterion-chart-heading>span,
.score-chart-label,
.score-chart-state,
.score-chart-axis,
.chart-footnote,
.radar-title,
.radar-note,
.criterion-description,
.criterion-missing-reason { color: var(--sp-panel-muted); }
.evaluation-summary,
.evaluation-total,
.chart-footnote,
.evaluation-ai-total,
.evaluation-ai-coverage,
.radar-readout { border-color: var(--sp-panel-line); }
.evaluation-total-value { color: var(--sp-color-385b43,#385b43); font-size: 59px; font-weight: 300; letter-spacing: -.06em; }
.evaluation-total-value small { color: var(--sp-panel-faint); font-size: 14px; }
.chart-source-stat>span:first-child,
.radar-readout-ai { color: var(--sp-color-5e7787,#5e7787); }
.chart-source-stat:nth-child(2)>span:first-child,
.radar-readout-human { color: var(--sp-color-416e54,#416e54); }
.chart-source-stat>strong,
.criteria-comparison h5,
.criterion-chart-heading strong,
.score-chart-value,
.radar-readout-item strong { color: var(--sp-panel-ink); font-weight: 500; }
.chart-total-track,
.score-chart-track,
.evaluation-coverage-track { background: var(--sp-color-e9eee5,#e9eee5); }
.chart-total-fill,
.score-chart-fill.human { background: var(--sp-panel-human); }
.score-chart-fill { background: var(--sp-panel-ai); }
.chart-legend { color: var(--sp-panel-muted); font-size: 11px; }
.chart-legend>span:before { background: var(--sp-panel-ai); }
.chart-legend>.chart-key-human:before { background: var(--sp-panel-human); }
.chart-total-reference,
.score-chart-reference,
.chart-legend>.chart-key-baseline:before { border-color: #9d7e42; }
.chart-total-reference-label { color: #806229; }
.score-chart-row.is-below-reference .score-chart-state { color: var(--sp-panel-warning); }
.score-chart-row.is-missing .score-chart-track { background: repeating-linear-gradient(135deg,#f4f6ef,#f4f6ef 4px,var(--sp-color-e7ede1,#e7ede1) 4px,var(--sp-color-e7ede1,#e7ede1) 5px); }
.score-chart-row.is-missing .score-chart-state { color: var(--sp-color-768271,#768271); }
.chart-view-controls { background: var(--sp-color-eaf0e5,#eaf0e5); padding: 4px; border-radius: 100px; }
.chart-view-button { background: transparent; color: var(--sp-color-65765f,#65765f); border-radius: 100px; padding: 9px 15px; min-height: 36px; }
.chart-view-button.is-active { background: #fff; color: var(--sp-color-3f6148,#3f6148); font-weight: 500; box-shadow: 0 2px 8px var(--sp-color-526c4812,#526c4812); }
.chart-view-button:hover { color: var(--sp-color-395841,#395841); }
.radar-grid { stroke: var(--sp-color-e0e7dc,#e0e7dc); }
.radar-axis { stroke: var(--sp-color-d4ded0,#d4ded0); }
.radar-baseline { fill: #b69a6408; stroke: #9d824b; stroke-width: 1.4; }
.radar-area { stroke-width: 2; }
.radar-area-ai { fill: var(--sp-color-7183921c,#7183921c); stroke: var(--sp-panel-ai); }
.radar-area-human { fill: var(--sp-color-517c681c,#517c681c); stroke: var(--sp-panel-human); }
.radar-point-ai { fill: var(--sp-panel-ai); }
.radar-point-human { fill: var(--sp-panel-human); }
.radar-scale { fill: var(--sp-color-7a8874,#7a8874); stroke: #fbfcf8; }
.radar-axis-label { fill: var(--sp-color-4b614c,#4b614c); }
.chart-evidence-action { background: var(--sp-color-f4f8ef,#f4f8ef); border-color: var(--sp-color-cfdcc6,#cfdcc6); color: var(--sp-color-426447,#426447); }
.chart-comparison-note,
.radar-empty-state,
.radar-partial-state,
.review-evaluation-status { background: var(--sp-color-f0f5e9,#f0f5e9); color: var(--sp-color-617855,#617855); border-color: var(--sp-color-c7d7bc,#c7d7bc); }
.evaluation-ai-status { background: #edf2ef; border-color: var(--sp-color-d2ded4,#d2ded4); color: var(--sp-color-52685a,#52685a); }
.evaluation-ai-status.is-running,
.evaluation-ai-status.is-pending { background: #edf3f3; border-color: var(--sp-color-d0dfdf,#d0dfdf); color: var(--sp-color-4a6e70,#4a6e70); }
.evaluation-ai-status.is-failed,
.evaluation-ai-status.is-unavailable,
.evaluation-ai-status.is-interrupted,
.review-evaluation-poll-note { background: #fff8ec; border-color: #e8d9be; color: var(--sp-panel-warning); }
.evaluation-ai-total>span,
.evaluation-ai-total>small,
.evaluation-ai-coverage>span { color: var(--sp-panel-muted); }
.evaluation-ai-total>strong,
.evaluation-ai-coverage>strong { color: var(--sp-color-516c7a,#516c7a); font-weight: 400; }
.evaluation-coverage-track>i { background: var(--sp-color-829887,#829887); }
.record-template-note { color: var(--sp-panel-muted) !important; }
.criterion-anchors { color: var(--sp-panel-muted); background: #f5f8f0; border-color: var(--sp-panel-line); }
.criterion-anchors dt { color: var(--sp-panel-accent); }
.review-template-error { color: var(--sp-panel-warning); background: #fff8ee; border-color: #e8d8bf; }

/* Evidence, transcript, and editable assessment fields. */
.review-sections h4,
.assessment-section h4,
.criterion-title strong { color: var(--sp-panel-ink); font-weight: 500; }
.review-transcript { background: #fff; border-color: var(--sp-panel-line); scrollbar-color: var(--sp-color-ccd8c6,#ccd8c6) transparent; }
.transcript-find { background: var(--sp-color-f2f6ed,#f2f6ed); border-color: var(--sp-panel-line); }
.transcript-find-status,
.transcript-speaker,
.transcript-row p,
.transcript-row .actual-spoken-text,
.review-summary p,
.review-summary li,
.review-summary h5 { color: var(--sp-panel-muted); }
.transcript-time { color: var(--sp-color-526e57,#526e57); background: var(--sp-color-eaf2e5,#eaf2e5); font-size: 10px; }
.transcript-row.user { background: var(--sp-color-f2f6ed,#f2f6ed); }
.transcript-row.evidence-highlight { background: var(--sp-color-e7efd9,#e7efd9); box-shadow: 0 0 0 2px var(--sp-color-b9ccaa,#b9ccaa); }
.transcript-search-match.current-match { background: var(--sp-color-dfeacb,#dfeacb); outline-color: var(--sp-color-9db183,#9db183); }
.transcript-row .actual-spoken-text { border-color: var(--sp-color-d5e1cc,#d5e1cc); }
.assessment-section { border-color: var(--sp-panel-line); }
.criterion-card { background: #fff; border-color: var(--sp-panel-line); border-radius: 14px; padding: 22px; }
.criterion-title>span,
.criterion-card>p,
.human-score-field,
.confirm-review,
.draft-summary { color: var(--sp-panel-muted); }
.criterion-card>p { font-size: 12px; }
.ai-score { color: var(--sp-color-5e7887,#5e7887); background: #eef2f4; font-size: 11px; }
.evidence-quote { color: var(--sp-color-526d50,#526d50); background: var(--sp-color-f4f8ef,#f4f8ef); border-color: var(--sp-color-aabd9b,#aabd9b); border-left-width: 1px; font-size: 12px; }
.evidence-quote:hover { background: var(--sp-color-eaf2e0,#eaf2e0); }
.human-score-field { border-color: var(--sp-panel-line); font-size: 12px; }
.draft-summary { background: var(--sp-color-f1f6ea,#f1f6ea); }
.unconfirmed-note { color: var(--sp-panel-muted) !important; }
.checkpoint-transcript h4 { color: var(--sp-panel-ink); }

/* Meeting-ready result document. */
#report-dialog .report-content { padding: 34px; }
.report-summary,
.report-section ul,
.next-step p { color: var(--sp-panel-muted); font-size: 13px; }
.report-mode,
.next-step { color: var(--sp-color-60795c,#60795c); background: var(--sp-color-eef4e7,#eef4e7); }
.report-section h3 { color: var(--sp-panel-ink); font-size: 14px; font-weight: 500; }
.interview-result-report { color: var(--sp-panel-ink); }
.result-report-heading h3 { color: var(--sp-panel-ink); font-size: 23px; font-weight: 400; }
.result-report-heading p,
.result-report-summary,
.result-report-footnote { color: var(--sp-panel-muted); font-size: 12px; }
.result-report-scope { color: var(--sp-color-5c7559,#5c7559); background: var(--sp-color-f2f7ec,#f2f7ec); border-color: var(--sp-color-d4e0ca,#d4e0ca); font-size: 11px; }
.result-report-facts { gap: 20px; margin: 22px 0; }
.result-report-fact { background: transparent; border: 0; border-bottom: 1px solid var(--sp-panel-line); border-radius: 0; padding: 0 0 16px; }
.result-report-fact>span,
.result-report-fact>small { color: var(--sp-panel-muted); font-size: 11px; }
.result-report-fact>strong { color: var(--sp-color-426749,#426749); font-size: 21px; font-weight: 400; margin: 8px 0 4px; }
.result-report-state { background: var(--sp-color-f1f6e9,#f1f6e9); border-color: var(--sp-color-d5e1c8,#d5e1c8); border-left-color: var(--sp-color-95af7b,#95af7b); }
.result-report-state strong { color: var(--sp-color-536d46,#536d46); font-weight: 500; }
.result-report-state p { color: var(--sp-color-687c5e,#687c5e); font-size: 12px; }
.result-report-score { background: linear-gradient(120deg,var(--sp-color-eef4e6,#eef4e6),#fafcf6); border-color: var(--sp-color-d3dfc8,#d3dfc8); border-radius: 16px; padding: 24px; }
.result-report-score>span,
.result-report-score>p,
.result-report-score>small { color: var(--sp-color-5e7753,#5e7753); }
.result-report-score>strong { color: var(--sp-color-3f623e,#3f623e); font-size: 45px; font-weight: 300; letter-spacing: -.04em; }
.result-report-state.is-failed,
.result-report-state.is-budget,
.result-report-state.is-unsaved,
.result-report-error { background: #fff4f4; border-color: #ead3d6; border-left-color: #bb7e87; color: var(--sp-panel-error); }
.result-report-state.is-failed strong,
.result-report-state.is-budget strong,
.result-report-state.is-unsaved strong,
.result-report-state.is-failed p,
.result-report-state.is-budget p,
.result-report-state.is-unsaved p { color: var(--sp-panel-error); }
dialog .danger-text { color: var(--sp-panel-error); border-color: #e8ced2; }

/* Comparison is a calm sheet; sticky identity and long table scrolling remain intact. */
.candidate-comparison { color: var(--sp-panel-ink); }
.comparison-header,
.comparison-footnote { background: var(--sp-panel-paper); border-color: var(--sp-panel-line); }
.comparison-header h2 { color: var(--sp-panel-ink); font-size: 26px; font-weight: 400; }
.comparison-header .eyebrow,
.comparison-status,
.comparison-note,
.comparison-footnote,
.comparison-pager>span,
.comparison-empty { color: var(--sp-panel-muted); }
.comparison-table-wrap { border-color: var(--sp-panel-line); border-radius: 14px; }
.comparison-table { color: var(--sp-panel-ink); }
.comparison-table caption { color: var(--sp-panel-muted); background: #f5f8f0; font-weight: 400; }
.comparison-table th,
.comparison-table td { border-color: var(--sp-color-e1e8dc,#e1e8dc); padding-top: 19px; padding-bottom: 19px; }
.comparison-table thead th,
.comparison-table thead th:first-child { color: var(--sp-color-526b4b,#526b4b); background: var(--sp-color-edf3e6,#edf3e6); font-weight: 500; }
.comparison-table th:first-child { border-color: var(--sp-panel-line); background: #fff; }
.comparison-table tbody tr:nth-child(even) td,
.comparison-table tbody tr:nth-child(even) th { background: #f9fbf5; }
.comparison-table tbody tr:hover td,
.comparison-table tbody tr:hover th { background: var(--sp-color-f0f6e8,#f0f6e8); }
.comparison-table tbody th>strong { color: var(--sp-color-3d5d40,#3d5d40); font-weight: 500; }
.comparison-table tbody th>span,
.comparison-table tbody th>small,
.comparison-row-state,
.comparison-video-state { color: var(--sp-panel-muted); }
.comparison-score { color: var(--sp-color-5c7b56,#5c7b56); font-weight: 400; }
.comparison-total { color: var(--sp-color-3a603d,#3a603d); font-weight: 400; font-size: 33px; }
.comparison-score>small,
.comparison-total>small { color: var(--sp-panel-faint); }
.comparison-score.is-missing,
.comparison-total.is-missing { color: var(--sp-color-84907b,#84907b); }
.comparison-evidence-button,
.comparison-open-record { color: var(--sp-color-507647,#507647); font-size: 11px; }
.comparison-evidence { background: var(--sp-color-f5f9ef,#f5f9ef); border-color: var(--sp-color-d3e0c6,#d3e0c6); border-radius: 15px; }
.comparison-evidence-heading h3 { color: var(--sp-color-425f3c,#425f3c); font-weight: 500; }
.comparison-quote { border-color: var(--sp-color-dce6d1,#dce6d1); background: #fff; }
.comparison-question,
.comparison-quote-time { color: var(--sp-panel-muted); }
.comparison-quote blockquote { color: var(--sp-color-4e6948,#4e6948); border-color: var(--sp-color-b5c8a3,#b5c8a3); border-left-width: 1px; }
.comparison-error { color: var(--sp-panel-warning); border-color: #e7d6b7; background: #fff9ed; }

/* Appearance editors preserve the actual preview lighting and background colors. */
.portrait-lighting-dialog,
.background-dialog { color: var(--sp-panel-ink); background: var(--sp-panel-paper); border-color: #fff; border-radius: 22px; }
.portrait-lighting-header,
.background-header,
.portrait-lighting-footer,
.background-footer { background: var(--sp-panel-paper); border-color: var(--sp-panel-line); }
.portrait-lighting-header h2,
.background-header h2 { color: var(--sp-panel-ink); font-size: 25px; font-weight: 400; }
.portrait-lighting-header .eyebrow,
.background-header .eyebrow,
.portrait-lighting-header p,
.background-header p,
.portrait-lighting-local-note,
.background-local-note,
.portrait-lighting-help,
.portrait-lighting-strength-help,
.portrait-lighting-range-ends,
.portrait-lighting-direction-value,
.background-filter-summary,
.background-filter-empty,
.background-footer>p { color: var(--sp-panel-muted); }
.portrait-lighting-preview,
.background-preview { border-color: var(--sp-panel-line); }
.portrait-lighting-section { border-color: var(--sp-panel-line); }
.portrait-lighting-section-heading h3,
.background-options-heading h3,
.portrait-my-presets-heading h3 { color: var(--sp-panel-ink); font-weight: 500; }
.portrait-lighting-section-heading>span,
.background-options-heading>span,
.portrait-lighting-range-heading label,
.portrait-my-presets-count,
.portrait-my-preset-label { color: var(--sp-panel-muted); }
.portrait-lighting-range-heading output { color: var(--sp-color-477047,#477047); }
.portrait-lighting-preset { background: #fff; border-color: var(--sp-panel-line); color: var(--sp-panel-ink); }
.portrait-lighting-preset:hover { border-color: var(--sp-color-a9c29c,#a9c29c); background: var(--sp-color-f6faef,#f6faef); }
.portrait-lighting-preset[aria-pressed=true] { background: var(--sp-color-f0f6e6,#f0f6e6); border-color: var(--sp-color-9bb58b,#9bb58b); box-shadow: 0 0 0 1px var(--sp-color-9bb58b,#9bb58b); }
.portrait-lighting-preset-copy small { color: var(--sp-panel-muted); }
.portrait-lighting-range:not(.portrait-lighting-hue) input[type=range] { background: linear-gradient(90deg,var(--sp-color-eaf0e2,#eaf0e2),var(--sp-color-c8d9b9,#c8d9b9)); accent-color: var(--sp-color-6c8b59,#6c8b59); }
.portrait-lighting-range input[type=range]::-webkit-slider-thumb { background: var(--sp-color-718c60,#718c60); box-shadow: 0 1px 6px var(--sp-color-496b3926,#496b3926); }
.portrait-lighting-range input[type=range]::-moz-range-thumb { background: var(--sp-color-718c60,#718c60); box-shadow: 0 1px 6px var(--sp-color-496b3926,#496b3926); }
.portrait-lighting-pad { border-color: #cbdabc; background: linear-gradient(90deg,transparent calc(50% - .5px),#b5c6a555 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),#b5c6a555 50%,transparent calc(50% + .5px)),radial-gradient(ellipse at center,hsl(var(--portrait-hue) 30% 96%),#f0f4ec); color: #6b815f; }
.portrait-lighting-pad-thumb { background: hsl(var(--portrait-hue) 30% 73%); border-color: #fff; box-shadow: 0 0 0 1px hsl(var(--portrait-hue) 30% 70%),0 3px 12px #496b3926; }
.portrait-lighting-direction-ranges,
.portrait-lighting-reset { color: var(--sp-color-5f7a53,#5f7a53); }
.portrait-my-presets { border-color: var(--sp-color-d3e0c7,#d3e0c7); background: var(--sp-color-f7faf1,#f7faf1); }
.portrait-my-presets select,
.portrait-my-presets input { border-color: var(--sp-color-d0ddc4,#d0ddc4); color: var(--sp-color-4c6942,#4c6942); background: #fff; }
.portrait-my-presets button { border-color: var(--sp-color-d0dec2,#d0dec2); background: #fff; color: var(--sp-color-5c7951,#5c7951); }
.portrait-my-presets button:hover:enabled { background: var(--sp-color-edf4e3,#edf4e3); border-color: var(--sp-color-a9c297,#a9c297); }
.portrait-my-preset-status,
.portrait-my-preset-help,
.portrait-my-preset-selection-note { color: var(--sp-panel-muted); }
.portrait-my-presets .portrait-my-preset-danger { color: var(--sp-panel-error); border-color: #e8ced2; }
.portrait-my-preset-confirm { background: #fff9ed; border-color: #e7d6b7; color: var(--sp-panel-warning); }
.portrait-my-preset-error,
.portrait-lighting-error,
.background-error { background: #fff3f4; border-color: #ead3d6; color: var(--sp-panel-error); }
.background-filter-row-label { color: var(--sp-panel-muted); }
.background-filter { color: var(--sp-color-63785a,#63785a); background: var(--sp-color-f2f6eb,#f2f6eb); border-color: var(--sp-color-dde7d1,#dde7d1); }
.background-filter[aria-pressed=true] { color: #fff; background: var(--sp-color-5c7950,#5c7950); border-color: var(--sp-color-5c7950,#5c7950); }
.background-filter:hover:enabled:not([aria-pressed=true]) { color: var(--sp-color-486c3a,#486c3a); border-color: var(--sp-color-b1c69e,#b1c69e); background: var(--sp-color-edf5e1,#edf5e1); }
.background-choice { border-color: var(--sp-color-e0e6da,#e0e6da); background: #fff; color: var(--sp-color-435d3e,#435d3e); }
.background-choice:hover:enabled { border-color: var(--sp-color-b0c69e,#b0c69e); }
.background-choice[aria-pressed=true] { border-color: var(--sp-color-94af82,#94af82); box-shadow: 0 0 0 1px var(--sp-color-94af82,#94af82); }
.background-choice[aria-pressed=true] .background-choice-check { color: #fff; background: var(--sp-color-5d7b50,#5d7b50); }
.background-choice-copy small { color: var(--sp-panel-muted); }
.background-choice-copy strong { font-weight: 500; }

/* Preparation guidance keeps disclosures readable and error meaning explicit. */
dialog .candidate-guide,
dialog .preflight-realtime,
dialog .preflight-practice,
dialog .preflight-check-details,
dialog .finish-draft,
dialog .unsent-draft { background: var(--sp-color-f3f7ed,#f3f7ed); border-color: var(--sp-color-d5e1c9,#d5e1c9); color: var(--sp-panel-muted); }
dialog .candidate-guide h3,
dialog .preflight-voice-heading h3,
dialog .unsent-draft h5 { color: var(--sp-panel-ink); font-weight: 500; }
dialog .candidate-guide ol,
dialog .candidate-guide>p,
dialog .candidate-guide-top>span,
dialog .preflight-voice-description,
dialog .preflight-voice-actions>p,
dialog .preflight-practice p,
dialog .preflight-practice blockquote,
dialog .preflight-checks p,
dialog .preflight-check-details summary,
dialog .preflight-practice summary,
dialog .preflight-acknowledgment,
dialog .preflight-recording-choice,
dialog .finish-draft label,
dialog .unsent-draft p { color: var(--sp-panel-muted); }
dialog .preflight-voice-icon { background: var(--sp-color-e5eedb,#e5eedb); color: var(--sp-color-5d7b4e,#5d7b4e); }
dialog .preflight-checks strong { color: var(--sp-panel-ink); }
dialog .preflight-blocker { color: var(--sp-panel-warning); }
dialog .motion-preview-options button { color: var(--sp-panel-ink); background: var(--sp-color-f5f8ef,#f5f8ef); border-color: var(--sp-color-d5e1c8,#d5e1c8); }
dialog .motion-preview-options button:hover { background: var(--sp-color-edf5e2,#edf5e2); border-color: var(--sp-color-b7cda2,#b7cda2); }
dialog .motion-preview-options strong { font-weight: 500; }
dialog .motion-preview-options span { color: var(--sp-panel-muted); font-size: 12px; }

@media (max-width: 760px) {
  dialog .dialog-content,
  #report-dialog .report-content { padding: 25px 22px; }
  dialog .dialog-heading h2,
  .review-header h2,
  .comparison-header h2,
  .portrait-lighting-header h2,
  .background-header h2,
  .company-editor-heading h2 { font-size: 20px; }
  .review-header { padding: 23px 22px; }
  .record-detail { padding: 25px 22px; }
  .record-title h3 { font-size: 25px; }
  .evaluation-total-value { font-size: 51px; }
  .company-editor-heading { padding: 23px 22px 10px; }
  .company-editor-panel { padding: 22px; }
  .reception-counts { gap: 8px; }
  .reception-count { padding: 10px; }
  .reception-count>strong { font-size: 22px; }
}
@media (max-width: 500px) {
  dialog .dialog-content,
  #report-dialog .report-content { padding: 24px 20px; }
  dialog .dialog-heading h2 { font-size: 21px; }
  dialog .field-row,
  dialog .mode-options { grid-template-columns: 1fr; gap: 0; }
  dialog .mode-options { gap: 8px; }
  .review-header { padding: 20px 17px; }
  .review-header h2 { font-size: 18px; }
  .review-header .eyebrow { font-size: 9px; }
  .record-detail { padding: 23px 17px; }
  .record-title { align-items: flex-start; flex-wrap: wrap; }
  .record-title h3 { font-size: 25px; }
  .review-status { max-width: 100%; font-size: 11px; }
  .record-item strong { font-size: 12px; }
  .record-item>span,
  .record-item small { font-size: 11px; }
  .review-stats { gap: 16px 13px; }
  .review-stats strong { font-size: 26px; }
  .review-list-tools { grid-template-columns: 1fr; }
  .review-list-tools .review-tool-note { grid-column: auto; }
  .reception-count>span { font-size: 11px; }
  .reception-count { flex-wrap: wrap; gap: 3px; }
  .reception-count>strong { margin-left: auto; }
  .review-evidence-row { flex-wrap: wrap; gap: 3px; }
  .review-evidence-row>strong { max-width: 100%; text-align: left; }
  .criterion-card { padding: 17px; }
  .criterion-title { align-items: flex-start; flex-wrap: wrap; }
  .criterion-title>span { font-size: 11px; }
  .evaluation-overview h4 { font-size: 21px; }
  .evaluation-summary { padding-top: 18px; }
  .chart-source-stat>span:first-child,
  .chart-source-stat>strong,
  .chart-source-stat>small,
  .chart-source-stat>span:not(:first-child),
  .score-chart-label,
  .score-chart-state,
  .chart-footnote,
  .radar-note { font-size: 11px; }
  .chart-view-button { font-size: 11px; min-height: 40px; }
  .result-report-heading { flex-wrap: wrap; gap: 8px; }
  .result-report-facts { gap: 17px 12px; }
  .result-report-fact>strong { font-size: 19px; }
  .result-report-score { padding: 19px; }
  .result-report-score>strong { font-size: 38px; }
  .result-report-actions .small-button,
  .record-actions .small-button { font-size: 11px; min-height: 39px; padding: 9px 11px; }
  .comparison-filters { grid-template-columns: 1fr; }
  .comparison-filters>label:nth-child(3),
  .comparison-filters>button { grid-column: auto; }
  .comparison-header { align-items: flex-start; gap: 10px; }
  .comparison-header h2 { font-size: 21px; }
  .comparison-footnote { font-size: 11px; }
  .comparison-evidence-heading { flex-wrap: wrap; gap: 9px; }
  .comparison-pager { flex-wrap: wrap; }
  .comparison-pager>span { flex-basis: 100%; }
  .company-editor-criterion-fields { grid-template-columns: minmax(0,1fr) 75px; }
  .company-editor-card-heading { flex-wrap: wrap; }
  .company-editor-row-actions { justify-content: flex-start; }
}
@media (max-height:760px) and (min-width:761px) {
  .review-header { padding:18px 28px; }
  .review-header h2 { font-size:21px; }
  .reception-dashboard { padding-top:12px; padding-bottom:10px; }
  .reception-dashboard .eyebrow { display:none; }
  .reception-dashboard-header { margin-bottom:9px; }
  .reception-count { padding:9px 12px; }
  .reception-count>strong { font-size:23px; }
}
@media (pointer: coarse) {
  dialog :is(.small-button,.text-button,.icon-button,.company-editor-tab,.chart-view-button,.comparison-close,.portrait-lighting-close,.background-close,.background-filter,.face-observation-event) { min-height: 44px; }
  dialog :is(.text-button,.company-editor-tab,.chart-view-button,.background-filter) { padding-top: 11px; padding-bottom: 11px; }
  dialog :is(input,textarea,select) { font-size: 16px !important; }
}
