.contract-page{padding:28px 34px!important;max-width:1480px;width:100%;overflow:auto}
.contract-workspace{color:#253249;max-width:1220px;margin:auto}
.contract-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e3e8ef}
.contract-heading a{font-size:13px;color:#66758a}.contract-heading h1{font-size:25px;margin:10px 0 7px;overflow-wrap:anywhere}.contract-heading p{margin:0;color:#68758a;font-size:13px}
.contract-detail-dialog{width:min(980px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #dce5f2;border-radius:16px;box-shadow:0 24px 80px #1d31532e;color:#253249;overflow:auto}
.contract-detail-dialog::backdrop{background:#1d2d4b75}
.contract-detail-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:#fff;border-bottom:1px solid #e3e8ef}
.contract-detail-head strong{font-size:17px}.contract-detail-body{padding:24px;min-width:0}
.contract-version{font-size:12px;padding:7px 12px;border-radius:7px;background:#edf3ff;color:#375eae;white-space:nowrap}
.contract-inline-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 18px;border:1px solid #d9e4fb;border-radius:10px;background:#f7faff;color:#40536f;font-size:13px;line-height:1.6}
.contract-inline-banner button{flex:none;padding:8px 12px}
.contract-tabs{display:flex;gap:24px;margin:22px 0 24px;border-bottom:1px solid #e3e8ef}
.contract-tabs button{padding:12px 2px;border:0;border-radius:0;background:none;color:#68758a}.contract-tabs button.active{color:#2457dc;border-bottom:2px solid #2457dc}
.contract-columns{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;align-items:start}
.contract-thread{min-width:0}.contract-messages{display:flex;flex-direction:column;gap:22px;max-height:calc(100dvh - 430px);min-height:170px;overflow:auto;padding-right:8px;overscroll-behavior:contain}
.contract-assistant>p,.contract-user>p{white-space:pre-wrap;margin:9px 0;line-height:1.8}.contract-assistant>small,.contract-user>small{font-size:12px;color:#74839a}
.contract-messages .desktop-message{margin-bottom:0}.contract-messages .desktop-message.is-user{align-self:flex-end;max-width:92%;margin-left:0}.contract-thread .desktop-composer{margin-top:18px}.contract-intro{font-size:14px;color:#506079}
.contract-user{align-self:flex-end;max-width:92%;padding:14px 20px;background:#f0f3f8;border-radius:12px;overflow-wrap:anywhere}
.contract-author{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}.contract-author img{width:26px;height:26px}
.contract-context{padding:20px;border:1px solid #e3e8ef;border-radius:12px;background:#f8faff;min-width:0;max-height:calc(100dvh - 305px);overflow:auto}.contract-context h2{font-size:16px;margin:0}.contract-context h3{font-size:13px;margin:22px 0 7px}
.contract-muted{color:#748097;font-size:12px;line-height:1.7}.contract-materials article{padding:15px 0;border-bottom:1px solid #e3e8ef}.contract-materials strong{font-size:13px;overflow-wrap:anywhere}.contract-materials small{display:block;color:#738198;margin-top:5px;font-size:11px}.contract-materials p{font-size:12px;color:#65738a;margin:8px 0}.contract-materials article>div{display:flex;flex-wrap:wrap;gap:6px}.contract-materials button{font-size:11px;padding:5px 8px}.contract-material-empty{font-size:13px;color:#748097;padding:15px 0}
.contract-material-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.contract-material-actions button{font-size:12px;padding:6px 9px}
.contract-composer{margin-top:24px;padding:14px;border:1px solid #bcccf0;border-radius:13px;background:white;box-shadow:0 3px 10px #315fe908}.contract-composer:focus-within{outline:2px solid #8eabfb;outline-offset:2px}.contract-composer textarea{display:block;width:100%;min-height:88px;resize:vertical;border:0;box-shadow:none;outline:none;padding:6px;color:#253249;font-size:14px}.contract-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.contract-composer-footer>span{font-size:11px;color:#8491a6}.contract-composer button{font-size:13px;padding:8px 12px}
.contract-artifact{border:1px solid #dce5f2;border-radius:10px;padding:19px 20px;margin-top:12px;background:#fff}.contract-artifact>span{font-size:11px;color:#6d7c93}.contract-artifact h3{font-size:16px;margin:8px 0}.contract-artifact p{font-size:13px;line-height:1.7;color:#647187}.contract-artifact>div{display:flex;gap:9px;flex-wrap:wrap}
.contract-error{padding:12px 16px;background:#fff0ee;color:#a43b2c;border-radius:8px;font-size:13px;white-space:pre-wrap}.contract-error[hidden]{display:none}.contract-notice{padding:12px 15px;background:#fff8e9;color:#825f27;font-size:13px;line-height:1.7;border-radius:8px}.contract-notice button{margin-left:12px}
.contract-empty{padding:60px 24px;color:#748097;text-align:center}
.contract-document-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}.contract-document-toolbar h2{font-size:18px}.contract-document-toolbar small{display:block;color:#718097;font-size:12px;margin-top:8px}.contract-document-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.contract-document-toolbar button{font-size:12px;padding:8px 11px}
#contract-editor{width:100%;min-height:470px;resize:vertical;font:14px/1.85 -apple-system,"PingFang SC",sans-serif}.contract-document .markdown-editor{margin-top:16px}.contract-review-details{margin-top:24px;border-top:1px solid #e3e8ef;padding-top:18px}.contract-review-details summary{cursor:pointer;font-size:14px;font-weight:600}.contract-report{font-size:14px;line-height:1.8}.contract-risks{display:grid;gap:18px;margin-top:18px}.contract-risks article{padding:20px;border:1px solid #e3e8ef;border-radius:10px}.contract-risks article>div{display:flex;gap:9px;align-items:center}.contract-risk-level{background:#fff1dc;color:#95651e;border-radius:4px;padding:2px 7px;font-size:11px}.contract-risks h3{font-size:15px}.contract-risks h4{font-size:12px;color:#65748d;margin:15px 0 5px}.contract-risks p{margin:5px 0}.contract-risks blockquote{margin:13px 0;padding:9px 13px;background:#f7f9fc;border-left:3px solid #91a9d8;font-size:13px;white-space:pre-wrap}
.contract-source{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.85 -apple-system,"PingFang SC",sans-serif;max-height:58vh;overflow:auto;padding:16px;background:#f6f8fb;border-radius:8px}.contract-source mark{background:#fff0ad}
.contract-compare-select{display:flex;align-items:end;gap:16px;margin:0 0 20px;flex-wrap:wrap}.contract-compare-select label{display:grid;gap:7px;font-size:12px;color:#65748d;min-width:190px}.contract-compare-select p{font-size:12px;color:#748097;margin:0 0 9px}.contract-diff{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contract-diff>section{min-width:0;background:white;border:1px solid #e3e8ef;border-radius:10px;padding:16px}.contract-diff h3{font-size:14px;margin:0 0 16px}.contract-diff p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7;margin:0;padding:4px 9px;min-height:24px}.contract-diff .added{background:#eaf7ef;color:#285c3c}.contract-diff .removed{background:#fff0ee;color:#95483f}
@media(max-width:1100px){.contract-columns{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.contract-page{padding:22px!important}.contract-composer-footer{flex-wrap:wrap}.contract-document-toolbar{align-items:start;flex-direction:column}}
@media(max-width:780px){.contract-columns{display:flex;flex-direction:column}.contract-context{order:-1;width:100%}.contract-thread{width:100%}.contract-context>h3,.contract-context>h3+p{display:none}.contract-context .contract-muted{margin-bottom:0}.contract-page{padding:18px!important}.contract-heading h1{font-size:21px}.contract-diff{grid-template-columns:1fr}.contract-tabs{gap:20px}.contract-composer-footer>span{display:none}.contract-composer-footer{justify-content:flex-end}.contract-version{white-space:normal}.contract-user{max-width:100%}}

@media(max-width:780px){.contract-context{max-height:240px}.contract-messages{max-height:380px;min-height:140px}.contract-inline-banner{align-items:flex-start;flex-direction:column}.contract-detail-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.contract-detail-head,.contract-detail-body{padding:16px}}
