/* The editing surface retains physical A4 proportions at every viewport width. */
dialog.contract-editor-dialog{width:1280px;max-width:calc(100vw - 32px);max-height:94dvh;background:#f6f5f1}
.contract-editor-dialog>header{padding:17px 24px;background:#fff;z-index:4}
.contract-editor-dialog>header h2{font-size:15px;font-weight:500}
.contract-editor-dialog #modal-content{padding:0}
.ce-shell{color:#34382f;min-width:0}
.ce-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px 20px;background:#fff}
.ce-topline>div{min-width:0}.ce-kicker{display:block;font-size:9px;color:#968365;letter-spacing:1.8px;margin-bottom:9px}
.ce-topline h2{font-size:20px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.ce-topline p{font-size:11px;line-height:1.8;color:#8a8e7f;margin:6px 0 0;overflow-wrap:anywhere}
.ce-state{flex:none;display:inline-flex;padding:7px 11px;background:#f5efe3;border:1px solid #e5d9c0;color:#92734c;border-radius:20px;font-size:11px;line-height:1.5}.ce-state.is-locked{background:#edf2e9;border-color:#d7e0cf;color:#637957}
.ce-commandbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 26px;border-top:1px solid #efede7;border-bottom:1px solid #e5e3db;background:#fff}
.ce-save-state{font-size:11px;line-height:1.7;color:#8b907f}.ce-save-state::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#95a58b;margin:0 7px 1px 0}.ce-save-state.is-dirty{color:#977544}.ce-save-state.is-dirty::before{background:#b38c53}
.ce-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ce-actions .button{font-size:11px;min-height:36px;padding:9px 13px;white-space:nowrap}.ce-actions .button:disabled{opacity:.45;cursor:not-allowed}
.ce-layout{display:grid;grid-template-columns:minmax(0,1fr) 252px;align-items:start;gap:0}.ce-canvas{min-width:0;border-right:1px solid #e2e1d9;background:#eae9e3}
.ce-toolbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:10px 16px;background:#f9f8f5;border-bottom:1px solid #ddded3;min-height:53px}
.ce-toolbar button,.ce-toolbar select{border:1px solid transparent;background:transparent;min-height:30px;border-radius:3px;font-size:11px;color:#656b5b;line-height:1.4;padding:6px 8px;cursor:pointer}.ce-toolbar select{background:#fff;border-color:#e2e2d9;margin-right:5px;max-width:110px}.ce-toolbar button:hover{background:#ebe9e0;border-color:#dedcd1}.ce-toolbar button:disabled,.ce-toolbar select:disabled{opacity:.4;cursor:default}.ce-toolbar button:focus-visible,.ce-toolbar select:focus-visible{outline:2px solid #9d825a;outline-offset:1px}.ce-toolbar button b,.ce-toolbar button i,.ce-toolbar button u{font-family:Georgia,serif;font-size:15px}.ce-toolbar-label{font-size:11px;color:#829175;padding:5px}.ce-paper-size{margin-left:auto;padding:5px 0 5px 12px;color:#969989;font-size:9px;white-space:nowrap}
.ce-stage{padding:28px 24px 36px;overflow:auto;overscroll-behavior:contain;max-height:72dvh;scrollbar-color:#c5c6b9 transparent;scrollbar-width:thin}
.ce-paper{box-sizing:border-box;width:210mm;min-height:297mm;padding:17mm 17mm 19mm;margin:0 auto;background:#fff;box-shadow:0 3px 15px #43463715;color:#20251f;font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;font-size:11pt;line-height:1.85;overflow-wrap:anywhere}
.ce-paper-meta{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-bottom:1px solid #c3c8bd;padding-bottom:3mm;margin-bottom:6mm;font-size:9pt;line-height:1.7;color:#545d4e;overflow-wrap:anywhere}.ce-paper-meta>span{max-width:60%}
.ce-document-body{outline:none;min-height:120px;white-space:normal}.ce-document-body[contenteditable=true]:focus{outline:1px dashed #d7c7a6;outline-offset:7px}.ce-document-body h1{font-size:20pt;font-weight:700;letter-spacing:1.5px;line-height:1.55;text-align:center;margin:0 0 8mm}.ce-document-body h2{font-size:12pt;line-height:1.65;font-weight:700;margin:5mm 0 2mm}.ce-document-body h3{font-size:11pt;font-weight:700;line-height:1.7;margin:4mm 0 2mm}.ce-document-body p{margin:0 0 3mm;font-size:inherit;line-height:inherit}.ce-document-body strong,.ce-document-body b{font-weight:700}.ce-document-body ul,.ce-document-body ol{margin:0 0 3mm;padding-left:7mm}.ce-document-body li{margin:0 0 1mm}.ce-paper table{width:100%;border-collapse:collapse;margin:3mm 0 4mm;table-layout:fixed;font-size:9pt;line-height:1.65}.ce-paper th,.ce-paper td{border:1px solid #858d80;padding:2mm 2.3mm;vertical-align:top;overflow-wrap:anywhere;text-align:left}.ce-paper th{font-weight:700;background:#f5f6f3}.ce-document-body th:first-child{width:7%}.ce-document-body th:nth-child(2){width:38%}.ce-document-body th:nth-child(3){width:17%}.ce-document-body th:nth-child(4),.ce-document-body th:nth-child(5){width:19%}
.ce-receipt{border-top:1px dashed #86917d;margin-top:10mm;padding-top:6mm;break-inside:avoid;page-break-inside:avoid;user-select:text}.ce-receipt-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4mm}.ce-receipt h2{font-size:17pt;font-weight:700;line-height:1.6;margin:0}.ce-receipt-heading>span{font-size:8pt;color:#75806d;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.ce-receipt p{font-size:10pt;line-height:1.9;margin:0 0 3mm}.ce-receipt table{font-size:8.5pt}.ce-receipt th:first-child{width:20%}.ce-receipt th:nth-child(2){width:19%}.ce-receipt th:nth-child(3){width:23%}.ce-receipt th:nth-child(4){width:38%}.ce-receipt .ce-receipt-note{font-size:8pt;line-height:1.75;color:#71796c;margin-top:5mm;margin-bottom:0}
.ce-canvas-caption{padding:12px 20px 16px;text-align:center;font-size:9px;color:#949888;line-height:1.7;margin:0}
.ce-sidebar{padding:20px 17px;display:grid;gap:16px;min-width:0}.ce-info-card{padding:0 0 17px;border-bottom:1px solid #e2e2d9;min-width:0}.ce-info-card:last-child{border:0;padding-bottom:0}.ce-info-card h3{font-size:12px;font-weight:500;line-height:1.7;margin:0 0 6px}.ce-info-card>p{font-size:10px;line-height:1.85;color:#8d9182;overflow-wrap:anywhere;margin:4px 0 13px}.ce-info-card>p:last-child{margin-bottom:0}.ce-meta-form{display:grid;gap:13px;margin-top:15px}.ce-meta-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#8a8e7f;min-width:0}.ce-meta-form input,.ce-meta-form textarea{width:100%;min-width:0;box-sizing:border-box;font-family:inherit;background:#fff;border:1px solid #dddcd3;border-radius:3px;font-size:12px;line-height:1.5;padding:9px;color:#454b3e}.ce-meta-form textarea{resize:vertical;min-height:72px}.ce-meta-form input:focus,.ce-meta-form textarea:focus{outline:1px solid #a08866;border-color:#a08866}.ce-meta-form input:disabled,.ce-meta-form textarea:disabled{color:#71796a;background:#eeeee6;opacity:1}.ce-meta-form small{font-size:9px;color:#a0a28f;line-height:1.7}.ce-meta-form input::placeholder,.ce-meta-form textarea::placeholder{color:#afb19f;font-size:11px}.ce-payment-card strong{display:block;font-size:25px;font-weight:450;letter-spacing:-.5px;color:#69775d;margin:12px 0 6px;font-variant-numeric:tabular-nums}.ce-payment-card [data-ce-payment-summary]>span{display:block;font-size:10px;color:#8a9480;line-height:1.7}.ce-payment-card>p{margin-top:12px}.ce-writing-help>p+p{margin-top:8px}
.ce-error{padding:12px 16px;margin:14px 24px;color:#9e4939;background:#fcf0e9;border:1px solid #ebd5c8;border-radius:3px;font-size:12px;line-height:1.8}
.ce-refresh-payments{padding:0;margin-top:11px;font-size:11px;line-height:1.8;color:#947853;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.ce-refresh-payments:disabled{opacity:.5;cursor:default}.ce-refresh-payments:focus-visible{outline:2px solid #9d825a;outline-offset:3px}
.ce-review-panel,.ce-leave-panel{margin:18px 24px;padding:18px 20px;border:1px solid #d9c9a9;border-radius:4px;background:#faf6ed}.ce-review-panel strong,.ce-leave-panel strong{font-size:13px;font-weight:500;line-height:1.8}.ce-review-panel p,.ce-leave-panel p{font-size:11px;line-height:1.8;color:#8b7d64;margin:5px 0 0}.ce-review-panel .ce-actions,.ce-leave-panel .ce-actions{margin-top:16px}.ce-verified{display:flex;align-items:flex-start;gap:11px;margin-top:15px;padding-top:14px;border-top:1px solid #e7dcc5}.ce-verified input{width:17px;height:17px;flex:none;padding:0;margin:2px 0 0;accent-color:#88734f}.ce-verified span{font-size:12px;line-height:1.8;color:#7c6c50}.ce-review-panel .ce-review-note{font-size:10px;color:#a09176;margin-top:8px;padding-left:28px}
.ce-shell [hidden]{display:none!important}.ce-print-frame{position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none}
.ce-template-upgrade{padding:10px;background:#edeae1;border:1px solid #ded9cd;border-radius:3px;margin:10px 0}
.ce-template-upgrade p{font-size:10px;line-height:1.7;margin:0 0 8px;color:#85816e}
.ce-template-upgrade .button{width:100%;font-size:11px;min-height:32px;padding:7px}
[data-ce-equipment]:not(:empty){margin-top:22px}
.ce-print-document{margin:0;background:white;page:ce-contract}.ce-print-document .ce-paper{box-shadow:none}
/* Keep the editing viewport tall; only the paper and details scroll. */
@media screen {
  dialog.contract-editor-dialog{width:1600px;max-width:calc(100% - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);min-height:0;overflow:hidden}
  dialog.contract-editor-dialog[open]{display:flex;flex-direction:column}
  .contract-editor-dialog>header{position:static;flex:none;padding:8px 16px;min-height:40px}
  .contract-editor-dialog>header h2{font-size:13px}
  .contract-editor-dialog #close-modal{width:26px;height:26px;padding:2px}
  .contract-editor-dialog #modal-content{display:flex;flex:1;min-height:0;overflow:hidden}
  .ce-shell{display:flex;flex-direction:column;flex:1;min-height:0}
  .ce-workbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e3db;flex:none}
  .ce-topline{flex:1;min-width:0;gap:12px;padding:0}
  .ce-topline h2{font-size:16px;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .ce-topline p{margin:2px 0 0;font-size:10px;line-height:1.6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .ce-state{font-size:10px;padding:4px 8px}
  .ce-commandbar{flex:none;flex-direction:column-reverse;align-items:flex-end;gap:3px;padding:0;border:0}
  .ce-save-state{font-size:10px;line-height:1.5}
  .ce-actions{gap:6px}
  .ce-actions .button{min-height:32px;padding:7px 11px}
  .ce-layout{position:relative;flex:1;min-height:0;align-items:stretch;overflow:hidden}
  .ce-details-hidden .ce-layout{grid-template-columns:minmax(0,1fr)}
  .ce-canvas{display:flex;flex-direction:column;min-height:0}
  .ce-toolbar{flex:none;flex-wrap:nowrap;gap:8px;min-height:42px;padding:5px 12px}
  .ce-format-tools{display:flex;align-items:center;gap:3px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}
  .ce-format-tools>*{flex:none;white-space:nowrap}
  .ce-toolbar button,.ce-toolbar select{padding:5px 7px;min-height:30px}
  .ce-paper-size{margin:0;padding:0;flex:none}
  .ce-toolbar .ce-details-toggle{flex:none;background:#fff;border-color:#deddd4;padding:5px 9px;white-space:nowrap}
  .ce-details-toggle span{display:inline-block;margin-left:5px;font-size:16px;line-height:12px}
  .ce-details-toggle[aria-expanded=true]{color:#8a704b}
  .ce-stage{flex:1;min-height:0;max-height:none;padding:14px 16px 24px}
  .ce-canvas-caption{flex:none;padding:5px 12px;font-size:9px;line-height:1.5}
  .ce-sidebar{min-height:0;overflow:auto;overscroll-behavior:contain;align-content:start;padding:16px;gap:14px;scrollbar-width:thin;background:#f6f5f1}
  .ce-details-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
  .ce-details-heading h3{margin:0}
  .ce-details-heading button{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:1px solid #deddd4;border-radius:3px;background:#fff;color:#858776;font-size:18px;cursor:pointer}
  .ce-details-heading button:hover{background:#ebe9e0}
  .ce-details-heading button:focus-visible{outline:2px solid #9d825a;outline-offset:2px}
  .ce-meta-form{gap:10px;margin-top:12px}
  .ce-meta-form label{gap:5px}
  .ce-info-card{padding-bottom:14px}
  .ce-error{flex:none;max-height:15dvh;overflow:auto;padding:8px 12px;margin:8px 16px;font-size:11px}
  .ce-review-panel,.ce-leave-panel{flex:0 1 auto;min-height:0;max-height:32dvh;overflow:auto;margin:8px 16px;padding:10px 14px}
  .ce-review-panel .ce-actions,.ce-leave-panel .ce-actions{margin-top:9px}
  .ce-verified{margin-top:8px;padding-top:8px}
}
@media screen and (max-width:1100px){
  .ce-workbar{gap:14px}
  .ce-layout{grid-template-columns:minmax(0,1fr)}
  .ce-canvas{border-right:0}
  .ce-sidebar{position:absolute;inset:0 0 0 auto;width:min(300px,100%);z-index:2;border-left:1px solid #deddd4;box-shadow:-8px 0 22px #30382b12}
  .ce-paper-size{display:none}
}
@media screen and (max-width:700px){
  dialog.contract-editor-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .contract-editor-dialog>header{padding:6px 12px;min-height:36px}
  .ce-workbar{display:block;padding:7px 10px}
  .ce-topline{gap:10px}
  .ce-topline h2{font-size:14px}
  .ce-topline p{font-size:9px}
  .ce-state{font-size:9px;padding:4px 7px}
  .ce-commandbar{flex-direction:column;align-items:stretch;gap:4px;margin-top:5px}
  .ce-save-state{font-size:9px}
  .ce-actions{gap:5px;justify-content:flex-start}
  .ce-actions .button{flex:1;min-height:34px;font-size:10px;padding:7px 8px}
  .ce-toolbar{padding:4px 8px;gap:5px}
  .ce-toolbar select{font-size:12px}
  .ce-toolbar .ce-details-toggle{font-size:10px;padding:5px 7px}
  .ce-stage{padding:10px 10px 20px}
  .ce-paper{margin:0}
  .ce-canvas-caption{font-size:8px;text-align:left;padding:4px 10px}
  .ce-sidebar{padding:14px;gap:14px}
  .ce-meta-form input,.ce-meta-form textarea{font-size:16px;padding:8px}
  .ce-review-panel,.ce-leave-panel{margin:6px 10px;padding:10px;max-height:32dvh}
  .ce-review-panel p,.ce-leave-panel p,.ce-verified span{font-size:10px}
  .ce-error{margin:6px 10px}
}
@page ce-contract{size:A4 portrait;margin:17mm 17mm 18mm}
@media print{html,body.ce-print-document{margin:0;padding:0;background:#fff}.ce-print-document .ce-paper{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;font-size:10.5pt;overflow:visible}.ce-print-document .ce-paper-meta{margin-bottom:5mm}.ce-print-document .ce-document-body{min-height:0;outline:0}.ce-print-document .ce-document-body h1{font-size:19pt}.ce-print-document .ce-document-body h1,.ce-print-document .ce-document-body h2,.ce-print-document .ce-document-body h3{break-after:avoid;page-break-after:avoid}.ce-print-document p{orphans:3;widows:3}.ce-print-document thead{display:table-header-group}.ce-print-document tr{break-inside:avoid;page-break-inside:avoid}.ce-print-document table{break-inside:auto;page-break-inside:auto}.ce-print-document .ce-receipt{break-inside:avoid;page-break-inside:avoid}.ce-print-document .ce-receipt-heading>span{color:#555}.ce-print-document .ce-receipt-note{color:#555}.ce-print-document th{background:#f5f6f3;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
