.main-layout{min-height:100vh}.main-layout .ant-layout-sider{height:100vh;position:sticky;top:0}.main-layout .ant-layout-sider-children{display:flex;flex-direction:column;height:100vh;overflow:hidden}.sider-logo{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1)}.main-layout .ant-layout-sider .ant-menu{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.main-layout .ant-layout-sider .ant-menu::-webkit-scrollbar{width:6px}.main-layout .ant-layout-sider .ant-menu::-webkit-scrollbar-track{background:transparent}.main-layout .ant-layout-sider .ant-menu::-webkit-scrollbar-thumb{background-color:#ffffff4d;border-radius:3px}.main-layout .ant-layout-sider .ant-menu::-webkit-scrollbar-thumb:hover{background-color:#ffffff80}.sider-logo.collapsed{font-size:16px}.sider-logo-icon{margin-right:8px}.sider-logo.collapsed .sider-logo-icon{margin-right:0}.layout-header{background:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #0000000f;z-index:1}.header-title{font-size:16px;font-weight:500;color:#333}.header-user{cursor:pointer}.header-user-name{font-size:14px}.layout-content{margin:24px;padding:24px;background:#fff;border-radius:8px;min-height:280px}.layout-footer{text-align:center;color:#94a3b8;font-size:13px;padding:16px 24px;background:transparent}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}#root{height:100vh}.ProseMirror{min-height:420px;outline:none;font-family:Microsoft YaHei,PingFang SC,SimSun,sans-serif;font-size:14px;line-height:2;color:#333;padding:0}.ProseMirror>*+*{margin-top:8px}.ProseMirror h1{font-size:22px;font-weight:700;margin:16px 0 8px}.ProseMirror h2{font-size:18px;font-weight:700;margin:14px 0 6px}.ProseMirror h3{font-size:15px;font-weight:700;margin:12px 0 4px}.ProseMirror p{margin-bottom:6px;min-height:1em}.ProseMirror ul,.ProseMirror ol{padding-left:24px;margin-bottom:8px}.ProseMirror ul{list-style:disc}.ProseMirror ol{list-style:decimal}.ProseMirror blockquote{border-left:3px solid #ddd;padding-left:12px;color:#666;margin:8px 0}.ProseMirror hr{border:none;border-top:1px solid #e8e8e8;margin:12px 0}.ProseMirror table{border-collapse:collapse;width:100%;margin:8px 0;overflow:hidden;table-layout:fixed}.ProseMirror th,.ProseMirror td{border:1px solid #d9d9d9;padding:6px 10px;text-align:left;position:relative;vertical-align:top}.ProseMirror th{background:#fafafa;font-weight:600}.ProseMirror .selectedCell:after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:#1677ff1f;pointer-events:none;z-index:2}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:#1677ff66;pointer-events:none;z-index:5}.ProseMirror.resize-cursor{cursor:col-resize}.contract-preview .ct-var{color:#1677ff;font-weight:500}.contract-preview>*+*{margin-top:8px}.contract-preview h1{font-size:22px;font-weight:700;margin:16px 0 8px}.contract-preview h2{font-size:18px;font-weight:700;margin:14px 0 6px}.contract-preview h3{font-size:15px;font-weight:700;margin:12px 0 4px}.contract-preview p{margin-bottom:6px;min-height:2em}.contract-preview p:empty{min-height:2em}.contract-preview ul,.contract-preview ol{padding-left:24px;margin-bottom:8px}.contract-preview ul{list-style:disc}.contract-preview ol{list-style:decimal}.contract-preview li{margin-bottom:4px}.contract-preview blockquote{border-left:3px solid #ddd;padding-left:12px;color:#666;margin:8px 0}.contract-preview table{border-collapse:collapse;width:100%;margin:8px 0}.contract-preview th,.contract-preview td{border:1px solid #d9d9d9;padding:6px 10px;text-align:left}.contract-preview th{background:#fafafa;font-weight:600}.contract-preview .ct-seal{border:2px dashed #999;padding:24px;text-align:center;margin:12px 0;color:#666;min-height:80px}.contract-preview .ct-cond{border:1px solid #f0d8a8;padding:12px;margin:12px 0}.contract-edit-canvas{white-space:pre-wrap;word-break:break-word}.contract-edit-canvas p{margin:0 0 6px;min-height:2em}.contract-edit-canvas p:empty{min-height:2em}.contract-edit-canvas hr{border:none;border-top:1px solid #d9d9d9;margin:8px 0}.a4-page{width:210mm;min-height:297mm;margin:0 auto;padding:25mm 20mm;background:#fff;box-shadow:0 2px 8px #0000001f;position:relative}.a4-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 297mm,#595959 297mm,#595959 calc(297mm + 2px));background-size:100% calc(297mm + 2px);background-position:0 0;z-index:0}.a4-page>*{position:relative;z-index:1}.a4-page .tiptap.ProseMirror{min-height:247mm;outline:none}.a4-page-container{background:#f0f0f0;padding:24px 16px;min-height:100%}.contract-edit-canvas .ct-pagebreak,.contract-preview .ct-pagebreak{position:relative;border-top:2px dashed #bfbfbf;margin:24px 0;height:0;overflow:hidden}.contract-edit-canvas .ct-pagebreak:after,.contract-preview .ct-pagebreak:after{content:"分页符";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#fafafa;color:#8c8c8c;font-size:11px;padding:0 8px;border:1px solid #d9d9d9;border-radius:3px;white-space:nowrap}.contract-preview .ct-pagebreak{border-top:2px dashed #d9d9d9;page-break-after:always;break-after:page}.ct-cond-edit{border:2px dashed #faad14!important;background:#fffbe6!important;padding:12px!important;margin:12px 0!important;border-radius:4px!important;position:relative!important}.ct-cond-label{background:#fff7e6;border:1px solid #ffe58f;border-radius:3px;padding:4px 8px;margin:4px 0 8px;font-size:12px;color:#d48806;font-weight:600;text-align:center}.contract-preview .ct-pagebreak{page-break-after:always;height:0;overflow:hidden}
