#contracts{padding-top:104px;padding-bottom:64px}#contracts .title{margin-top:3.2rem;margin-bottom:1.2rem;display:flex;justify-content:center;align-items:center;color:#2e3949;font-size:1.625rem;font-weight:700}#contracts .content{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:24px;width:100%;max-width:none;margin:28px 0 48px;padding:0;box-sizing:border-box}.preview-area{order:2;min-width:0}.preview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}.preview-heading span{color:#2e3949;font-size:14px;font-weight:800}.preview-heading small{color:#7c8797;font-size:12px}.preview-frame{position:relative;overflow:hidden;border:1px solid #e5e9ee;border-radius:14px;background:#f6f8fa}.preview-wrap{width:1120px;display:flex;justify-content:flex-start;transform-origin:top left}.preview{background:#fff;box-shadow:0 4px 18px rgba(31,41,55,.08)}.panel{position:sticky;top:126px;order:1;align-self:start;max-height:calc(100vh - 148px);overflow-y:auto;background:#fff;border:1px solid #e4e8ed;border-radius:14px;padding:20px;box-shadow:0 8px 22px rgba(31,41,55,.04)}.panel-heading{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eef0f3}.panel-heading h2{margin:0;color:#2e3949;font-size:18px;letter-spacing:-.03em}.panel-heading p{margin:6px 0 0;color:#788495;font-size:12px;line-height:1.5}.panel-title{margin:18px 0 10px;color:#3e4a5c;font-size:14px;font-weight:800}.panel-heading+.panel-title{margin-top:0}.hr{height:1px;background:#f0f0f0;margin:16px 0}.group{display:grid;gap:12px}.card{border:1px solid #f0f0f0;background:#fbfbfb;border-radius:10px;padding:12px}.row{display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.row,.switch{align-items:center}.switch{display:inline-flex;gap:8px;font-size:13px}.input{width:100%;box-sizing:border-box;border:1px solid #e6e6e6;border-radius:8px;padding:10px 12px;font-size:13px;outline:none;transition:border .15s ease,box-shadow .15s ease;background:#fff}.input:focus{border-color:#c7c7ff;box-shadow:0 0 0 3px rgba(100,108,255,.12)}.input.textarea{min-height:120px;resize:vertical}.input.color{padding:.25rem;height:40px}.file{border:1px dashed #e5e5e5;border-radius:8px;padding:8px 10px;background:#fff}.style-grid{display:grid;grid-template-columns:1fr;gap:12px}.style-label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.btns{position:sticky;bottom:-20px;display:flex;justify-content:center;gap:10px;margin:18px -20px -20px;padding:14px 20px;border-top:1px solid #eef0f3}.btn,.btns{background:#fff}.btn{appearance:none;border:1px solid #dcdcdc;padding:10px 14px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700;transition:background .15s ease,border-color .15s ease,transform .02s}.btn:hover{background:#f7f7f7;border-color:#cfcfcf}.btn:active{transform:translateY(1px)}.btn.primary{color:#f45e5e;background-color:#ffe8e8;border:1px solid #ffdbdb;box-shadow:4px 2px 16px 0 hsla(0,100%,95%,.48),-4px -2px 16px 0 #fff}.btn.primary:hover{background-color:#ffdbdb}.btn.add{background:#eef6ff;border-color:#d6e8ff;color:#2364db}.btn.add:hover{background:#e3f0ff}.btn.danger{background:#ffe8e8;color:#e53935;border-color:#ffcccc}.btn.danger:hover{background:#ffdbdb}.btn.sm{padding:6px 10px;border-radius:8px;font-size:12px}@media (max-width:960px){#contracts .content{grid-template-columns:1fr}.preview-area{order:1}.panel{position:static;order:2;max-height:none}.preview-wrap{transform-origin:top center}}@media (max-width:640px){#contracts{padding-top:64px;padding-bottom:48px}.preview-heading{align-items:flex-start;flex-direction:column;gap:4px}.panel{padding:16px}.btns{bottom:-16px;margin:18px -16px -16px;padding:12px 16px}}