/*! 2026-7-18 11:56:12 */:root{--primary-color:#409eff;--success-color:#67c23a;--warning-color:#e6a23c;--danger-color:#f56c6c;--info-color:#909399;--orange-color:#ff7a45;--purple-color:#5a7cff;--bg-primary:#fff;--bg-secondary:#f5f7fa;--bg-tertiary:#fafafa;--bg-hover:#f0f9ff;--text-primary:#303133;--text-regular:#606266;--text-secondary:#909399;--text-placeholder:#c0c4cc;--border-base:#dcdfe6;--border-light:#e8e8e8;--border-lighter:#eee;--shadow-base:0 2px 12px 0 rgba(0,0,0,0.1);--shadow-hover:0 5px 15px rgba(0,0,0,0.1);--radius-base:8px;--radius-small:4px;--radius-mini:3px;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:20px}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-family)}body{background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6}.contract-management{width:100%;min-height:100vh;padding:var(--spacing-lg)}.summary-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);flex:1}.summary-card{background:var(--bg-primary);border-radius:var(--radius-base);padding:var(--spacing-lg);box-shadow:var(--shadow-base);display:flex;align-items:center;cursor:pointer;transition:all .3s ease}.summary-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.summary-card.active{border:2px solid var(--primary-color)}.summary-icon{width:50px;height:50px;border-radius:var(--radius-base);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-md);font-size:var(--font-size-xl)}.summary-content h3{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.summary-content .value{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary)}.summary-buttons{display:flex;gap:var(--spacing-md);margin-left:var(--spacing-lg)}.icon-total{background-color:#e9e9eb;color:var(--info-color)}.icon-negotiation{background-color:#fdf6ec;color:var(--warning-color)}.icon-wait_approval{background-color:#f0f4ff;color:var(--purple-color)}.icon-wait_sign{background-color:#ecf5ff;color:var(--primary-color)}.icon-wait_review{background-color:#fff2e8;color:var(--orange-color)}.icon-active{background-color:#f0f9eb;color:var(--success-color)}.icon-expired{background-color:#fde2e2;color:var(--danger-color)}.search-box{background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-base);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-base)}.search-form{flex-wrap:wrap;gap:var(--spacing-lg)}.search-form,.search-form-item{display:flex;align-items:center}.search-form-item{gap:var(--spacing-sm)}.search-form-item label{font-size:var(--font-size-base);color:var(--text-regular);font-weight:500;white-space:nowrap}.search-buttons{display:flex;gap:var(--spacing-sm);margin-left:auto}.action-status-buttons{display:flex;gap:var(--spacing-sm);margin-left:var(--spacing-lg);flex-wrap:wrap}.action-buttons-row{width:100%;margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.contract-table-container{background:var(--bg-primary);border-radius:var(--radius-base);padding:var(--spacing-lg);box-shadow:var(--shadow-base)}.contract-table{margin-top:var(--spacing-md)}.no-data{text-align:center;padding:50px var(--spacing-lg);color:var(--text-secondary)}.contract-type-tag,.sign-method-tag,.status-tag{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-small);font-size:var(--font-size-sm);font-weight:700;display:inline-block}.contract-type-tag,.sign-method-tag{font-size:var(--font-size-xs);margin-right:var(--spacing-xs)}.contract-nature-main{background-color:#ecf5ff;color:var(--primary-color);border:1px solid #b3d8ff}.contract-nature-supplementary{background-color:#f0f9eb;color:var(--success-color);border:1px solid #c2e7b0}.sign-object-customer{background-color:#ecf5ff;color:var(--primary-color);border:1px solid #b3d8ff}.sign-object-supplier{background-color:#f0f9eb;color:var(--success-color);border:1px solid #c2e7b0}.sign-method-online{background-color:#ecf5ff;color:var(--primary-color);border:1px solid #b3d8ff}.sign-method-offline,.status-negotiation{background-color:#fdf6ec;color:var(--warning-color);border:1px solid #f5dab1}.status-wait_approval{background-color:#f0f4ff;color:var(--purple-color);border:1px solid #c3d1ff}.status-wait_sign{background-color:#ecf5ff;color:var(--primary-color);border:1px solid #b3d8ff}.status-wait_review{background-color:#fff2e8;color:var(--orange-color);border:1px solid #ffd8bf}.status-active{background-color:#f0f9eb;color:var(--success-color);border:1px solid #c2e7b0}.status-expired{background-color:#fef0f0;color:var(--danger-color);border:1px solid #fbc4c4}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.icon-button{padding:var(--spacing-xs)!important;margin:0 2px!important}.main-contract-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-mini);font-size:var(--font-size-xs);margin-right:8px;background-color:var(--primary-color);color:var(--bg-primary);font-weight:700}.supplementary-indent{padding-left:var(--spacing-xl)!important;background-color:var(--bg-tertiary)}.supplementary-indent .contract-code{position:relative}.supplementary-indent .contract-code:before{content:"├─";position:absolute;left:-20px;color:var(--text-placeholder)}.main-contract-row{border-bottom:2px solid #e0e0e0!important}.supplementary-contract-row{border-bottom:1px dashed var(--border-light)!important}.supplementary-contract-row:last-child{border-bottom:2px solid #e0e0e0!important}.contract-group{margin-bottom:var(--spacing-sm)}.expand-icon{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;cursor:pointer;color:var(--primary-color);margin-right:8px;transition:transform .3s;font-weight:700}.expand-icon.expanded{transform:rotate(90deg)}.supplementary-table{margin-top:var(--spacing-sm);background-color:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-small);overflow:hidden}.supplementary-table .el-table{background-color:transparent}.supplementary-table .el-table__header-wrapper{background-color:#f0f0f0}.supplementary-table .el-table__row{background-color:var(--bg-tertiary)}.supplementary-table .el-table__row:hover{background-color:var(--bg-hover)}.dialog-footer{text-align:right;margin-top:var(--spacing-lg)}.el-dialog__wrapper{overflow:hidden}.el-dialog__body{max-height:60vh;overflow-y:auto}.form-row{display:flex;flex-wrap:wrap;margin-bottom:calc(var(--spacing-lg)*-1)}.form-item{flex:1;min-width:250px;margin-right:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-section-title{font-size:var(--font-size-lg);color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.form-section-title:first-child{margin-top:0}.template-dialog .el-dialog{width:850px}.file-preview-dialog .el-dialog{width:800px}.upload-sign-dialog .el-dialog{width:600px}.approve-dialog .el-dialog{width:500px}.renew-dialog .el-dialog{max-height:80vh;overflow-y:auto}.contract-content-editor{height:300px;margin-bottom:var(--spacing-lg)}.contract-content-editor .ql-container{height:250px;font-size:var(--font-size-base);border-bottom-left-radius:var(--radius-small);border-bottom-right-radius:var(--radius-small)}.contract-content-editor .ql-editor{min-height:250px;line-height:1.8}.contract-content-editor .ql-toolbar{border-top-left-radius:var(--radius-small);border-top-right-radius:var(--radius-small);background-color:var(--bg-tertiary)}.contract-content-editor .ql-editor p{margin-bottom:var(--spacing-sm)}.contract-content-editor .ql-editor.ql-blank:before{color:var(--text-placeholder)}.template-content-editor{min-height:400px;border:1px solid var(--border-base);border-radius:var(--radius-small)}.template-content-editor .ql-container{min-height:380px;font-size:var(--font-size-base);border-bottom-left-radius:var(--radius-small);border-bottom-right-radius:var(--radius-small)}.template-content-editor .ql-editor{min-height:380px;line-height:1.8}.template-content-editor .ql-toolbar{border-top-left-radius:var(--radius-small);border-top-right-radius:var(--radius-small);background-color:var(--bg-tertiary)}.template-content-editor .ql-editor p{margin-bottom:var(--spacing-sm)}.template-content-editor .ql-editor.ql-blank:before{color:var(--text-placeholder);font-style:normal}.contract-content-editor .ql-editor table,.template-content-editor .ql-editor table{border-collapse:collapse;width:100%;margin:var(--spacing-sm) 0}.contract-content-editor .ql-editor table td,.contract-content-editor .ql-editor table th,.template-content-editor .ql-editor table td,.template-content-editor .ql-editor table th{border:1px solid #ddd;padding:8px;min-width:50px}.contract-content-editor .ql-editor table th,.template-content-editor .ql-editor table th{background-color:var(--bg-secondary);font-weight:700;text-align:center}.contract-content-view{padding:var(--spacing-lg);min-height:200px;max-height:300px;overflow-y:auto}.contract-content-view,.file-preview-area{border:1px solid var(--border-base);border-radius:var(--radius-small);background-color:var(--bg-tertiary)}.file-preview-area{padding:var(--spacing-md);margin-top:var(--spacing-sm);height:500px;overflow:auto}.express-info{color:var(--text-regular);font-size:var(--font-size-base)}.el-form-item__content .el-button+span{vertical-align:middle}.template-management{margin-top:var(--spacing-lg);max-height:none;overflow-y:visible}.template-dialog .el-dialog__body{padding:var(--spacing-lg) var(--spacing-xl)}.status-option-description{font-size:var(--font-size-sm);color:var(--text-secondary);padding-left:var(--spacing-lg);margin-top:var(--spacing-xs)}.main-contract-expand{cursor:pointer;color:var(--primary-color);margin-left:var(--spacing-xs)}.supplementary-contracts{background-color:#f9f9f9;padding:var(--spacing-sm);border:1px solid #e6e6e6;border-radius:var(--radius-small);margin-top:var(--spacing-xs)}.supplementary-contract-item{display:flex;align-items:center;padding:8px var(--spacing-sm);border-bottom:1px solid var(--border-lighter)}.supplementary-contract-item:last-child{border-bottom:none}.contract-code-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-mini);font-size:var(--font-size-xs);margin-right:var(--spacing-xs);font-weight:700}.badge-main{background-color:var(--primary-color);color:var(--bg-primary)}.badge-supplementary{background-color:var(--success-color);color:var(--bg-primary)}.el-table-column[fixed=right]{min-width:450px!important}@media (max-width:768px){.contract-management{padding:var(--spacing-sm)}.summary-section{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.summary-buttons{margin-left:0;width:100%;justify-content:space-between}.summary-cards{grid-template-columns:repeat(2,1fr);width:100%}.search-form{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.search-form-item{width:100%}.action-status-buttons,.search-buttons{margin-left:0;width:100%;justify-content:flex-end}.action-status-buttons{margin-top:var(--spacing-sm)}.action-buttons-row{justify-content:center}.approve-dialog .el-dialog,.file-preview-dialog .el-dialog,.template-dialog .el-dialog,.upload-sign-dialog .el-dialog{width:90%}.el-table-column[fixed=right]{min-width:300px!important}}@media print{.action-buttons,.search-box,.summary-buttons{display:none!important}.contract-management{padding:0}.contract-table-container{box-shadow:none}}