:root{font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;color:#18211e;background:#f3f5f3;font-synthesis:none;--green-950: #12362e;--green-900: #173f35;--green-800: #1f5647;--green-100: #e2eee9;--ink: #18211e;--muted: #6c7773;--line: #dde3df;--paper: #ffffff;--red: #bc3d36}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled,fieldset:disabled button{cursor:not-allowed;opacity:.55}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh;background:#f3f5f3}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 16px 18px;color:#dce9e4;background:var(--green-950)}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 26px;color:#fff;text-decoration:none}.brand-logo{display:block;width:38px;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#fff;object-fit:cover}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{margin-top:3px;color:#91aaa0;font-size:11px}.side-nav{display:grid;gap:5px}.side-nav-item{display:flex;align-items:center;gap:11px;height:42px;padding:0 12px;border-radius:5px;color:#9fb5ad;font-size:14px;text-decoration:none}.side-nav-item.active{color:#fff;background:#ffffff1a}.side-nav-item.active:after{width:3px;height:18px;margin-left:auto;border-radius:2px;background:#dbe7b7;content:""}.side-nav-item.disabled{opacity:.64}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:14px 3px 2px;border-top:1px solid rgba(255,255,255,.1);color:#8fa69d;font-size:13px}.sidebar-user{display:flex;align-items:center;min-width:0;gap:8px}.sidebar-user-icon{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;color:#31594c;background:#dbe7b7}.sidebar-user strong,.sidebar-user small{display:block;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{color:#dce9e4;font-size:11px}.sidebar-user small{margin-top:2px;color:#78938a;font-size:9px}.sidebar-footer>button{display:grid;flex:0 0 30px;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:4px;color:#8fa69d;background:transparent}.sidebar-footer>button:hover{color:#fff;background:#ffffff17}.auth-loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:100vh;color:#6e7b76;background:#f3f5f3;font-size:13px}.loading-ring{width:18px;height:18px;border:2px solid #c8d2ce;border-top-color:var(--green-800);border-radius:50%;animation:loading-spin .8s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.login-page{display:grid;grid-template-columns:minmax(380px,.92fr) minmax(460px,1.08fr);min-height:100vh;background:#f7f8f7}.login-brand-panel{position:relative;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:clamp(32px,5vw,68px);color:#fff;background:var(--green-950)}.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:11px}.login-brand-logo,.mobile-login-logo{display:block;width:40px;height:40px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:#fff;object-fit:cover}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:17px}.login-brand small{margin-top:3px;color:#9fb5ad;font-size:11px}.login-form-panel{display:grid;min-height:100vh;padding:48px clamp(28px,7vw,112px);place-items:center}.login-form-wrap{width:min(100%,410px)}.login-form-heading{margin-bottom:36px}.mobile-login-logo{display:none;margin-bottom:24px}.login-form-heading h2{margin:0 0 9px;color:#1d3029;font-family:Georgia,Songti SC,serif;font-size:30px;font-weight:700}.login-form-heading p{margin:0;color:#89938f;font-size:13px}.login-form{display:grid;gap:20px}.login-field{display:grid;gap:8px}.login-field>span{color:#52605b;font-size:12px;font-weight:700}.login-input-wrap{display:flex;align-items:center;height:48px;padding:0 13px;border:1px solid #d2dad6;border-radius:5px;color:#87928d;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#6f9486;box-shadow:0 0 0 3px #1f564717}.login-input-wrap input{min-width:0;flex:1;height:100%;margin-left:10px;border:0;outline:0;color:#1e2c27;background:transparent;font-size:14px}.login-input-wrap input::placeholder{color:#aeb6b2}.login-input-wrap button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:4px;color:#7d8984;background:transparent}.login-input-wrap button:hover{color:var(--green-800);background:#f0f4f2}.login-error{margin-top:-5px;padding:10px 12px;border-left:3px solid #bd4b43;color:#913d37;background:#f9ebe9;font-size:12px}.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;margin-top:4px;padding:0 17px;border:1px solid var(--green-900);border-radius:5px;color:#fff;background:var(--green-900);box-shadow:0 8px 20px #12362e29;font-size:14px;font-weight:700}.login-submit:hover:not(:disabled){background:var(--green-800)}.login-footer{margin:34px 0 0;color:#a2aaa6;font-size:10px;text-align:center}.admin-main{min-width:0;padding:34px clamp(24px,4vw,58px) 64px}.admin-header,.editor-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1360px;margin:0 auto 26px}.eyebrow,.editor-id{display:block;margin-bottom:6px;color:#71807a;font-size:12px;font-weight:700;text-transform:uppercase}.admin-header h1,.editor-header h1{margin:0;color:var(--green-950);font-family:Georgia,Songti SC,serif;font-size:31px;line-height:1.15}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 17px;border-radius:5px;font-size:14px;font-weight:700}.primary-button{border:1px solid var(--green-900);color:#fff;background:var(--green-900);box-shadow:0 4px 12px #12362e21}.primary-button:hover:not(:disabled){background:var(--green-800)}.secondary-button{border:1px solid #cfd7d3;color:#34433e;background:#fff}.stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1360px;margin:0 auto 22px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 2px 10px #18282209}.stat-cell{display:flex;align-items:center;gap:13px;min-width:0;padding:21px 22px}.stat-cell+.stat-cell{border-left:1px solid var(--line)}.stat-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:7px}.stat-icon.green{color:#25654f;background:#e4f0eb}.stat-icon.amber{color:#8a671d;background:#f5ecd3}.stat-icon.blue{color:#356382;background:#e3edf4}.stat-icon.red{color:#a9443e;background:#f5e4e2}.stat-cell small,.stat-cell strong{display:block}.stat-cell small{margin-bottom:4px;color:#78837f;font-size:12px}.stat-cell strong{overflow:hidden;color:#1d2a26;font-family:Georgia,serif;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.contract-list-section{max-width:1360px;margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:14px 20px;border-bottom:1px solid var(--line)}.list-toolbar>div{display:flex;align-items:baseline;gap:10px}.list-toolbar h2{margin:0;color:#22302b;font-size:16px}.record-count{color:#8a948f;font-size:12px}.search-box{display:flex;align-items:center;gap:8px;width:min(310px,45vw);height:38px;padding:0 11px;border:1px solid #d9dfdc;border-radius:5px;color:#7b8782;background:#fafbfa}.search-box:focus-within{border-color:#7b9c90;box-shadow:0 0 0 3px #1f564717}.search-box input{min-width:0;width:100%;border:0;outline:0;color:#26322e;background:transparent;font-size:13px}.table-wrap{overflow-x:auto}.contract-table{width:100%;border-collapse:collapse}.contract-table th{height:42px;padding:0 18px;color:#7f8a85;background:#f8f9f8;font-size:11px;font-weight:700;text-align:left;white-space:nowrap}.contract-table td{height:74px;padding:11px 18px;border-top:1px solid #edf0ee;font-size:13px;vertical-align:middle}.contract-table tbody tr:hover{background:#fbfcfb}.contract-name{display:block;max-width:280px;padding:0;border:0;color:inherit;background:transparent;text-align:left}.contract-name strong,.contract-name span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-name strong{margin-bottom:5px;color:#23312c;font-size:13px}.contract-name span{color:#8a948f;font-family:Consolas,monospace;font-size:11px}.client-cell{display:flex;align-items:center;gap:9px}.client-avatar{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;color:#31594c;background:#e4ece8;font-size:12px;font-weight:700}.client-cell strong,.client-cell small{display:block;white-space:nowrap}.client-cell strong{margin-bottom:3px;font-size:13px}.client-cell small{color:#929b97;font-size:11px}.money-cell{color:#26342f;font-family:Georgia,serif;font-weight:700}.muted-cell{color:#77827e;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:6px;color:#8b681f;font-size:12px;white-space:nowrap}.status-badge i{width:7px;height:7px;border-radius:50%;background:#d5a647}.status-badge.signed{color:#2d6c55}.status-badge.signed i{background:#4d9b77}.row-actions{display:flex;justify-content:flex-end;gap:4px}.row-actions button,.icon-button{display:inline-grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid transparent;border-radius:5px;color:#65736e;background:transparent}.row-actions button:hover,.icon-button:hover{border-color:#d8dfdb;color:var(--green-800);background:#f5f8f6}.empty-cell{height:130px!important;color:#8a948f;text-align:center}.toast,.sign-success{position:fixed;z-index:50;right:26px;bottom:26px;display:flex;align-items:center;gap:8px;padding:13px 16px;border:1px solid #bfd5cb;border-radius:6px;color:#235a47;background:#f4fbf7;box-shadow:0 12px 32px #173f352e;font-size:13px;font-weight:700}.editor-header{align-items:center}.editor-title-row,.editor-actions{display:flex;align-items:center;gap:10px}.back-button{margin-right:3px;border-color:#d7dedb;background:#fff}.editor-id{margin-bottom:3px;font-family:Consolas,monospace;font-size:11px}.editor-header h1{font-family:inherit;font-size:21px}.locked-label{display:inline-flex;align-items:center;gap:5px;margin-left:6px;padding:5px 8px;border-radius:4px;color:#7a5551;background:#f4e9e7;font-size:11px;font-weight:700}.lock-notice,.error-notice{display:flex;align-items:center;gap:8px;max-width:1360px;margin:-10px auto 18px;padding:11px 13px;border:1px solid #e7d6b5;border-radius:5px;color:#745821;background:#fff9ec;font-size:12px}.error-notice{border-color:#e7c7c3;color:#8b3a34;background:#fff4f2}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;max-width:1360px;margin:0 auto;align-items:start}.editor-panel{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}.segmented-tabs{display:flex;gap:4px;padding:12px 18px 0;border-bottom:1px solid var(--line)}.segmented-tabs button{position:relative;min-width:102px;height:42px;padding:0 12px;border:0;color:#77827e;background:transparent;font-size:13px;font-weight:700}.segmented-tabs button.active{color:var(--green-800)}.segmented-tabs button.active:after{position:absolute;right:10px;bottom:-1px;left:10px;height:2px;background:var(--green-800);content:""}.segmented-tabs button span{margin-left:4px;color:#9aa49f;font-size:10px}.editor-panel fieldset{min-width:0;margin:0;padding:0;border:0}.form-content{padding:4px 26px 30px}.form-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;padding:28px 0}.form-section+.form-section{border-top:1px solid #e8ece9}.form-section-heading{display:flex;gap:12px;align-items:flex-start}.form-section-heading>span{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:4px;color:#2e6251;background:#e4eee9;font-family:Georgia,serif;font-size:11px;font-weight:700}.form-section-heading h2,.form-section-heading p{margin:0}.form-section-heading h2{margin:2px 0 6px;color:#28352f;font-size:14px}.form-section-heading p{color:#929b97;font-size:11px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}.form-field{display:grid;gap:7px;min-width:0}.form-field.wide{grid-column:1 / -1}.form-field>span{color:#66736e;font-size:11px;font-weight:700}.form-field input,.form-field select,.clause-title-input,.clause-fields textarea{width:100%;border:1px solid #d9dfdc;border-radius:4px;outline:0;color:#22302b;background:#fff}.form-field input{height:40px;padding:0 11px;font-size:13px}.form-field select{height:40px;padding:0 10px;font-size:13px}.form-field input:focus,.form-field select:focus,.clause-title-input:focus,.clause-fields textarea:focus{border-color:#6e9788;box-shadow:0 0 0 3px #1f564714}fieldset:disabled input,fieldset:disabled textarea,fieldset:disabled select{color:#707976;background:#f4f6f5}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;align-content:start}.check-field{display:flex;align-items:center;gap:8px;min-height:36px;color:#40514a;font-size:12px}.check-field input{width:16px;height:16px;accent-color:var(--green-800)}.clauses-content{padding:24px 26px 32px}.clause-editor{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:13px;padding:0 0 24px}.clause-editor+.clause-editor{padding-top:24px;border-top:1px solid #e8ece9}.clause-number{padding-top:10px;color:#819089;font-family:Georgia,serif;font-size:12px;font-weight:700}.clause-fields{display:grid;gap:9px}.clause-title-input{height:40px;padding:0 11px;color:#203b32;font-size:14px;font-weight:700}.clause-fields textarea{min-height:112px;padding:11px;resize:vertical;font-size:12px;line-height:1.75}.remove-clause{margin-top:3px;color:#9a7772}.add-clause-button{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 47px);height:42px;margin-left:47px;border:1px dashed #b9c9c2;border-radius:5px;color:#356555;background:#f8fbf9;font-size:13px;font-weight:700}.editor-side-panel{position:sticky;top:24px}.preview-sheet-mini{position:relative;aspect-ratio:.72;overflow:hidden;padding:28px 22px;border:1px solid #dce2df;background:#fff;box-shadow:0 10px 30px #18282214}.mini-label{display:block;margin-bottom:22px;color:#99a39f;font-size:9px;font-weight:700;text-transform:uppercase}.preview-sheet-mini>strong{display:block;margin-bottom:13px;color:#222a27;font-family:Songti SC,serif;font-size:14px;text-align:center}.mini-rule{height:1px;margin-bottom:20px;background:#dce0de}.preview-sheet-mini p{margin:0 0 8px;color:#6c7773;font-size:9px}.mini-lines{display:grid;gap:9px;margin-top:22px}.mini-lines i{display:block;width:100%;height:3px;background:#e5e8e6}.mini-lines i:nth-child(2),.mini-lines i:nth-child(4){width:84%}.preview-sheet-mini img{position:absolute;right:22px;bottom:22px;width:82px;opacity:.8}.side-preview-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:40px;margin-top:12px;border:1px solid #ced8d3;border-radius:5px;color:#315f50;background:#fff;font-size:12px;font-weight:700}.danger-action{color:#a24e48!important}.row-actions button:disabled{cursor:not-allowed;opacity:.35}.users-error{max-width:1360px;margin:-10px auto 18px}.user-form-panel,.users-list-section{max-width:1360px;margin:0 auto 22px;border:1px solid var(--line);border-radius:7px;background:#fff}.user-form-panel{padding:22px 26px 26px}.user-form-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.user-form-heading h2{margin:0;color:#28352f;font-size:18px}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}.user-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;grid-column:1 / -1;margin-top:4px}.users-list-section{overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{height:42px;padding:0 18px;color:#7f8a85;background:#f8f9f8;font-size:11px;font-weight:700;text-align:left}.users-table td{height:62px;padding:11px 18px;border-top:1px solid #edf0ee;font-size:13px}.role-badge{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:4px;color:#53645d;background:#edf1ef;font-size:11px;font-weight:700}.role-badge.superadmin,.role-badge.mentor{color:#315f50;background:#e2f0e9}.role-badge.analyst{color:#805d18;background:#f7edd5}.editor-tip{display:flex;gap:10px;margin-top:14px;padding:13px;border-left:2px solid #b5c9bf;color:#71807a;background:#e9efec;font-size:10px;line-height:1.6}.editor-tip svg{flex:0 0 auto;color:#467261}.editor-tip strong{display:block;margin-bottom:2px;color:#39564b;font-size:11px}.template-context-bar{display:flex;align-items:center;gap:8px;max-width:1360px;min-height:38px;margin:-10px auto 18px;padding:8px 12px;border:1px solid #d9e2de;border-radius:6px;color:#73807b;background:#f9fbfa;font-size:12px}.template-context-bar strong{color:#2b443a}.template-context-bar i{width:1px;height:16px;margin:0 4px;background:#d6dfdb}.template-page-header{align-items:center}.template-total{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid #d4ddd9;border-radius:5px;color:#53645d;background:#fff;font-size:12px}.template-library{max-width:1360px;margin:0 auto}.template-category-tabs{display:flex;align-items:center;gap:4px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line)}.template-category-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:5px;color:#68756f;background:transparent;font-size:13px;font-weight:700}.template-category-tabs button small{display:grid;min-width:20px;height:20px;place-items:center;border-radius:10px;color:#718079;background:#e9eeeb;font-size:10px}.template-category-tabs button.active{border-color:#bed0c8;color:#fff;background:var(--green-900)}.template-category-tabs button.active small{color:var(--green-900);background:#e5efea}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;min-height:190px;padding:17px;border:1px solid #dce3df;border-radius:7px;background:#fff;box-shadow:0 2px 9px #18282209}.template-card-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:6px;color:#245947;background:#e4eee9}.template-card-copy{min-width:0}.template-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.template-card-heading h3{margin:1px 0 0;color:#20322b;font-size:15px}.template-card-heading span{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:#9e443e;font-size:10px}.template-card-copy p{min-height:38px;margin:9px 0 8px;color:#68756f;font-size:12px;line-height:1.6}.template-card-copy>small{color:#929b97;font-size:10px}.template-card>button{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;align-self:end;width:100%;height:36px;padding:0 11px;border:1px solid #cfd9d5;border-radius:5px;color:#315448;background:#f8faf9;font-size:12px;font-weight:700}.template-card>button:hover:not(:disabled){border-color:var(--green-800);color:#fff;background:var(--green-800)}.template-picker-state{display:grid;min-height:180px;place-items:center;color:#7f8985;font-size:13px}.template-error{max-width:1360px;margin-right:auto;margin-left:auto}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;padding:28px;place-items:center;background:#0b1c1794}.template-picker-dialog{width:min(1040px,100%);max-height:min(780px,calc(100vh - 56px));overflow:auto;padding:22px;border-radius:7px;background:#f7f9f8;box-shadow:0 24px 70px #071b1447}.template-picker-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.template-picker-dialog h2{margin:0;color:var(--green-950);font-family:Georgia,Songti SC,serif;font-size:24px}.state-page,.public-state{display:grid;min-height:70vh;place-content:center;gap:7px;color:#77827e;text-align:center}.state-page strong,.public-state strong{color:#28352f;font-size:18px}.contract-page{min-height:100vh;color:#000;background:#fff}.public-actions{display:flex;justify-content:flex-end;width:min(880px,calc(100% - 28px));margin:0 auto 12px}.public-download-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid #c8d7d0;border-radius:5px;color:#315f50;background:#fff;font-size:12px;font-weight:700}.public-download-button:disabled{opacity:.6}.contract-document{width:92%;margin:0 auto;padding:20px 0 50px;font-family:Arial,Microsoft YaHei,sans-serif;font-size:16px;line-height:30px}.contract-document>h1{width:100%;margin:0;font-size:20px;font-weight:700;line-height:30px;text-align:center}.contract-document p{margin:0;text-indent:2em;break-inside:avoid;page-break-inside:avoid}.contract-notice{margin-top:35px;font-weight:700}.contract-notice h2{margin:0;font-size:16px;line-height:30px;text-align:center}.party-info{padding-top:30px}.party-info p,.company-info p,.signatures p{text-indent:0}.contract-value{display:inline-block;min-width:60px;padding:0 5px;border-bottom:1px solid #000;line-height:24px;text-align:center;vertical-align:baseline}.contract-value.tiny{min-width:40px}.contract-value.short{min-width:60px}.contract-value.name{min-width:150px}.contract-value.id-number{min-width:200px}.contract-value.address{min-width:400px}.contract-value.long{min-width:180px}.contract-section h2{margin:0;padding:8px 0;font-size:16px;font-weight:700;line-height:30px;text-indent:2em;break-after:avoid;page-break-after:avoid}.contract-section p.deep-indent{text-indent:4em}.custom-document{max-width:960px}.custom-document>h1{margin-bottom:32px;font-size:24px}.custom-document .contract-section{margin-top:14px}.custom-document .contract-section h2{padding:9px 0 3px;text-indent:0}.custom-document .contract-section p{margin:3px 0;text-indent:0}.contract-table-scroll{width:100%;margin:12px 0 18px;overflow-x:auto;break-inside:avoid;page-break-inside:avoid}.document-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px;line-height:1.5}.document-table th,.document-table td{padding:10px 9px;border:1px solid #777;color:#111;background:#fff;text-align:center;vertical-align:middle}.document-table th{background:#f0f1f0;font-weight:700}.survey-rating-cell{text-align:center}.survey-rating-control{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:28px;min-height:28px;cursor:pointer}.survey-rating-control input{width:16px;height:16px;margin:0;accent-color:#1f5647}.survey-rating-control span,.survey-mark{color:#1f5647;font-size:16px;font-weight:700;line-height:1}.acknowledgement{font-weight:700}.signatures{padding-top:3px;scroll-margin-top:18px;break-inside:avoid;page-break-inside:avoid}.party-a-signature{min-height:145px}.signature-image{display:block;width:auto;max-width:345px;height:90px;margin-left:2em;object-fit:contain;object-position:left center}.party-b-signature{position:relative;min-height:180px;padding-top:18px}.party-b-signature.without-seal{min-height:90px}.company-seal{position:absolute;top:-12px;left:90px;width:180px;height:180px;object-fit:contain;opacity:.86}.signature-tool{width:min(520px,100%);margin:10px 0 20px;padding:12px;border:1px solid #b9c8c1;border-radius:6px;background:#f8faf9;box-shadow:0 4px 14px #173f350f}.signature-tool-head{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:8px;color:#29483e;font-size:13px;line-height:1}.icon-text-button{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:0;color:#5c6b66;background:transparent;font-size:12px}.signature-canvas-wrap{position:relative;width:100%;height:190px;overflow:hidden;border:1px solid #718e82;background-color:#fff;background-image:linear-gradient(#edf1ef 1px,transparent 1px);background-size:100% 50%}.signature-canvas{position:relative;z-index:2;display:block;width:100%;height:100%;touch-action:none}.signature-placeholder{position:absolute;z-index:1;top:50%;left:50%;color:#b3bcb8;font-size:13px;line-height:1;pointer-events:none;transform:translate(-50%,-50%)}.confirm-sign-button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:42px;margin-top:11px;border:1px solid var(--green-900);border-radius:5px;color:#fff;background:var(--green-900);font-size:13px;font-weight:700}.confirm-sign-button:disabled{border-color:#aebbb5;color:#f4f6f5;background:#9eada7}.sign-error{margin:-8px 0 10px!important;color:#a13e37;font-size:12px;text-indent:0!important}.sign-success{color:#fff;background:var(--green-900);border-color:var(--green-900)}@media(max-width:980px){.login-page{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)}.admin-app{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:20px 10px}.brand{justify-content:center;padding:0 0 25px}.brand>span:last-child,.side-nav-item span,.sidebar-user>span:last-child,.side-nav-item.active:after{display:none}.side-nav-item,.sidebar-footer{justify-content:center;padding-right:0;padding-left:0}.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-side-panel{display:none}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.login-page{display:block;min-height:100vh}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:32px 22px}.mobile-login-logo{display:block}.login-form-heading{margin-bottom:30px}.login-form-heading h2{font-size:27px}.admin-app{display:block}.sidebar{position:static;flex-direction:row;align-items:center;width:100%;height:62px;padding:10px 14px}.brand{justify-content:flex-start;padding:0}.brand>span:last-child{display:block}.brand small{display:none}.brand-logo{width:34px;height:34px}.side-nav{display:none}.sidebar-footer{display:flex;margin:0 0 0 auto;padding:0;border:0}.sidebar-user{display:none}.sidebar-footer>button{color:#b7cbc3}.admin-main{padding:24px 14px 48px}.admin-header,.editor-header{align-items:center;margin-bottom:20px}.admin-header h1{font-size:26px}.primary-button{padding:0 13px}.stat-cell{padding:15px}.stat-strip{grid-template-columns:1fr}.stat-cell+.stat-cell{border-top:1px solid var(--line);border-left:0}.stat-icon{width:34px;height:34px;flex-basis:34px}.stat-cell strong{font-size:18px}.list-toolbar{align-items:stretch;flex-direction:column;padding:15px}.search-box{width:100%}.contract-table thead{display:none}.contract-table,.contract-table tbody,.contract-table tr,.contract-table td{display:block}.contract-table tr{position:relative;padding:15px;border-top:1px solid #edf0ee}.contract-table td{height:auto;min-height:0;padding:4px 0;border:0}.contract-table td:before{content:attr(data-label);display:inline-block;width:66px;color:#909995;font-size:10px;vertical-align:middle}.contract-table td:first-child:before,.contract-table td:nth-child(2):before,.contract-table td:last-child:before{display:none}.contract-table td:nth-child(2){margin:10px 0 4px}.client-cell{display:inline-flex}.contract-name{max-width:100%}.row-actions{position:static;justify-content:flex-start;margin-top:8px;transform:none}.users-table thead{display:none}.users-table,.users-table tbody,.users-table tr,.users-table td{display:block}.users-table tr{padding:13px 15px;border-top:1px solid #edf0ee}.users-table td{height:auto;min-height:0;padding:4px 0;border:0}.users-table td:before{content:attr(data-label);display:inline-block;width:66px;color:#909995;font-size:10px;vertical-align:middle}.editor-title-row{min-width:0}.editor-title-row>div{min-width:0}.editor-header h1{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.editor-actions .secondary-button{width:40px;padding:0}.editor-actions .secondary-button svg+*{display:none}.editor-actions .primary-button{width:40px;padding:0;font-size:0}.editor-actions .primary-button svg{width:18px}.locked-label{display:none}.form-content,.clauses-content{padding-right:15px;padding-left:15px}.form-section{grid-template-columns:1fr;gap:18px}.form-grid,.user-form-grid,.checkbox-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.clause-editor{grid-template-columns:24px minmax(0,1fr) 30px;gap:7px}.add-clause-button{width:calc(100% - 31px);margin-left:31px}.contract-document{width:92%;padding-top:18px;font-size:15px;line-height:28px}.contract-document>h1{font-size:19px;line-height:28px}.contract-notice h2,.contract-section h2{font-size:15px;line-height:28px}.contract-value.address{min-width:min(400px,72vw)}.contract-value.id-number{min-width:190px}.contract-value.long{max-width:88vw;overflow-wrap:anywhere}.contract-section p.deep-indent{text-indent:2em}.signature-tool{width:100%;padding:9px}.signature-canvas-wrap{height:170px}.template-grid{grid-template-columns:1fr}.template-category-tabs{overflow-x:auto}.template-category-tabs button{flex:0 0 auto}.modal-backdrop{align-items:end;padding:0}.template-picker-dialog{max-height:88vh;padding:18px 14px;border-radius:7px 7px 0 0}.template-context-bar{flex-wrap:wrap;margin-top:-4px}.custom-document>h1{margin-bottom:22px;font-size:20px}.company-seal{left:72px;width:160px;height:160px}.toast,.sign-success{right:14px;bottom:14px;left:14px;justify-content:center}}@media print{.signature-tool{display:none}.contract-document{width:92%;padding-bottom:0}}
