.fo-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fo-note{color:var(--ink-2);font-size:12px}.fo-fields{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:14px;margin-top:14px}.fo-fields label{display:grid;gap:6px;font-weight:500}.fo-fields select{width:100%;min-width:0}.fo-history{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.fo-history summary{cursor:pointer;font-weight:600;margin-bottom:12px}.fo-history .table-scroll{margin-top:10px}.fo-warning{padding:11px 14px;border-radius:7px;background:#fff4db;color:#805d13;margin:10px 0}.fo-purpose{margin-bottom:18px}.fo-purpose label{display:block;font-weight:600;margin-bottom:7px}.fo-purpose select{max-width:420px;width:100%}.fo-purpose p{margin-bottom:0}#frameworkOrderPanel{margin-bottom:20px}#frameworkOrderPanel .data td{white-space:normal;overflow-wrap:anywhere}.fo-bound-client{background:#f1f5fa}.fo-review{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fc;border:1px solid var(--line);border-radius:7px;padding:12px}@media(max-width:650px){.fo-fields{grid-template-columns:1fr}.fo-header{align-items:flex-start}.fo-note{line-height:1.7}.fo-history .data{min-width:610px}}

.fo-search { display: block; margin: 16px 0 8px; }
.fo-search input, #batchFrameworkSearch, #supplementMainSearch { display: block; width: 100%; margin: 8px 0; }
/* One contract-file workspace for all three version types. */
.contract-library-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.contract-library-head h3 { margin-bottom:8px; }
.contract-library-head p { margin-bottom:0; }
.contract-library-table-wrap { overflow-x:auto; }
.contract-library-table { width:100%; table-layout:fixed; min-width:650px; }
.contract-library-table th:nth-child(1) { width:120px; }
.contract-library-table th:nth-child(3) { width:150px; }
.contract-library-table th:nth-child(4) { width:190px; }
.contract-library .contract-library-table td { text-align:left; vertical-align:middle; white-space:normal; overflow-wrap:anywhere; }
.contract-library-table .sub2 { display:block; color:var(--ink-2); margin-top:5px; font-size:12px; }
.contract-file-type { display:inline-block; padding:4px 9px; border-radius:6px; font-size:12px; font-weight:600; background:#eef3f9; color:#204c78; }
.contract-file-type.revision { background:#fff4df; color:#8b5c0c; }
.contract-file-type.signed { background:#e9f6ef; color:#206646; }
.contract-file-actions { display:flex; gap:8px; flex-wrap:wrap; }
.contract-library-upload { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.contract-library-upload summary { cursor:pointer; font-weight:600; }
.contract-library-upload .dropzone { margin-top:12px; }

.master-search-results[hidden],.master-bound-summary[hidden]{display:none}
.master-search-results{margin:8px 0 16px;border:1px solid #c9d7e8;border-radius:9px;background:#fff;max-height:300px;overflow:auto;padding:6px}
.master-search-list{list-style:none;margin:0;padding:0}.master-search-list li+li{border-top:1px solid var(--line)}
.master-search-result{display:block;text-align:left;width:100%;box-sizing:border-box;border:1px solid transparent;background:#fff;border-radius:6px;padding:11px 12px;color:var(--ink);cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.master-search-result strong,.master-search-result span,.master-search-result small{display:block}.master-search-result span,.master-search-result small{font-size:12px;color:var(--ink-2);margin-top:5px;line-height:1.5}
.master-search-result:hover,.master-search-result.selected{background:#edf4fc;border-color:#a5c4e6}.master-search-result:focus-visible{outline:2px solid var(--brand-2);outline-offset:-2px}.master-search-result:disabled{opacity:.55;cursor:default}
.master-search-empty{padding:10px;margin:0;color:var(--ink-2);line-height:1.7;font-size:13px}
.master-bound-summary{display:grid;gap:6px;border-left:3px solid var(--brand-2);background:#f0f6fc;border-radius:6px;padding:12px 14px;margin:12px 0;overflow-wrap:anywhere}.master-bound-summary span{font-size:13px;color:var(--ink-2)}

.fo-payment{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f7faff}.fo-payment label{display:grid;gap:7px;font-weight:500;max-width:440px}.fo-payment select{width:100%;min-width:0}.fo-payment .hint{margin:10px 0 0;line-height:1.7}
