/* v4.3 合同核对工作台。沿用平台主题，所有规则限于合同新增界面。 */
.contract-intake-dialog {
  max-width: 1160px;
  width: calc(100vw - 48px);
  color: var(--yx-text);
}
.contract-intake-dialog .modal-head {padding: 18px 24px; gap: 16px;}
.contract-intake-dialog .modal-head h2 {font-size: 20px; line-height: 1.4;}
.contract-intake-dialog .modal-body {padding: 24px;}
.contract-intake-dialog .btn {min-height: 44px;}
.contract-intake-dialog :is(input,select,textarea) {max-width: 100%; box-sizing: border-box;}
.contract-intake-dialog select {appearance: none; -webkit-appearance: none; height: 44px; padding: 9px 32px 9px 12px; border: 1px solid var(--yx-border); border-radius: 6px; background-color: var(--yx-input-surface); background-image: linear-gradient(45deg,transparent 50%,var(--yx-muted) 50%),linear-gradient(135deg,var(--yx-muted) 50%,transparent 50%); background-size: 5px 5px,5px 5px; background-position: calc(100% - 17px) center,calc(100% - 12px) center; background-repeat: no-repeat; color: var(--yx-text);}
.contract-intake-dialog .contract-source-grid {gap: 24px;}
.contract-intake-dialog .contract-source-option {padding: 24px; background: var(--yx-subtle-surface);}
.contract-source-option input[type=file] {padding: 8px; line-height: 1.6;}
.contract-source-option input::file-selector-button {
  padding: 8px 12px; margin-right: 12px; border: 1px solid var(--yx-border);
  border-radius: 6px; background: var(--yx-surface); color: var(--yx-text); cursor: pointer;
}
.contract-source-option #contract-search-form {display: flex; flex-wrap: wrap; gap: 12px;}
.contract-source-option #contract-search-form>label {width: 100%;}
.contract-source-option #contract-search-form>.btn {margin-top: 0;}
.contract-search-result {padding: 20px 0; gap: 20px;}
.contract-search-result>div:first-child {flex: 1;}
.contract-search-result>div:first-child>b {font-size: 15px; line-height: 1.6;}
.contract-search-result .actions {flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 10px;}
.contract-search-result p {margin: 6px 0;}
.contract-search-result small {line-height: 1.7;}
.contract-search-result .choice {margin-top: 12px; padding: 10px 12px; font-size: 13px; width: fit-content;}
.contract-package-tools {margin-top: 20px; padding: 0 16px; background: var(--yx-subtle-surface); border-radius: 8px;}
.contract-package-tools>label {display: grid; gap: 8px; margin: 14px 0;}
.contract-package-tools>label.choice {display: flex;}
.contract-package-tools>.btn {margin: 8px 0 18px;}

/* Header/footer occupy their own space; the body has a single scroll region. */
.contract-review-dialog[open] {display: flex; flex-direction: column; height: min(920px,94vh); max-height: 94vh; overflow: hidden;}
.contract-review-dialog>.modal-head {flex: 0 0 auto; position: static;}
.contract-review-dialog>.modal-body {flex: 1 1 auto; min-height: 0; padding: 0; overflow: auto; scroll-padding-block: 76px 120px;}
.contract-review-dialog .contract-document-summary {margin: 20px 24px 0; padding: 14px 16px; grid-template-columns: minmax(0,1.5fr) minmax(200px,1fr); gap: 20px; border-radius: 8px; border-color: var(--yx-separator);}
.contract-review-dialog .contract-document-summary b {font-size: 14px; line-height: 1.65;}
.contract-review-dialog .contract-caption {font-size: 12px; font-weight: 400; margin: 0 0 4px; color: var(--yx-muted);}
.review-contract-number {font-variant-numeric: tabular-nums;}
.review-section-nav {display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 8px 24px; margin-top: 12px; border-bottom: 1px solid var(--yx-separator); background: var(--yx-surface); position: sticky; top: 0; z-index: 3;}
.review-section-nav button {display: inline-flex; gap: 8px; align-items: center; min-height: 44px; padding: 6px 0; border: 0; background: transparent; color: var(--yx-muted); font-size: 13px; cursor: pointer;}
.review-section-nav button:hover {color: var(--yx-primary);}
.review-section-nav button>span {display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: var(--yx-primary); background: var(--yx-selected); font-size: 12px;}
.review-section-nav small {font-size: 12px;}
.review-section {padding: 22px 24px; border-bottom: 1px solid var(--yx-separator); min-width: 0; scroll-margin-top: 0;}
.review-section-heading {display: flex; align-items: baseline; justify-content: space-between; gap: 12px 20px; margin-bottom: 18px;}
.review-section-heading h3 {margin: 0; font-size: 18px; line-height: 1.5;}
.review-section-heading p {margin: 4px 0 0; color: var(--yx-muted); font-size: 13px; line-height: 1.7;}
.review-agreement-grid {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.06fr); gap: 28px; align-items: start;}
.review-facts-column,.review-settings-column {min-width: 0;}
.contract-review-dialog .contract-form-section {padding: 0; margin: 0 0 20px; border: 0;}
.contract-review-dialog .contract-form-section legend {font-size: 14px; font-weight: 650; padding: 0; margin-bottom: 12px;}
.contract-review-dialog .form-grid {gap: 16px;}
.contract-review-dialog label {font-size: 13px; color: var(--yx-muted); line-height: 1.6;}
.contract-review-dialog .form-grid>label {display: grid; gap: 7px; align-content: start;}
.contract-review-dialog :is(input:not([type=checkbox]),select,textarea) {width: 100%; min-width: 0; min-height: 44px; font-size: 14px; color: var(--yx-text); scroll-margin-block: 90px 140px;}
.contract-review-dialog textarea {resize: vertical;}
.contract-review-dialog input[type=checkbox] {width: 20px; height: 20px; min-width: 20px; max-width: 20px; min-height: 20px; margin: 2px 0 0; flex: 0 0 20px;}
.contract-review-dialog .choice {display: flex; gap: 10px; align-items: flex-start; white-space: normal; color: var(--yx-text); font-size: 13px;}
.contract-review-dialog .choice>span {min-width: 0;}
.contract-review-dialog .contract-field-help {margin: 0; font-size: 12px; line-height: 1.6;}
.contract-fact-status {gap: 6px; margin: 0 0 14px;}
.contract-fact-status span,.review-status,.cinema-match-status {display: inline-flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%; padding: 4px 8px; border-radius: 5px; font-size: 12px; line-height: 1.5; white-space: normal;}
.contract-fact-status .is-ready,.review-status.is-ready,.cinema-match-status.is-ready {background: var(--yx-success-bg); color: var(--yx-success);}
.contract-fact-status .is-pending,.review-status.is-pending,.cinema-match-status.is-pending {background: var(--yx-warning-bg); color: var(--yx-warning);}
.contract-review-dialog .fact-review>h3 {font-size: 14px; margin: 0 0 12px; line-height: 1.5;}
.contract-review-dialog .fact-card {margin: 0 0 12px; padding: 18px; gap: 12px 16px; background: var(--yx-subtle-surface); border: 1px solid var(--yx-separator); border-radius: 8px;}
.fact-charge {min-width: 0;}
.fact-charge>strong {display: block; font-size: 30px; line-height: 1.35; font-weight: 650; color: var(--yx-text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere;}
.fact-payment {display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 0; font-size: 13px;}
.fact-charge>small {font-size: 12px; color: var(--yx-muted); line-height: 1.6;}
.contract-review-dialog .fact-card>.btn {background: var(--yx-surface); font-size: 13px;}
.review-parties {display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px 12px; margin: 14px 0; font-size: 13px; line-height: 1.7;}
.review-parties dt {color: var(--yx-muted);}
.review-parties dd {margin: 0; overflow-wrap: anywhere;}
.contract-review-dialog .review-disclosure {margin: 0; border-top: 1px solid var(--yx-separator); overflow-wrap: anywhere;}
.contract-review-dialog .review-disclosure>summary {cursor: pointer; min-height: 44px; padding: 11px 0; font-size: 13px; line-height: 1.7; color: var(--yx-muted);}
.contract-review-dialog .review-disclosure[open]>summary {color: var(--yx-primary); font-weight: 600;}
.review-disclosure>p,.review-disclosure>ul {font-size: 13px; line-height: 1.8;}
.contract-review-dialog .fact-evidence {margin: 0; padding-top: 0;}
.review-disclosure blockquote {margin: 0 0 14px; padding: 10px 12px; border-left: 2px solid var(--yx-border); background: var(--yx-raised); font-size: 13px; line-height: 1.8; white-space: pre-wrap;}
.review-note {margin: 0 0 12px; color: var(--yx-muted); font-size: 12px; line-height: 1.75;}
.review-agent-note {margin-top: 8px!important;}
.review-agent-note p {margin: 0 0 12px;}
.review-editor {padding: 14px; margin-bottom: 12px; background: var(--yx-subtle-surface); border-radius: 8px;}
.review-editor label {display: grid; gap: 7px; margin: 0 0 14px;}
.review-editor .form-grid>label {margin: 0;}
.review-editor .form-grid {margin-bottom: 14px;}
.review-field-full {grid-column: 1/-1;}
.review-editor-actions {display: flex; justify-content: flex-end; padding-top: 4px;}
.review-history {margin: 0; padding: 0 0 0 20px;}
.review-history li {padding: 0 0 16px 4px; font-size: 13px; line-height: 1.7;}
.review-history li>p {margin: 6px 0;}
.review-history small {color: var(--yx-muted);}
.contract-review-dialog .contract-basis {padding: 18px; background: var(--yx-subtle-surface); border-color: var(--yx-separator); border-radius: 8px; margin-bottom: 24px;}
.review-basis-heading {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 10px;}
.review-basis-heading h3 {font-size: 16px; margin: 0;}
.basis-source-grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 18px 0;}
.contract-basis fieldset {min-width: 0; margin: 0; border: 0; padding: 0;}
.contract-basis fieldset legend {font-size: 14px; font-weight: 600; margin: 0 0 10px;}
.contract-basis label {display: grid; gap: 7px; margin: 12px 0;}
.review-search-inline {display: flex; gap: 8px; align-items: stretch;}
.review-search-inline .btn {flex: 0 0 auto; font-size: 13px;}
.contract-basis .basis-changes {border-top: 1px solid var(--yx-separator); padding-top: 18px; margin: 0 0 18px;}
.contract-basis .basis-change-grid {grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px;}
.contract-basis .basis-change-grid .choice {padding: 9px 10px; margin: 0; border: 1px solid var(--yx-separator); border-radius: 6px; background: var(--yx-surface); min-height: 44px;}
.basis-change-grid .choice:has(:checked) {border-color: var(--yx-primary); background: var(--yx-selected);}
.review-linked-basis {padding: 16px 18px; margin-bottom: 24px; background: var(--yx-success-bg); border-radius: 8px; border: 1px solid var(--yx-success-border);}
.review-linked-basis>p {font-size: 13px; line-height: 1.7; margin: 8px 0; overflow-wrap: anywhere;}
.review-linked-basis .review-disclosure {border-color: var(--yx-success-border);}
.review-linked-basis .review-changed-fields {font-weight: 600;}
.review-section .contract-identity-table {width: 100%; min-width: 0; table-layout: fixed;}
.contract-identity-table .sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%);}
.contract-review-dialog .contract-identity-table :is(th,td) {padding: 14px 12px;}
.contract-review-dialog .contract-identity-table th {font-size: 12px; font-weight: 600;}
.contract-review-dialog .contract-identity-table th:first-child {width: 60px;}
.contract-review-dialog .contract-identity-table th:nth-child(2) {width: 27%;}
.contract-review-dialog .contract-identity-table th:nth-child(3) {width: 26%;}
.contract-review-dialog .contract-identity-table td {font-size: 13px; line-height: 1.65;}
.contract-review-dialog .contract-identity-table td b {font-weight: 600; font-size: 14px;}
.contract-review-dialog .contract-identity-table .code {font-variant-numeric: tabular-nums; letter-spacing: .04em;}
.contract-review-dialog .contract-identity-table small {font-size: 12px; line-height: 1.6;}
.contract-review-dialog .contract-identity-table tr[data-selected=true] {background: var(--yx-selected);}
.contract-review-dialog .contract-identity-table .cinema-select {display: flex; justify-content: center; align-items: center; width: 44px; min-height: 44px; margin: -7px 0 0 -4px; cursor: pointer;}
.contract-review-dialog .contract-identity-table .cinema-select input {margin: 0;}
.contract-review-dialog .contract-identity-table .choice {padding: 0; border: 0; background: transparent;}
.contract-review-dialog .contract-identity-table .cinema-match-status {margin: 8px 0;}
.review-selection-note {color: var(--yx-primary); font-size: 13px; white-space: nowrap;}
.review-final-check {padding: 20px 24px 24px; scroll-margin-top: 0;}
.review-check-note {font-size: 13px; color: var(--yx-muted); line-height: 1.7; margin: 0 0 12px;}
.review-issues {padding: 14px 16px; margin-bottom: 16px; border-radius: 8px; background: var(--yx-warning-bg); color: var(--yx-warning);}
.review-issues h3 {font-size: 14px; margin: 0 0 6px;}
.review-issues ul {font-size: 13px; line-height: 1.8; margin: 0; padding-left: 20px;}
.contract-review-dialog .contract-attestation {margin: 16px 0 0; padding: 14px; border: 1px solid var(--yx-separator); border-radius: 8px; background: var(--yx-subtle-surface);}
.contract-review-dialog .review-footer {position: sticky; bottom: 0; z-index: 4; gap: 20px; padding: 14px 24px; margin: 0; border-top: 1px solid var(--yx-separator); background: var(--yx-surface);}
.review-footer>div {margin-right: auto; min-width: 0;}
.review-footer strong {display: block; font-size: 13px; color: var(--yx-text);}
.review-footer .contract-footer-hint {display: block; font-size: 12px; line-height: 1.5; margin: 3px 0 0;}
.contract-review-dialog #contract-original-preview {margin-top: 20px; padding: 16px; border: 1px solid var(--yx-separator); background: var(--yx-subtle-surface); border-radius: 8px;}
.contract-review-dialog #contract-original-preview[hidden] {display: none;}
.contract-review-dialog #contract-original-preview iframe {height: min(620px,65vh); width: 100%;}
.contract-review-dialog #contract-original-preview pre {font-size: 14px; line-height: 1.9; max-height: 65vh; overflow: auto;}
.contract-intake-dialog :is(button,input,select,textarea,summary):focus-visible {outline: 2px solid var(--yx-primary); outline-offset: 3px;}
@media(max-width:900px) {
  .review-agreement-grid {grid-template-columns: minmax(0,1fr); gap: 22px;}
  .review-settings-column {padding-top: 20px; border-top: 1px solid var(--yx-separator);}
  .basis-source-grid {grid-template-columns: minmax(0,1fr); gap: 16px;}
}
@media(max-width:760px) {
  .contract-intake-dialog {width: calc(100vw - 16px);}
  .contract-intake-dialog .modal-head {padding: 14px 16px;}
  .contract-intake-dialog .modal-head h2 {font-size: 18px;}
  .contract-intake-dialog .modal-body {padding: 16px;}
  .contract-review-dialog>.modal-body {padding: 0;}
  .contract-review-dialog .contract-document-summary {margin: 16px 16px 0; grid-template-columns: 1fr; gap: 10px; padding: 12px 14px;}
  .review-section-nav {gap: 4px 12px; padding: 8px 16px; position: static;}
  .review-section-nav button {font-size: 12px; min-height: 44px;}
  .review-section-nav button>span {width: 20px; height: 20px;}
  .review-section,.review-final-check {padding: 20px 16px; scroll-margin-top: 16px;}
  .review-section-heading {align-items: flex-start; flex-direction: column; gap: 8px;}
  .contract-review-dialog .contract-form-section .form-grid {grid-template-columns: minmax(0,1fr);}
  .contract-review-dialog :is(input:not([type=checkbox]),select,textarea) {font-size: 16px;}
  .contract-review-dialog .contract-identity-table {display: block; min-width: 0;}
  .contract-review-dialog .contract-identity-table thead {position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);}
  .contract-review-dialog .contract-identity-table tbody {display: block;}
  .contract-review-dialog .contract-identity-table tr {display: grid; grid-template-columns: 36px minmax(0,1fr); padding: 12px; margin: 0 0 14px; border: 1px solid var(--yx-separator); border-radius: 8px;}
  .contract-review-dialog .contract-identity-table td {display: block; padding: 8px 0; border: 0; min-width: 0; width: auto; max-width: none;}
  .contract-review-dialog .contract-identity-table td:first-child {grid-column: 1; grid-row: 1; padding-top: 7px;}
  .contract-review-dialog .contract-identity-table td:nth-child(2) {grid-column: 2;}
  .contract-review-dialog .contract-identity-table td:nth-child(3),.contract-review-dialog .contract-identity-table td:nth-child(4) {grid-column: 1/-1;}
  .contract-review-dialog .contract-identity-table td:nth-child(3)::before {content: '平台匹配结果'; display: block; color: var(--yx-muted); font-size: 12px; margin-bottom: 6px;}
  .contract-review-dialog .contract-identity-table td:nth-child(4)::before {content: '核对与处理'; display: block; color: var(--yx-muted); font-size: 12px; margin-bottom: 6px;}
  .contract-basis .basis-change-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
  .contract-review-dialog .review-footer {position: static; padding: 16px; gap: 12px; flex-wrap: wrap;}
  .review-footer>div,.contract-review-dialog .review-footer>.btn {width: 100%;}
  .contract-search-result {flex-direction: column; align-items: stretch; gap: 14px;}
  .contract-search-result .actions {align-self: flex-end;}
  .contract-source-grid {grid-template-columns: minmax(0,1fr);}
  .contract-intake-dialog .contract-source-option {padding: 18px;}
}
@media(max-height:560px) {.contract-review-dialog .review-footer {position: static;}.review-section-nav {position: static;}}
@media(prefers-reduced-motion:reduce) {.contract-intake-dialog * {scroll-behavior: auto!important; transition: none!important;}}

/* 错误状态落在对应的核对项，不只显示页尾摘要。 */
.contract-review-dialog .contract-identity-table label {margin: 8px 0;}
.contract-review-dialog .contract-identity-table .cinema-match-status {display: flex;}
.contract-review-dialog .choice:has(.invalid-input) {display: grid; grid-template-columns: 20px minmax(0,1fr); background: var(--yx-danger-bg); outline: 1px solid var(--yx-danger); outline-offset: 5px;}
.contract-review-dialog .choice .input-error {grid-column: 2; margin: 0; font-size: 12px; line-height: 1.7;}
.contract-review-dialog input[type=checkbox].invalid-input {outline: 2px solid var(--yx-danger); outline-offset: 2px;}

.contract-review-dialog .review-full-editor {margin-top: 20px;}
.review-evidence-grid {display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 20px;}
.review-evidence-grid textarea {min-height: 112px;}
@media(max-width:760px) {.review-evidence-grid {grid-template-columns: minmax(0,1fr); gap: 0;}}

/* 已关联依据保持紧凑，详细说明只在展开时占用空间。 */
.contract-review-dialog .review-linked-basis {padding: 12px 16px; margin-bottom: 20px;}
.review-linked-basis .review-basis-heading {margin-bottom: 6px;}
.review-linked-basis>p {margin: 4px 0;}
.review-basis-tools {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px;}
.review-basis-tools:has(>details[open]) {grid-template-columns: minmax(0,1fr); gap: 0;}
.contract-review-dialog .review-basis-tools .review-disclosure {border: 0;}
.contract-review-dialog .review-basis-tools summary {padding: 8px 0; min-height: 40px;}
@media(max-width:760px) {.review-basis-tools {grid-template-columns: minmax(0,1fr); gap: 0;}}

/* v5.2：核对与带入界面中的长文件名、依据和错误文字可换行。 */
.contract-search-result>div,.contract-document-summary>div,.review-section,.contract-form-section{min-width:0}
.contract-search-result :is(b,p,small),.contract-document-summary b,.contract-review-dialog .notice,.contract-intake-dialog .notice{overflow-wrap:anywhere;white-space:normal}
.contract-search-result .actions{max-width:100%}.contract-search-result .btn{white-space:normal;overflow-wrap:anywhere}
.contract-review-dialog .form-error button,.contract-intake-dialog .form-error button{white-space:normal;text-align:left;overflow-wrap:anywhere}

/* Per-cinema correction: show evidence before a single code entry. */
.cinema-code-editor {padding:14px;background:var(--yx-subtle-surface);border:1px solid var(--yx-separator);border-radius:8px;min-width:0;}
.cinema-code-editor .code-step {display:grid;gap:4px;margin:0 0 10px;}
.code-step span,.code-candidate {font-size:12px;color:var(--yx-muted);overflow-wrap:anywhere;}
.cinema-code-editor label:not(.choice) {display:grid;gap:6px;margin-top:14px;}
.code-attestation {padding:10px 0!important;min-height:44px;}
.code-original-link {display:inline-block;padding:10px 4px;min-height:44px;margin-left:6px;}
.code-preview:empty {display:none;}
.code-preview {margin-top:12px;overflow-wrap:anywhere;}
.code-preview-pair {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.code-preview-pair figure {margin:0;min-width:0;}
.code-preview-pair figcaption {font-size:12px;margin-bottom:6px;color:var(--yx-muted);}
.code-preview-pair img {display:block;width:100%;height:auto;border:1px solid var(--yx-separator);background:white;}
.cinema-code-editor .contract-field-help {margin:10px 0 0;}
.code-read-state{font-size:13px;line-height:1.6;padding:10px;border-left:3px solid var(--yx-accent);background:var(--yx-surface);overflow-wrap:anywhere;}
.cinema-code-editor>.btn{margin:4px 6px 4px 0;min-height:44px;white-space:normal;}
.code-difference:empty{display:none;}
.code-difference{margin:12px 0;padding:12px;border:1px solid var(--yx-danger,#ba3447);border-radius:8px;overflow-wrap:anywhere;}
.code-difference p{margin:0 0 8px;font-size:13px;}
.code-diff-list{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:0 0 10px;}
.code-diff-list dt{font-size:12px;color:var(--yx-muted);}
.code-diff-list dd{margin:0;font-variant-numeric:tabular-nums;font-size:18px;letter-spacing:.13em;}
.code-diff-list mark{background:#ffe0a1;color:#492a00;border-bottom:2px solid #9b5100;}
.contract-review-dialog .contract-identity-table th:nth-child(2) {width:24%;}
.contract-review-dialog .contract-identity-table th:nth-child(3) {width:21%;}

/* v5.7: distinguish main number from the quoted upstream number. */
.review-number-reference{display:block;margin-top:8px;line-height:1.6;overflow-wrap:anywhere;color:var(--muted)}
.review-party-difference .actions{gap:8px;flex-wrap:wrap}
.review-party-difference .btn{min-height:44px;white-space:normal;text-align:left}

/* v5.8 合同待办与多处原文证据；沿用深浅主题变量。 */
.contract-readiness{margin:18px 0;padding:18px 20px;border:1px solid var(--yx-border);border-radius:9px;background:var(--yx-subtle-surface);color:var(--yx-text);min-width:0;overflow-wrap:anywhere}
.readiness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.readiness-heading h3{margin:0;font-size:17px;line-height:1.5}
.readiness-heading p,.readiness-footnote{font-size:14px;color:var(--yx-muted);margin:6px 0 0}
.contract-readiness ol{padding-left:22px;margin:12px 0}
.contract-readiness li{padding:5px 0;line-height:1.6}
.contract-readiness li small{display:block;color:var(--yx-muted);font-size:13px;line-height:1.6;margin-top:3px}
.contract-readiness .field-error-link{text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.contract-readiness details summary{cursor:pointer;font-weight:600}
.readiness-ready{color:var(--yx-text)}
.party-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.party-source-card{display:flex;flex-direction:column;gap:7px;padding:14px;background:var(--yx-subtle-surface);border:1px solid var(--yx-border);border-radius:8px;min-width:0}
.party-source-card>span,.party-source-card>small{color:var(--yx-muted);font-size:13px}
.party-source-card>b{overflow-wrap:anywhere;font-size:15px;line-height:1.65}
.party-source-card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.party-source-card .btn{white-space:normal}
.review-party-difference{padding:16px;border:1px solid var(--yx-border);border-radius:8px;margin:16px 0}
.review-party-difference h4{margin:0 0 10px;font-size:17px}
.contract-readiness :is(button,summary):focus-visible,.review-party-difference:focus-visible{outline:3px solid var(--yx-primary);outline-offset:3px}
@media(max-width:600px){.contract-readiness{padding:14px;margin:12px 0}.readiness-heading{flex-wrap:wrap;gap:10px}.party-source-grid{grid-template-columns:minmax(0,1fr)}.case-readiness ol{padding-left:18px}.review-party-difference{padding:12px}}

.agent-source-evidence{min-width:0}.agent-source-evidence h4{margin:0 0 12px}.agent-source-evidence .table-wrap{margin:12px 0}.agent-source-evidence table{min-width:660px}.agent-source-evidence td{vertical-align:top;white-space:normal;overflow-wrap:anywhere}.agent-source-evidence small{display:block}.agent-source-evidence .sub{overflow-wrap:anywhere}.customer-status-guide{margin-bottom:18px}.customer-status-guide dl{margin:14px 0}.customer-status-guide dt{font-weight:650;margin-top:12px}.customer-status-guide dd{margin:5px 0 0;line-height:1.7}

/* v6.3: pending-first contract tasks; original and decision share one place. */
.party-review-task{padding:20px;margin:16px 0 24px;border:1px solid var(--yx-border);border-radius:12px;background:var(--yx-subtle-surface);scroll-margin-top:70px}
.review-task-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.review-task-heading h3{margin:0;font-size:17px}
.party-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:16px 0}
.party-review-grid>*{min-width:0}
.party-review-grid fieldset{min-width:0;border:0;padding:0;margin:0 0 16px}
.party-review-grid legend{font-weight:600;margin-bottom:10px}
.party-candidate{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--yx-border);border-radius:8px;margin-bottom:10px;background:var(--yx-surface);cursor:pointer}
.party-candidate:has(input:checked){border-color:var(--yx-primary);outline:2px solid var(--yx-primary)}
.party-candidate input[type=radio]{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.party-candidate span{display:grid;gap:6px;min-width:0}
.party-candidate b{overflow-wrap:anywhere;font-size:16px;line-height:1.65}
.party-candidate small{color:var(--yx-muted)}
.party-original{border:1px solid var(--yx-border);border-radius:8px;overflow:hidden;background:var(--yx-surface)}
.party-original .section-title{padding:10px 12px;margin:0;gap:12px;flex-wrap:wrap}
.party-original iframe{width:100%;height:380px;border:0;display:block;background:white}
.review-common{margin-block:20px}
.review-common>summary{padding:14px 0;font-weight:600}
.review-common .review-agreement-grid{margin-top:14px}
.party-review-task>.review-disclosure{margin-top:12px}
.contract-review-dialog .contract-readiness{padding:12px 20px}
@media(max-width:760px){.party-review-grid{grid-template-columns:1fr;gap:16px}.party-review-task{padding:14px}.party-original iframe{height:300px}.party-candidate b{font-size:15px}}

.contract-review-dialog .party-candidate{display:flex;align-items:flex-start;gap:12px}
.party-original img{display:block;width:100%;height:440px;object-fit:contain;background:#fff}
@media(max-width:760px){.party-original img{height:380px}}

.contract-review-dialog .party-candidate{flex-direction:row}

.party-candidate mark{background:#fff0bc;color:#6c4500;border-radius:3px;padding:0 2px}

/* Full agreement and change comparisons remain readable inside narrow drawers. */
.agreement-review table{min-width:0;width:100%;table-layout:fixed}
.agreement-review th,.agreement-review td{white-space:normal;overflow-wrap:anywhere}
.agreement-review th:first-child{width:30%}
#agreement-edit-form [data-ag-inputs]{padding:8px 12px 16px}
#agreement-edit-form .policy-section{padding:10px 0;border-bottom:1px solid var(--border)}
