.contract-view,.contract-form{max-width:1040px;margin:0 auto}.contract-toolbar{display:flex;justify-content:flex-end;gap:9px;margin-bottom:18px;flex-wrap:wrap}.contract-paper{--contract-ink:#263b2c;--contract-line:#e1e5e0;color:var(--contract-ink);background:#fff;border:1px solid #dce2db;border-top:4px solid #214d3a;padding:36px 48px 24px;box-shadow:0 14px 40px #23382c08;min-width:0;text-align:left}.contract-letterhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--contract-line);gap:16px}.contract-brand{display:flex;align-items:center;gap:11px}.contract-brand>span{display:grid;place-items:center;width:36px;height:36px;background:#203c30;padding:6px}.contract-brand img{width:100%;height:100%}.contract-brand strong{font-size:15px;letter-spacing:-.4px}.contract-brand small{display:block;color:#7b8980;font-size:9px;line-height:1.4;letter-spacing:1.8px}.contract-edition{font-size:9px;letter-spacing:1.9px;color:#7f897e}.contract-title{padding:28px 0 25px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.contract-title p{font-size:10px;letter-spacing:2px;color:#a58b56;margin:0 0 8px;font-weight:600}.wf .contract-title :is(h1,h2){font-family:Batang,'Noto Serif KR',serif;font-size:31px;letter-spacing:1px;font-weight:700;line-height:1.4;margin:0;color:#172b24}.contract-subtitle{font-size:14px;color:#617165;margin-top:10px;display:flex;gap:12px;flex-wrap:wrap;overflow-wrap:anywhere}.contract-subtitle span+span{border-left:1px solid #cfd7ce;padding-left:12px}.contract-tag{font-size:10px;padding:5px 9px;color:#657b6c;border:1px solid #dce5de;background:#f8faf7;white-space:nowrap}.contract-amount{background:#f3f7f3;padding:21px 25px;display:flex;justify-content:space-between;align-items:center;border-left:3px solid #a58b56;margin-bottom:26px;gap:20px}.contract-amount strong{display:block;font-size:13px;font-weight:600}.contract-amount small{display:block;font-size:10px;color:#718174;letter-spacing:.5px;margin-top:5px}.contract-amount>b{font-size:clamp(24px,3vw,34px);line-height:1.3;color:#204932;letter-spacing:-1px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.contract-section{margin:0 0 24px}.contract-section-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.contract-section-head>span{font-size:10px;letter-spacing:1px;color:#a58b56}.wf .contract-section-head h3{font-size:15px;margin:0;font-weight:700;letter-spacing:-.3px}.contract-section-head:after{content:'';height:1px;flex:1;background:var(--contract-line);margin-left:5px}.contract-facts{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:0}.contract-fact{padding:11px 0;border-bottom:1px solid #edf0eb;display:grid;grid-template-columns:112px minmax(0,1fr);gap:8px;align-items:start;font-size:13px}.contract-fact dt{color:#727f76;font-size:12px}.contract-fact dd{margin:0;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.contract-fact.wide{grid-column:1/-1}.contract-payments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cdd8cb;border-bottom:1px solid #cdd8cb;margin-bottom:14px}.contract-payment{padding:16px 16px;border:1px solid #edf0eb;border-top:0;border-bottom:0;min-width:0}.contract-payment>div{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#5f7465;overflow-wrap:anywhere}.contract-payment small{font-size:10px;color:#8e7b50;overflow-wrap:anywhere}.contract-payment strong{display:block;font-size:19px;margin-top:9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.contract-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#526458;line-height:1.95}.contract-footer{border-top:1px solid #ccd7ca;padding-top:13px;display:flex;justify-content:space-between;gap:12px;color:#7a8774;font-size:8px;letter-spacing:1.5px;margin-top:30px}.contract-view>.wf-history{margin-top:24px}.wf-expanded .contract-paper{margin:16px 0}.contract-editor .fields{gap:18px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}.contract-editor .field{font-size:12px;gap:8px;color:#65766b}.contract-editor .field input,.contract-editor .field select,.contract-editor .field textarea{min-height:45px;font-size:14px;max-width:100%;background:#fdfefd;border-color:#dce4db;border-radius:5px;color:#263b2c}.contract-editor .field textarea{min-height:100px;line-height:1.8}.contract-editor .wf-check{display:flex;flex-direction:row;align-items:center;align-self:center;gap:12px}.contract-editor .wf-check input{min-height:0;width:18px;height:18px}.contract-amount-edit .field{flex:1;font-size:13px}.contract-amount-edit input{font-size:28px!important;font-weight:700;letter-spacing:-.6px;background:#fff!important}.contract-payment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:13px}.contract-payment-row button{font-size:12px;min-height:45px}.contract-help{font-size:12px;color:#788778;line-height:1.7;margin:0 0 16px}.contract-payment-tools{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0 22px}.contract-payment-tools button{font-size:12px;min-height:40px}.contract-payment-tools output{font-size:12px;color:#426748}.contract-payment-tools output.mismatch{color:#9c5333}.contract-form .formfoot{max-width:1040px;margin-top:18px}.contract-form .inline-error:not(:empty){margin:16px 0}.contract-editor .contract-section{margin-bottom:32px}
@media screen and (max-width:1100px){.contract-paper{padding:28px}.contract-facts{grid-template-columns:1fr}.contract-payments{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-payment{padding:15px 10px}.contract-payment strong{font-size:17px}}
@media screen and (max-width:700px){.contract-paper{padding:23px 20px 20px;border-top-width:3px}.contract-letterhead{padding-bottom:20px;gap:10px}.contract-brand strong{font-size:13px}.contract-brand small{font-size:8px;letter-spacing:1.3px}.contract-brand>span{width:30px;height:30px}.contract-edition{font-size:8px;letter-spacing:1px}.contract-title{padding:25px 0 23px}.wf .contract-title :is(h1,h2){font-size:25px;letter-spacing:0}.contract-subtitle{font-size:12px}.contract-title p{font-size:8px}.contract-tag{display:none}.contract-amount{display:block;padding:16px 18px}.contract-amount>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.contract-amount small{font-size:8px;margin:0}.contract-amount>b{display:block;font-size:27px;margin-top:12px}.contract-fact{grid-template-columns:95px minmax(0,1fr);font-size:12px;gap:6px}.contract-fact dt{font-size:11px}.contract-payments{display:block}.contract-payment{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border:0;border-bottom:1px solid #e3e9df}.contract-payment:last-child{border:0}.contract-payment>div{display:grid;gap:5px}.contract-payment strong{font-size:17px;margin:0}.contract-prose{font-size:12px}.contract-footer{font-size:7px;letter-spacing:.8px}.contract-editor .fields{grid-template-columns:1fr}.contract-editor .field.full{grid-column:auto}.contract-editor .field input,.contract-editor .field select,.contract-editor .field textarea{font-size:16px}.contract-payment-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.contract-payment-row .field:first-child{grid-column:1/-1}.contract-payment-row{padding:14px 0;border-bottom:1px solid #e3e9df}.contract-payment-tools{align-items:flex-start;flex-direction:column}.contract-form .formfoot{margin:18px 0 0}.contract-form .formfoot .primary{min-width:0}.contract-amount-edit input{font-size:25px!important}}
@media print{body:has(.contract-view){background:white}body:has(.contract-view) .pagehead,body:has(.contract-view) .page-return,body:has(.contract-view) .contract-toolbar,body:has(.contract-view) .wf-history,body:has(.contract-view) .connection,body:has(.contract-view) #toast{display:none!important}.contract-view{max-width:none;margin:0}.contract-view .contract-paper{box-shadow:none;border:0;border-top:1.5mm solid #214d3a;padding:7mm 4mm 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.contract-view .contract-letterhead{padding-bottom:5mm}.contract-view .contract-title{padding:6mm 0 5mm}.contract-view .contract-title :is(h1,h2){font-size:24pt}.contract-view .contract-amount{padding:4mm 5mm;margin-bottom:6mm;break-inside:avoid}.contract-view .contract-amount>b{font-size:25pt}.contract-view .contract-section{margin-bottom:5mm}.contract-view .contract-section-head{break-after:avoid;margin-bottom:3mm}.contract-view .contract-fact{padding:2mm 0;font-size:9pt;break-inside:avoid}.contract-view .contract-fact dt{font-size:8pt}.contract-view .contract-facts{column-gap:5mm}.contract-view .contract-payment{break-inside:avoid;padding:3mm}.contract-view .contract-payment strong{font-size:12pt}.contract-view .contract-prose{font-size:9pt;orphans:3;widows:3}.contract-view .contract-footer{margin-top:6mm;break-inside:avoid}.contract-view .contract-brand{break-inside:avoid}@page{size:A4 portrait;margin:12mm 14mm}}

@media print{body:has(.contract-view) .workspace{background:#fff}}
