@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Noto Serif;src:url(/fonts/NotoSerif-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}.contract-doc{--accent:#1a1a1a;color:#222;text-rendering:optimizelegibility;box-sizing:border-box;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:18mm 16mm;font-family:Noto Serif,Georgia,Times New Roman,serif;font-size:10.5pt;line-height:1.25;box-shadow:0 4px 24px #00000040}.contract-header{letter-spacing:.5px;text-transform:uppercase;color:#999;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:8.5pt;display:flex}.contract-logo{object-fit:contain;width:auto;height:26px}.contract-titleblock{text-align:center;margin-bottom:22px}.contract-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0;font-size:16pt;font-weight:700}.contract-title-rule{border-top:1.5px solid var(--accent);width:56px;height:0;margin:8px auto 0;display:block}.contract-body .c-p{text-align:justify;orphans:2;widows:2;margin:0 0 7px;line-height:1.25}.contract-body .c-h2{letter-spacing:.4px;color:var(--accent);break-after:avoid;border-bottom:.5px solid #ddd;margin:18px 0 9px;padding-bottom:4px;font-size:11.5pt;font-weight:700}.contract-body .c-h3{break-after:avoid;margin:12px 0 5px;font-size:11pt;font-weight:700}.contract-body .c-quote{break-inside:avoid;border-left:2px solid #ccc;margin:0 0 8px 12px;padding-left:10px;font-style:italic}.contract-body .c-ul,.contract-body .c-ol{margin:0 0 7px;padding-left:22px}.contract-body .c-li{text-align:justify;break-inside:avoid;margin-bottom:5px;line-height:1.25}.contract-body .c-var{font-weight:700}.contract-body .c-u{text-decoration:underline}.contract-body .c-link{color:var(--accent);text-decoration:underline}.contract-footer{text-align:center;letter-spacing:.4px;color:#999;border-top:.5px solid #ddd;margin-top:26px;padding-top:6px;font-size:8.5pt}.contract-doc.is-debug .contract-body *,.contract-doc.is-debug .contract-header,.contract-doc.is-debug .contract-titleblock,.contract-doc.is-debug .contract-footer{outline:1px solid #dc000059}@page{size:A4;margin:18mm 16mm}@media print{.contract-doc{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.contract-doc.is-debug .contract-body *,.contract-doc.is-debug .contract-header,.contract-doc.is-debug .contract-titleblock,.contract-doc.is-debug .contract-footer{outline:none}}
.contract-tool{font-family:var(--font-poppins),system-ui,sans-serif;color:#1a1a1a}@media (min-width:861px){.contract-tool{height:100vh;overflow:hidden}}.contract-empty{text-align:center;max-width:540px;margin:12vh auto;padding:0 24px}.contract-empty h1{margin-bottom:12px}.contract-empty a{color:#1a6cff;text-decoration:underline}.contract-generator{grid-template-columns:380px 1fr;height:100vh;display:grid;overflow:hidden}@media (max-width:860px){.contract-generator{grid-template-columns:1fr;height:auto;overflow:visible}}.contract-generator .panel{background:#fafafa;border-right:1px solid #e6e6e6;padding:24px;overflow-y:auto}.contract-generator .panel h1{margin:0 0 20px;font-size:20px}.contract-generator .panel .template-desc{color:#666;margin:-8px 0 16px;font-size:13px}.contract-generator .panel .hint{color:#888;font-size:13px}.contract-generator .fields{flex-direction:column;gap:14px;margin-bottom:24px;display:flex}.contract-generator .field{flex-direction:column;gap:4px;display:flex}.contract-generator .field label{align-items:baseline;gap:6px;font-size:13px;font-weight:600;display:flex}.contract-generator .field label .required{color:#d23}.contract-generator .field label code{color:#999;background:#efefef;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:11px;font-weight:400}.contract-generator .field input,.contract-generator .field textarea,.contract-generator .field select{font:inherit;background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;padding:8px 10px;font-size:14px}.contract-generator .field input:focus,.contract-generator .field textarea:focus,.contract-generator .field select:focus{border-color:#1a6cff;outline:none;box-shadow:0 0 0 2px #1a6cff26}.contract-generator .field textarea{resize:vertical}.contract-generator .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contract-generator .download-btn,.contract-generator a .download-btn{color:#fff;cursor:pointer;background:#1a1a1a;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.contract-generator .update-btn{font:inherit;cursor:pointer;color:#1a6cff;background:#fff;border:1px solid #1a6cff;border-radius:6px;padding:10px 18px;font-size:14px;font-weight:600}.contract-generator .update-btn.is-dirty{color:#fff;background:#1a6cff}.contract-generator .update-btn:disabled{color:#aaa;cursor:default;background:#f4f4f4;border-color:#ccc}.contract-generator a{text-decoration:none}.contract-generator .debug-toggle{color:#666;cursor:pointer;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.contract-generator .debug-toggle input{cursor:pointer;width:auto;margin:0}.contract-generator .stale-hint{color:#a06a00;background:#fff7e6;border:1px solid #ffe2a8;border-radius:6px;margin-top:10px;padding:8px 10px;font-size:12px}.contract-generator .preview{background:#525659;overflow:auto}@media (max-width:860px){.contract-generator .preview{height:80vh}}.contract-generator .preview-scroll{justify-content:center;min-height:100%;padding:28px;display:flex}.preview-status{color:#ddd;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}@media print{.contract-tool{height:auto!important;overflow:visible!important}.contract-generator{height:auto!important;display:block!important;overflow:visible!important}.contract-generator .panel{display:none!important}.contract-generator .preview{background:#fff!important;height:auto!important;display:block!important;overflow:visible!important}.contract-generator .preview-scroll{min-height:0!important;padding:0!important;display:block!important}}
