.page-container[data-v-b4a2f706]{padding:24px;background:#f1f5f9;min-height:calc(100vh - 120px)}.filter-bar[data-v-b4a2f706]{background:#fff;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.filter-bar .filter-left[data-v-b4a2f706]{display:flex;gap:12px;flex:1}.filter-bar .filter-left .el-input[data-v-b4a2f706]{width:200px}.filter-bar .filter-left .el-select[data-v-b4a2f706]{width:140px}.filter-bar .filter-right[data-v-b4a2f706]{display:flex;gap:8px}.filter-bar .filter-right .btn-primary[data-v-b4a2f706]{background:#2563eb;border:none;color:#fff;padding:0 20px;height:36px;border-radius:8px}.filter-bar .filter-right .btn-primary[data-v-b4a2f706]:hover{background:#3b82f6}.filter-bar .filter-right .btn-default[data-v-b4a2f706]{background:#f1f5f9;border:none;color:#64748b;padding:0 20px;height:36px;border-radius:8px}.filter-bar .filter-right .btn-default[data-v-b4a2f706]:hover{background:#e2e8f0}.data-card[data-v-b4a2f706]{background:#fff;border-radius:12px;overflow:hidden}.data-card .card-header[data-v-b4a2f706]{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.data-card .card-header .card-title[data-v-b4a2f706]{font-size:16px;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:8px}.data-card .card-header .card-title i[data-v-b4a2f706]{color:#2563eb}.data-card .card-header .btn-add[data-v-b4a2f706]{background:#2563eb;border:none;color:#fff;height:36px;border-radius:8px;padding:0 16px}.data-card .card-header .btn-add[data-v-b4a2f706]:hover{background:#3b82f6}.data-card .card-body[data-v-b4a2f706]{padding:8px}.data-card .card-footer[data-v-b4a2f706]{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.empty-state[data-v-b4a2f706]{display:flex;flex-direction:column;align-items:center;padding:60px 20px;color:#94a3b8}.empty-state i[data-v-b4a2f706]{font-size:48px;margin-bottom:16px}.empty-state span[data-v-b4a2f706]{font-size:14px}.contract-list .contract-item[data-v-b4a2f706]{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-radius:10px;background:#f1f5f9;margin-bottom:8px;transition:all .2s}.contract-list .contract-item[data-v-b4a2f706]:last-child{margin-bottom:0}.contract-list .contract-item[data-v-b4a2f706]:hover{background:#e2e8f0}.contract-list .contract-item .contract-main[data-v-b4a2f706]{flex:1;min-width:0}.contract-list .contract-item .contract-main .contract-header[data-v-b4a2f706]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.contract-list .contract-item .contract-main .contract-header .contract-no[data-v-b4a2f706]{font-size:13px;font-weight:600;color:#0f172a}.contract-list .contract-item .contract-main .contract-header .contract-type[data-v-b4a2f706]{font-size:12px;color:#2563eb;background:rgba(37,99,235,.1);padding:2px 8px;border-radius:4px}.contract-list .contract-item .contract-main .contract-header .contract-status[data-v-b4a2f706]{font-size:12px;padding:2px 8px;border-radius:4px}.contract-list .contract-item .contract-main .contract-header .contract-status.status-1[data-v-b4a2f706]{background:rgba(16,185,129,.1);color:#10b981}.contract-list .contract-item .contract-main .contract-header .contract-status.status-2[data-v-b4a2f706]{background:rgba(148,163,184,.1);color:#64748b}.contract-list .contract-item .contract-main .contract-header .contract-status.status-3[data-v-b4a2f706]{background:rgba(239,68,68,.1);color:#ef4444}.contract-list .contract-item .contract-main .contract-name[data-v-b4a2f706]{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:10px}.contract-list .contract-item .contract-main .contract-info[data-v-b4a2f706]{display:flex;gap:20px;margin-bottom:12px}.contract-list .contract-item .contract-main .contract-info .info-item[data-v-b4a2f706]{font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.contract-list .contract-item .contract-main .contract-info .info-item i[data-v-b4a2f706]{color:#94a3b8}.contract-list .contract-item .contract-main .contract-amounts[data-v-b4a2f706]{display:flex;gap:24px}.contract-list .contract-item .contract-main .contract-amounts .amount-item label[data-v-b4a2f706]{font-size:12px;color:#94a3b8;display:block;margin-bottom:4px}.contract-list .contract-item .contract-main .contract-amounts .amount-item .amount[data-v-b4a2f706]{font-size:15px;font-weight:600;color:#0f172a}.contract-list .contract-item .contract-main .contract-amounts .amount-item .amount.green[data-v-b4a2f706]{color:#10b981}.contract-list .contract-item .contract-main .contract-amounts .amount-item .amount.red[data-v-b4a2f706]{color:#ef4444}.contract-list .contract-item .contract-actions[data-v-b4a2f706]{display:flex;gap:8px;flex-shrink:0;margin-left:16px}.contract-list .contract-item .contract-actions .el-button[data-v-b4a2f706]{padding:6px 12px;font-size:13px}.contract-list .contract-item .contract-actions .el-button.danger[data-v-b4a2f706]{color:#ef4444}@media(max-width:768px){.filter-bar[data-v-b4a2f706]{flex-direction:column;align-items:stretch}.filter-bar .filter-left[data-v-b4a2f706]{flex-wrap:wrap}.filter-bar .filter-left .el-input[data-v-b4a2f706],.filter-bar .filter-left .el-select[data-v-b4a2f706],.filter-bar .filter-right[data-v-b4a2f706]{width:100%}.filter-bar .filter-right .btn-default[data-v-b4a2f706],.filter-bar .filter-right .btn-primary[data-v-b4a2f706]{flex:1}.contract-list .contract-item[data-v-b4a2f706]{flex-direction:column;gap:12px}.contract-list .contract-item .contract-actions[data-v-b4a2f706]{margin-left:0;width:100%;justify-content:flex-end}}.contract-dialog{border-radius:16px;overflow:hidden}.contract-dialog .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#2563eb,#3b82f6)}.contract-dialog .dialog-header .dialog-title{font-size:18px;font-weight:600;color:#fff;display:flex;align-items:center;gap:10px}.contract-dialog .dialog-header .dialog-title i{font-size:22px}.contract-dialog .dialog-header .dialog-close{width:32px;height:32px;border-radius:8px;border:none;background:hsla(0,0%,100%,.2);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.contract-dialog .dialog-header .dialog-close:hover{background:hsla(0,0%,100%,.3)}.contract-dialog .dialog-body{padding:24px;max-height:60vh;overflow-y:auto}.contract-dialog .dialog-body .form-section{margin-bottom:24px}.contract-dialog .dialog-body .form-section:last-child{margin-bottom:0}.contract-dialog .dialog-body .form-section .section-title{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:16px;padding-left:12px;border-left:3px solid #2563eb}.contract-dialog .dialog-body .form-section .form-row{display:flex;gap:16px;margin-bottom:16px}.contract-dialog .dialog-body .form-section .form-row:last-child{margin-bottom:0}.contract-dialog .dialog-body .form-section .form-group{flex:1}.contract-dialog .dialog-body .form-section .form-group.half{flex:none;width:calc(50% - 8px)}.contract-dialog .dialog-body .form-section .form-group.third{flex:none;width:calc(33.33% - 11px)}.contract-dialog .dialog-body .form-section .form-group .form-label{display:block;font-size:13px;font-weight:500;color:#0f172a;margin-bottom:8px}.contract-dialog .dialog-body .form-section .form-group .form-label.required:before{content:"*";color:#ef4444;margin-right:4px}.contract-dialog .dialog-body .form-section .form-group .el-input__inner{border-radius:10px;border-color:#e2e8f0;height:42px}.contract-dialog .dialog-body .form-section .form-group .el-input__inner:focus{border-color:#2563eb}.contract-dialog .dialog-body .form-section .form-group .el-textarea__inner{border-radius:10px;border-color:#e2e8f0;padding:12px 16px;font-size:14px}.contract-dialog .dialog-body .form-section .form-group .el-textarea__inner:focus{border-color:#2563eb}.contract-dialog .dialog-body .form-section .form-group .type-selector{display:flex;gap:8px}.contract-dialog .dialog-body .form-section .form-group .type-selector .type-item{flex:1;height:42px;border-radius:10px;border:2px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:14px;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s}.contract-dialog .dialog-body .form-section .form-group .type-selector .type-item:hover{border-color:#2563eb;color:#2563eb}.contract-dialog .dialog-body .form-section .form-group .type-selector .type-item.active{border-color:#2563eb;background:#2563eb;color:#fff}.contract-dialog .dialog-footer{padding:16px 24px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px;background:#f8fafc}.contract-dialog .dialog-footer .btn-cancel{height:40px;padding:0 24px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-weight:500}.contract-dialog .dialog-footer .btn-cancel:hover{border-color:#cbd5e1;color:#0f172a}.contract-dialog .dialog-footer .btn-submit{height:40px;padding:0 24px;border-radius:10px;border:none;background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;font-weight:500}.contract-dialog .dialog-footer .btn-submit:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb)}@media(max-width:1200px){.contract-page .filter-section .filter-row{flex-wrap:wrap;gap:12px}}@media(max-width:992px){.contract-page .stats-row{grid-template-columns:repeat(2,1fr)}.contract-page .filter-section .filter-row{flex-direction:column}.contract-page .filter-section .filter-row .filter-left,.contract-page .filter-section .filter-row .filter-right{width:100%;flex-wrap:wrap}}@media(max-width:768px){.contract-page{padding:12px}.contract-page .stats-row{grid-template-columns:1fr;gap:12px}.contract-page .filter-section{padding:12px;margin-bottom:12px}.contract-page .filter-section .filter-row{flex-direction:column;gap:8px}.contract-page .filter-section .filter-row .el-date-editor,.contract-page .filter-section .filter-row .el-input,.contract-page .filter-section .filter-row .el-select{width:100%!important}.contract-page .contract-list .contract-item{flex-direction:column;gap:12px;padding:16px}.contract-page .contract-list .contract-item .contract-main{width:100%}.contract-page .contract-list .contract-item .contract-main .contract-info{flex-wrap:wrap;gap:12px}.contract-page .contract-list .contract-item .contract-main .contract-amounts{flex-wrap:wrap;gap:16px}.contract-page .contract-list .contract-item .contract-actions{width:100%;margin-left:0;justify-content:flex-end}.contract-dialog .el-dialog{width:95%!important;margin:2vh auto!important}.contract-dialog .form-grid{grid-template-columns:1fr!important}.contract-dialog .type-selector{flex-direction:column}}