.contract-word-toolbar{padding:18px 22px;background:#fff;border:1px solid #d8e5f6;border-radius:20px 20px 0 0;position:sticky;top:0;z-index:2}.contract-document-actions,.document-format-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.contract-document-actions>strong{font-size:20px;margin-right:12px}.contract-document-actions select{min-width:180px;max-width:300px}.document-format-toolbar{margin-top:14px;padding-top:12px;border-top:1px solid #e1e8f3}.document-format-toolbar button,.document-format-toolbar select{min-height:34px;padding:6px 10px;font-size:13px;border-radius:8px}.document-format-toolbar label{display:flex;gap:6px;align-items:center;font-size:13px}.document-format-toolbar input[type=color]{width:32px;height:30px;padding:2px}.contract-word-toolbar>p,.tool-template-hint{font-size:12px;color:#7285a0;margin:12px 0 0}.contract-paper-workspace{padding:32px 20px;background:#e9eef6;overflow:auto;margin-bottom:20px}.contract-word-page{box-sizing:border-box;width:min(794px,100%);min-height:1000px;margin:0 auto;background:white;box-shadow:0 6px 22px #24385717;padding:66px 72px;color:#172944;font:16px/1.8 'Microsoft YaHei',sans-serif;outline:none;overflow-wrap:anywhere;white-space:normal}.contract-word-page:focus{box-shadow:0 0 0 2px #a8cdf7,0 6px 22px #24385717}.contract-word-page h1{font-size:28px;margin:0 0 28px}.contract-word-page h2{font-size:20px;margin:24px 0 10px}.contract-word-page p{margin:0 0 14px}.contract-word-page table{border-collapse:collapse;width:100%}.contract-word-page td,.contract-word-page th{border:1px solid #8092a8;padding:8px}.tool-template-editor{width:min(1100px,95vw);max-height:92vh;border:1px solid #d6e5f5;border-radius:22px;padding:26px;overflow:auto;color:#172944;background:#f6faff}.tool-template-editor::backdrop{background:#14294288}.tool-template-editor>header,.tool-template-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.tool-template-editor>header span{font-size:12px;color:#6280a5}.tool-template-editor h2{margin:4px 0 18px}.tool-template-meta{display:grid;grid-template-columns:1fr 2fr;gap:16px}.tool-template-meta label{display:flex;flex-direction:column;gap:6px;font-size:13px}.tool-template-meta input{width:100%}.tool-template-editor .contract-word-page{margin:24px auto;min-height:550px}.tool-template-editor>footer{margin-top:20px;padding-top:16px;border-top:1px solid #d6e5f5}.tool-template-editor>footer span{font-size:13px;color:#647c9a}.tool-template-table-wrap{overflow:auto;margin:20px 0}.tool-template-table{width:100%;border-collapse:collapse;background:white}.tool-template-table th,.tool-template-table td{border:1px solid #dbe6f4;padding:10px;text-align:left;vertical-align:top}.tool-template-table th{background:#edf5ff}.tool-template-table textarea{width:100%;min-width:130px;resize:vertical}.tool-template-table td:last-child{width:80px}.tool-template-table select{min-width:125px}@media(max-width:700px){.tool-template-meta{grid-template-columns:1fr}.contract-paper-workspace{padding:14px 8px}.contract-word-page{padding:28px 22px;min-height:680px}.contract-word-toolbar{position:static;padding:14px}.tool-template-editor{padding:16px}.contract-document-actions select{max-width:100%;min-width:140px}}

.document-format-toolbar select{width:auto;flex:0 1 auto;min-width:88px;max-width:180px}.document-format-toolbar label{width:auto;flex:0 0 auto}.document-format-toolbar input[type=color]{min-width:32px;max-width:32px}
/* Match the existing blue project quotation ribbon. */
.contract-word-toolbar.quote-editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px;border:1px solid #c6ddf7;border-radius:10px;background:linear-gradient(135deg,#317fff,#42baff);color:#fff;font:400 11px/16px "Microsoft YaHei","PingFang SC",Arial,sans-serif;box-shadow:0 5px 12px #18365318;position:sticky;top:0;z-index:18;overflow:visible}
.contract-word-toolbar .document-format-toolbar{display:flex;flex:1;gap:8px;align-items:center;margin:0;padding:0;border:0}
.contract-word-toolbar .contract-document-actions:not(.workspace-primary-actions){display:flex;flex:0 1 410px;justify-content:flex-end;gap:6px}
.contract-template-controls{display:flex;justify-content:flex-end;gap:6px;align-items:center;flex-wrap:wrap;width:100%}
.contract-word-toolbar :is(button,.file-button){display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:5px 7px;border:1px solid transparent;border-radius:6px;background:#fff;color:#16355b;box-shadow:none;font:400 11px/16px "Microsoft YaHei","PingFang SC",Arial,sans-serif;white-space:nowrap;cursor:pointer}
.contract-word-toolbar :is(button,.file-button) .ph{font-size:23px;line-height:26px}.contract-word-toolbar :is(button,.file-button):hover{background:#e7f1ff;border-color:#c9dfff;color:#0764ef}.contract-word-toolbar button:disabled{opacity:.35;cursor:default}
.contract-word-toolbar button[data-contract-action=save]{background:#0767f9;color:white;padding:8px;box-shadow:0 4px 12px #0867f922}
.contract-word-toolbar select{width:auto;flex:0 1 auto;min-width:70px;max-width:180px;height:34px;min-height:34px;border:1px solid #d6e1ef;border-radius:6px;padding:4px 8px;background:#fff;color:#16355b;font:400 12px/16px "Microsoft YaHei","PingFang SC",Arial,sans-serif}
.contract-word-toolbar [data-rich-command=fontName]{width:105px;min-width:105px}.contract-word-toolbar [data-rich-command=fontSize]{width:78px;min-width:78px}.contract-word-toolbar #projectContractTemplateSelect{min-width:145px;max-width:200px}
.contract-word-toolbar .contract-text-color{display:inline-flex;position:relative;align-items:center;justify-content:center;min-height:34px;min-width:34px;border-radius:6px;background:white;color:#16355b;cursor:pointer}.contract-text-color .ph{font-size:23px}.contract-word-toolbar .contract-text-color input[type=color]{position:absolute;inset:0;min-width:100%;max-width:100%;width:100%;height:100%;opacity:0;cursor:pointer}
.tool-template-editor.tool-template-inline{box-sizing:border-box;width:100%;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;background:transparent}.tool-template-inline>header{margin-bottom:18px}.tool-template-header-actions{display:flex;gap:10px;flex-wrap:wrap}.tool-template-header-actions button{display:inline-flex;align-items:center;gap:7px}.tool-template-inline .tool-template-meta{background:#fff;border:1px solid #d8e5f6;border-radius:14px;padding:18px}.tool-template-status{margin:12px 2px;color:#6480a3;font-size:13px}.tool-template-inline .contract-word-page{margin:0 auto;min-height:1000px}.tool-template-inline .tool-template-table-wrap{margin-top:12px}.tool-template-row-toolbar{display:flex;align-items:center;gap:16px;padding:12px;border-radius:10px;background:linear-gradient(135deg,#317fff,#42baff);color:#fff}.tool-template-row-toolbar button{display:flex;align-items:center;gap:6px;background:#fff;color:#16355b;border-radius:6px;padding:8px 12px}.tool-template-row-toolbar span{font-size:13px}
.contract-document-preview{width:min(960px,96vw);max-height:94vh;overflow:auto;padding:0;border:1px solid #d6e5f5;border-radius:16px;background:#e9eef6;color:#172944}.contract-document-preview::backdrop{background:#14294288}.contract-document-preview>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:white;border-bottom:1px solid #dbe6f4}.contract-document-preview h2{margin:0;font-size:18px}.contract-document-preview .contract-paper-workspace{margin:0}.contract-document-preview .contract-word-page{cursor:text}
@media(max-width:900px){.contract-word-toolbar.quote-editor-toolbar{flex-direction:column}.contract-word-toolbar .contract-document-actions:not(.workspace-primary-actions){flex-basis:auto;justify-content:flex-start;width:100%}.contract-template-controls{justify-content:flex-start}}
@media(max-width:700px){.tool-template-inline>header{align-items:flex-start;flex-direction:column}.tool-template-inline .contract-word-page{min-height:700px}.contract-document-preview>header{padding:12px}.tool-template-inline .tool-template-meta{padding:12px}}

/* Keep the contract ribbon visible within the project/template scrolling pane. */
#projectContractToolbar.contract-word-toolbar{position:sticky;top:0;z-index:18;overflow:visible;flex-wrap:wrap}
.document-table-control{position:relative;flex:0 0 auto}
.contract-word-toolbar .document-table-picker{position:absolute;top:calc(100% + 8px);left:0;z-index:30;box-sizing:border-box;width:242px;padding:12px;background:#fff;border:1px solid #c8daef;border-radius:10px;box-shadow:0 8px 24px #16355b33;color:#16355b}
.document-table-picker>strong{display:block;margin-bottom:10px;font-size:12px}
.document-table-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.contract-word-toolbar .document-table-grid button{min-height:22px;height:22px;min-width:0;padding:0;border:1px solid #bdd0e8;border-radius:2px;background:#f6f9fe}
.contract-word-toolbar .document-table-grid button.selected,.contract-word-toolbar .document-table-grid button:focus-visible{background:#a9d3ff;border-color:#267df2}
.document-table-dimensions{display:flex;align-items:flex-end;gap:8px;margin-top:12px}
.contract-word-toolbar .document-table-dimensions label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}
.contract-word-toolbar .document-table-dimensions input{width:62px;min-width:0;height:30px;min-height:30px;padding:4px 6px;border:1px solid #bdd0e8;border-radius:5px;color:#16355b;background:#fff}
.contract-word-toolbar .document-table-dimensions button{background:#0767f9;color:#fff}
@media(max-width:700px){#projectContractToolbar.contract-word-toolbar,.tool-template-inline .contract-word-toolbar{position:sticky;top:0}}
#projectDetailPane .project-detail-content:has([data-project-panel="contract"]:not(.hidden)){padding-top:0}

/* Shared contract inputs stay separate from the printable document. */
.contract-information-card{margin:14px 0 22px;padding:18px 20px;background:#fff;border:1px solid #d8e4f2;border-radius:12px;color:#173251;min-width:0}
.contract-information-card>summary{font-weight:600;font-size:16px;cursor:pointer}
.contract-information-hint,.contract-parties-grid small{font-size:12px;line-height:1.6;color:#60738b}
.contract-parties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contract-parties-grid fieldset{margin:0;padding:14px;border:1px solid #dce6f0;border-radius:8px;display:grid;align-content:start;gap:10px;min-width:0}
.contract-parties-grid legend{font-weight:600;padding:0 6px}
.contract-information-card label{display:grid;gap:5px;font-size:13px;min-width:0}
.contract-information-card :is(input,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:8px 10px;border:1px solid #ccd9e8;border-radius:6px;background:#fff;color:#183452;font:inherit}
.contract-information-card textarea{resize:vertical;min-height:72px}
.contract-information-card :is(input,textarea):disabled{color:#46556a;background:#f7f9fc;opacity:1}
.contract-parties-grid button{justify-self:start;font-size:12px;padding:7px 10px}
.contract-events-grid,.contract-payment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.contract-information-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:14px;border-top:1px solid #e3ebf4;font-size:13px}
.contract-information-footer .contract-template-controls{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.contract-information-footer :is(button,select){font:inherit;max-width:100%;min-width:0}
.contract-fill-feedback{margin:12px 0 0;font-size:13px;line-height:1.7;color:#855419;white-space:pre-wrap;overflow-wrap:anywhere}
.contract-fill-feedback:empty{display:none}
.profile-contract-defaults{grid-column:1/-1;min-width:0;margin:10px 0 0;padding:14px;border:1px solid #dce6f0;border-radius:8px}
.profile-contract-defaults legend{font-weight:600}.profile-contract-defaults>p{font-size:12px;color:#60738b;margin:0 0 12px}
.profile-contract-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-contract-fields>label:last-child{grid-column:1/-1}.profile-contract-fields :is(input,textarea){width:100%;box-sizing:border-box;min-width:0}.profile-contract-fields textarea{min-height:80px;resize:vertical}
@media(max-width:700px){.contract-information-card{padding:14px 12px}.contract-parties-grid,.contract-events-grid,.contract-payment-grid,.profile-contract-fields{grid-template-columns:minmax(0,1fr)}.contract-information-footer{align-items:flex-start;flex-direction:column}.contract-information-footer select{width:100%}}
