.batch-result-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:3500;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.batch-result-modal{background:#fff;border-radius:8px;width:700px;max-width:90vw;max-height:80vh;box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;animation:slideIn .3s ease}.batch-result-header{height:48px;padding:0 24px;border-bottom:1px solid #e4e7ed;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.batch-result-header .batch-result-title{margin:0;font-size:16px;font-weight:700;color:#303133}.batch-result-header .batch-result-close{background:none;border:none;font-size:20px;color:#909399;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.batch-result-header .batch-result-close:hover{color:#409eff;background:#f5f7fa}.batch-result-body{padding:20px 24px;flex:1;overflow-y:auto}.batch-result-body .failure-section,.batch-result-body .success-section{margin-bottom:20px}.batch-result-body .failure-section:last-child,.batch-result-body .success-section:last-child{margin-bottom:0}.batch-result-body .failure-section .section-title,.batch-result-body .success-section .section-title{display:flex;align-items:center;margin-bottom:12px;font-size:14px;font-weight:500;color:#303133}.batch-result-body .failure-section .section-title .el-icon,.batch-result-body .success-section .section-title .el-icon{margin-right:8px;font-size:16px}.batch-result-body .failure-section .section-title .success-icon,.batch-result-body .success-section .section-title .success-icon{color:#67c23a}.batch-result-body .failure-section .section-title .error-icon,.batch-result-body .success-section .section-title .error-icon{color:#f56c6c}.batch-result-body .failure-section .failure-list,.batch-result-body .failure-section .success-list,.batch-result-body .success-section .failure-list,.batch-result-body .success-section .success-list{max-height:200px;overflow-y:auto;border:1px solid #e4e7ed;border-radius:4px;padding:8px}.batch-result-body .failure-section .failure-list::-webkit-scrollbar,.batch-result-body .failure-section .success-list::-webkit-scrollbar,.batch-result-body .success-section .failure-list::-webkit-scrollbar,.batch-result-body .success-section .success-list::-webkit-scrollbar{width:6px}.batch-result-body .failure-section .failure-list::-webkit-scrollbar-track,.batch-result-body .failure-section .success-list::-webkit-scrollbar-track,.batch-result-body .success-section .failure-list::-webkit-scrollbar-track,.batch-result-body .success-section .success-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.batch-result-body .failure-section .failure-list::-webkit-scrollbar-thumb,.batch-result-body .failure-section .success-list::-webkit-scrollbar-thumb,.batch-result-body .success-section .failure-list::-webkit-scrollbar-thumb,.batch-result-body .success-section .success-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.batch-result-body .failure-section .failure-list::-webkit-scrollbar-thumb:hover,.batch-result-body .failure-section .success-list::-webkit-scrollbar-thumb:hover,.batch-result-body .success-section .failure-list::-webkit-scrollbar-thumb:hover,.batch-result-body .success-section .success-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.batch-result-body .failure-section .success-item,.batch-result-body .success-section .success-item{display:flex;align-items:center;padding:8px 12px;background:#f0f9eb;border-radius:4px;margin-bottom:6px}.batch-result-body .failure-section .success-item:last-child,.batch-result-body .success-section .success-item:last-child{margin-bottom:0}.batch-result-body .failure-section .success-item .order-no,.batch-result-body .success-section .success-item .order-no{color:#303133;font-size:14px;margin-right:12px}.batch-result-body .failure-section .success-item .work-order-id,.batch-result-body .success-section .success-item .work-order-id{color:#67c23a;font-size:14px;font-weight:500}.batch-result-body .failure-section .failure-item,.batch-result-body .success-section .failure-item{padding:12px;background:#fef0f0;border-radius:4px;margin-bottom:6px}.batch-result-body .failure-section .failure-item:last-child,.batch-result-body .success-section .failure-item:last-child{margin-bottom:0}.batch-result-body .failure-section .failure-item .failure-content,.batch-result-body .success-section .failure-item .failure-content{display:flex;align-items:center;gap:12px}.batch-result-body .failure-section .failure-item .failure-content .order-no,.batch-result-body .success-section .failure-item .failure-content .order-no{color:#303133;font-size:14px;font-weight:500;flex-shrink:0;min-width:120px}.batch-result-body .failure-section .failure-item .failure-content .error-reason,.batch-result-body .success-section .failure-item .failure-content .error-reason{color:#f56c6c;font-size:13px;line-height:1.4;flex:1;word-break:break-word}.batch-result-footer{padding:16px 24px;border-top:1px solid #e4e7ed;text-align:right;flex-shrink:0}.batch-result-footer .el-button{padding:9px 15px;font-size:12px;border-radius:4px}.batch-result-footer .el-button--primary{background-color:#409eff;border-color:#409eff;color:#fff}.batch-result-footer .el-button--primary:hover{background:#66b1ff;border-color:#66b1ff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.batch-result-container{padding:8px 24px}.batch-result-container .failure-section,.batch-result-container .success-section{position:relative;background:#fff;border-radius:12px;margin:0 0 16px;box-shadow:0 4px 24px rgba(0,0,0,.06);overflow:hidden}.batch-result-container .failure-section:last-child,.batch-result-container .success-section:last-child{margin-bottom:0}.batch-result-container .failure-section .section-title,.batch-result-container .success-section .section-title{display:flex;align-items:center;padding:14px 20px;margin:0;font-size:16px;font-weight:600;background:linear-gradient(90deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.85));backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:10}.batch-result-container .failure-section .section-title .el-icon,.batch-result-container .success-section .section-title .el-icon{margin-right:10px;font-size:22px}.batch-result-container .failure-section .success-icon,.batch-result-container .success-section .success-icon{color:#00b42a}.batch-result-container .failure-section .error-icon,.batch-result-container .success-section .error-icon{color:#f53f3f}.batch-result-container .failure-list,.batch-result-container .success-list{padding:12px 20px;background:hsla(0,0%,98%,.6)}.batch-result-container .failure-list .failure-item,.batch-result-container .failure-list .success-item,.batch-result-container .success-list .failure-item,.batch-result-container .success-list .success-item{display:flex;align-items:center;padding:16px 20px;background:#fff;border-radius:8px;margin-bottom:12px;transition:all .3s ease;border:1px solid rgba(0,0,0,.06)}.batch-result-container .failure-list .failure-item:last-child,.batch-result-container .failure-list .success-item:last-child,.batch-result-container .success-list .failure-item:last-child,.batch-result-container .success-list .success-item:last-child{margin-bottom:0}.batch-result-container .failure-list .failure-item:hover,.batch-result-container .failure-list .success-item:hover,.batch-result-container .success-list .failure-item:hover,.batch-result-container .success-list .success-item:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,.08)}.batch-result-container .success-item{position:relative;padding-left:24px}.batch-result-container .success-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#00b42a;border-radius:4px 0 0 4px}.batch-result-container .success-item .order-no{color:#1f2329;margin-right:16px;font-weight:600;font-size:15px}.batch-result-container .success-item .work-order-id{color:#00b42a;font-weight:500;font-size:15px;padding:4px 12px;background:rgba(0,180,42,.08);border-radius:4px}.batch-result-container .failure-item{position:relative;padding-left:24px;flex-direction:column;align-items:flex-start}.batch-result-container .failure-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#f53f3f;border-radius:4px 0 0 4px}.batch-result-container .failure-item .failure-header{margin-bottom:10px;width:100%}.batch-result-container .failure-item .failure-header .order-no{color:#1f2329;font-weight:600;font-size:15px}.batch-result-container .failure-item .error-reason{color:#f53f3f;font-size:14px;padding:8px 12px;background:rgba(245,63,63,.06);border-radius:4px;width:100%}.batch-result-container :deep(.el-scrollbar__wrap){margin-bottom:0!important}.batch-result-container :deep(.el-scrollbar__bar){z-index:100;opacity:0;transition:opacity .3s}.batch-result-container :deep(.el-scrollbar__bar):hover{opacity:1}.batch-result-container .dialog-footer{text-align:right;padding:14px 24px;border-top:1px solid #dcdfe6;background:#fff}.batch-result-container .dialog-footer .el-button{padding:9px 15px;font-size:12px;border-radius:4px;margin-left:10px}.batch-result-container .dialog-footer .el-button--default{background:#fff;border:1px solid #dcdfe6;color:#606266}.batch-result-container .dialog-footer .el-button--default:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.batch-result-container .dialog-footer .el-button--primary{background-color:#409eff;border-color:#409eff;color:#fff}.batch-result-container .dialog-footer .el-button--primary:hover{background:#66b1ff;border-color:#66b1ff}.batch-result-container .dialog-footer .el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6}:deep(.el-dialog){border-radius:16px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.12)}:deep(.el-dialog) .el-dialog__header{margin:0;padding:18px 24px;border-bottom:1px solid #dcdfe6;background:#fff}:deep(.el-dialog) .el-dialog__header .el-dialog__title{font-weight:500;font-size:16px;color:#303133;line-height:1.5}:deep(.el-dialog) .el-dialog__header .el-dialog__headerbtn{top:18px;right:24px}:deep(.el-dialog) .el-dialog__header .el-dialog__headerbtn .el-dialog__close{font-size:16px;color:#909399}:deep(.el-dialog) .el-dialog__header .el-dialog__headerbtn .el-dialog__close:hover{color:#409eff}:deep(.el-dialog) .el-dialog__body{padding:20px 0;background:linear-gradient(180deg,#fafafa,#fff)}:deep(.el-dialog) .el-dialog__footer{padding:16px 24px;background:#fff;border-top:1px solid rgba(0,0,0,.06)}.page__card{display:flex;flex-direction:column;height:calc(100vh - 130px);width:100%}.page__card .page__operate-btn,.page__card .quotation-tabs{flex-shrink:0;margin-bottom:16px}.page__card .flex--auto{flex:1;min-height:0;overflow:hidden;width:100%}.page__card .flex--auto :deep(.el-table){height:100%;width:100%!important}.page__card .flex--auto :deep(.el-table) .el-table__body-wrapper{overflow-y:auto!important;height:calc(100% - 40px);width:100%!important}.page__card .flex--auto :deep(.el-table) .el-table__header-wrapper{position:sticky;top:0;z-index:2;background:#fff;width:100%!important}.el-tabs__item{font-family:Montserrat;font-weight:700;font-size:14px;color:#2e2f39;line-height:18px;text-align:left;font-style:normal}.quotation-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.quotation-tabs{flex-shrink:0;margin-bottom:0!important;padding-bottom:0!important}.quotation-search-row{display:flex;align-items:center;gap:12px;width:80%}.search-input{background:#d2d2d4!important;color:#bfbfbf!important;border:none!important;box-shadow:none!important}.search-input::-moz-placeholder{color:#bfbfbf!important;opacity:1}.search-input::placeholder{color:#bfbfbf!important;opacity:1}.search-input .el-input__inner{background:transparent!important;color:#bfbfbf!important;border:none!important;box-shadow:none!important}.search-date{width:320px}.quotation-page .quotation-tabs{margin-bottom:16px}.quotation-page .page__operate-btn{display:flex;justify-content:flex-end;margin-bottom:0}.quotation-dialog{border-radius:24px!important;padding:0!important;background:#fff!important;box-shadow:0 8px 32px rgba(44,45,58,.12)!important}.quotation-dialog .el-dialog__body{padding:32px!important}.quotation-dialog .el-dialog__header{text-align:left;font-size:28px;font-weight:700;padding:32px 32px 0 32px!important}.quotation-dialog .el-dialog__footer{padding:0 32px 32px 32px!important}.country-tooltip{white-space:normal;width:275px;max-width:275px}.country-tooltip,.country-tooltip .el-tooltip__popper{background:#222!important;color:#fff!important}.el-tooltip__popper.country-tooltip.is-light:before{background:#222!important;border-color:#222!important;left:16px!important;right:auto!important}.el-tooltip__popper.country-tooltip.is-light{transform:translateX(40px)!important}.quotation-page .el-table .el-table__body .cell,.quotation-page .el-table .el-table__body div,.quotation-page .el-table .el-table__body span,.quotation-page .el-table .el-table__body td{font-family:Montserrat;font-weight:400;font-size:14px;color:#6a6c7e;line-height:18px;text-align:left;font-style:normal}.search-filter{width:100%;margin:20px 0 10px 30px;justify-content:center}.search-filter .search-form{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;padding-right:52px}.search-filter .search-form .el-input{margin-bottom:0}.search-filter .search-form .el-select{margin-bottom:0;align-self:flex-start}.search-filter .search-form .el-textarea{align-self:flex-start}.search-filter .search-form .el-button{margin-left:0;margin-bottom:0;align-self:flex-start;margin-top:2px}.search-filter .search-form .el-date-editor{align-self:flex-start;margin-top:2px}@media(max-width:1400px){.search-filter .search-form{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:6px 6px}}.page__operate-btn{display:flex;justify-content:flex-end;margin-bottom:0}.page__operate-btn .el-button[type=primary]{background:#4a8cca!important;border-color:#4a8cca!important;color:#fff!important;font-weight:500;font-size:16px;border-radius:8px;min-width:160px;height:40px;box-shadow:none;transition:background .2s}.page__operate-btn .el-button[type=primary]:focus,.page__operate-btn .el-button[type=primary]:hover{background:#3573b1!important;border-color:#3573b1!important}.el-form-item .el-textarea .el-textarea__inner{font-family:Montserrat;font-size:14px;color:#2e2f39;border-radius:6px;border:1px solid #dcdfe6;transition:border-color .2s,height .2s ease;resize:none}.el-form-item .el-textarea .el-textarea__inner:focus{border-color:#4a8cca;box-shadow:0 0 0 2px rgba(74,140,202,.2)}.el-form-item .el-textarea .el-textarea__inner::-moz-placeholder{color:#909399;font-size:14px}.el-form-item .el-textarea .el-textarea__inner::placeholder{color:#909399;font-size:14px}.search-form .el-textarea .el-textarea__inner{font-size:12px;padding:6px 12px;min-height:32px;resize:none;transition:height .3s ease}.search-form .el-textarea .el-textarea__inner::-moz-placeholder{font-size:12px}.search-form .el-textarea .el-textarea__inner::placeholder{font-size:12px}.quotation-dialog .el-form-item .el-textarea .el-textarea__inner{resize:none}.quotation-dialog .form-tip{color:#909399;font-size:12px;margin-top:5px;font-family:Montserrat}.floating-textarea-layer:focus-within{border-color:#4a8cca!important;box-shadow:0 0 0 2px rgba(74,140,202,.2),0 4px 12px rgba(0,0,0,.15)!important}.floating-textarea-layer textarea{font-family:Montserrat;font-size:12px;color:#2e2f39;line-height:1.4}.floating-textarea-layer textarea::-moz-placeholder{color:#909399;font-size:12px}.floating-textarea-layer textarea::placeholder{color:#909399;font-size:12px}.floating-textarea-layer textarea:focus{outline:none}.search-form .el-input{position:relative}.search-form .el-input .floating-textarea-layer textarea{font-size:12px;padding:6px 12px}.search-form .el-select .el-input .el-input__inner{font-family:Montserrat;font-size:12px;color:#2e2f39;border-radius:6px;border:1px solid #dcdfe6;height:32px;line-height:32px}.search-form .el-select .el-input .el-input__inner:focus{border-color:#4a8cca;box-shadow:0 0 0 2px rgba(74,140,202,.2)}.search-form .el-select .el-input .el-input__inner::-moz-placeholder{color:#909399;font-size:12px}.search-form .el-select .el-input .el-input__inner::placeholder{color:#909399;font-size:12px}.search-form .el-select .el-input__suffix .el-input__suffix-inner .el-select__caret{color:#909399;font-size:12px}.quotation-dialog .el-form-item .el-input{position:relative}.quotation-dialog .el-form-item .el-input .floating-textarea-layer textarea{font-size:14px;padding:8px 12px}.work-order-content-cell{display:block;word-break:break-word;white-space:normal;line-height:1.5;min-height:20px;max-width:260px;padding:4px 0;overflow:hidden}.work-order-content-tooltip{max-width:450px}.work-order-content-tooltip .work-order-tooltip-content{white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto;line-height:1.5;padding:4px 0}.work-order-content-tooltip .work-order-tooltip-content .work-order-tooltip-line{margin-bottom:4px}.work-order-content-tooltip .work-order-tooltip-content .work-order-tooltip-line:last-child{margin-bottom:0}:deep(.el-table) .work-order-table-row{min-height:60px}:deep(.el-table) .work-order-table-row td .cell{min-height:40px;display:flex;align-items:flex-start;padding:12px 0;line-height:1.5}.order-no-cell .order-no-text{color:#1890ff;cursor:pointer;font-weight:500;text-decoration:none;transition:color .2s}.order-no-cell .order-no-text:hover{color:#40a9ff;text-decoration:underline}:deep(.el-table__body) td{vertical-align:top;padding:12px 8px!important}:deep(.el-table__body) td .cell{align-items:flex-start;word-wrap:break-word;overflow-wrap:break-word}:deep(.el-table){width:100%!important}:deep(.el-table) .el-table__body-wrapper,:deep(.el-table) .el-table__header-wrapper{width:100%!important}:deep(.el-table) table{width:100%!important;table-layout:auto}.upload-section .upload-demo{width:100%}.upload-section .upload-demo :deep(.el-upload){width:100%}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger{width:100%;height:120px;border:2px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .3s}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger:hover{border-color:#409eff}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger.is-disabled{cursor:not-allowed;border-color:#e4e7ed;background-color:#f5f7fa}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-icon{font-size:28px;margin:20px 0 16px;line-height:50px}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .loading-icon{font-size:24px;margin-bottom:12px;animation:rotating 2s linear infinite}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .success-icon{font-size:24px;color:#67c23a;margin-bottom:12px;font-weight:700;background:#f0f9ff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:2px solid #67c23a}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info{width:100%;text-align:center}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-text{color:#606266;font-size:13px;margin-bottom:8px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-text.success{color:#67c23a;font-weight:600;margin-bottom:0}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-bar-container{display:flex;align-items:center;gap:8px}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-bar-container .progress-bar{flex:1;height:6px;background-color:#e4e7ed;border-radius:3px;overflow:hidden}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-bar-container .progress-bar .progress-bar-fill{height:100%;background:linear-gradient(90deg,#409eff,#67c23a);border-radius:3px;transition:width .3s ease;position:relative}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-bar-container .progress-bar .progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 50%,transparent);animation:progress-shine 1.5s ease-in-out infinite}.upload-section .upload-demo :deep(.el-upload) .el-upload-dragger .upload-progress .progress-info .progress-bar-container .progress-percent{color:#409eff;font-size:12px;font-weight:600;min-width:35px;text-align:right}.upload-section .upload-tip{color:#ff7f00;font-size:12px;margin-top:12px;padding:12px 16px;background:linear-gradient(135deg,#fff7e6,#ffefd6);border-radius:6px;border:1px solid #ffd591;border-left:4px solid #ff7f00;box-shadow:0 1px 3px rgba(255,127,0,.1);line-height:1.5}.upload-section .uploaded-files{margin-top:16px;padding:12px;background-color:#f5f7fa;border-radius:4px}.upload-section .uploaded-files .files-title{font-size:14px;color:#606266;margin-bottom:8px;font-weight:500}.upload-section .uploaded-files .file-item{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid #e4e7ed}.upload-section .uploaded-files .file-item:last-child{border-bottom:none}.upload-section .uploaded-files .file-item .file-icon{font-size:16px;margin-right:8px;flex-shrink:0}.upload-section .uploaded-files .file-item .delete-icon{font-size:14px}.upload-section .uploaded-files .file-item .file-name{flex:1;color:#303133;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.upload-section .uploaded-files .file-item .file-size{color:#909399;font-size:12px;margin-right:8px;flex-shrink:0}.upload-section .uploaded-files .file-item .el-button{flex-shrink:0}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes progress-shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);z-index:3000;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(3px)}.custom-modal-container{background:#fff;border-radius:16px;width:85%;max-width:950px;max-height:90vh;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;animation:modalFadeIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.custom-modal-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:20px 24px;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;position:relative}.custom-modal-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#409eff,#67c23a)}.custom-modal-header .custom-modal-title{font-size:20px;font-weight:600;color:#262626;margin:0;text-align:center;flex:1}.custom-modal-header .custom-modal-close{background:none;border:none;font-size:24px;color:#8c8c8c;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;line-height:1}.custom-modal-header .custom-modal-close:hover{color:#262626;background-color:rgba(0,0,0,.1)}.custom-modal-body{flex:1;overflow-y:auto;padding:0;position:relative}.custom-modal-body .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.95);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;border-radius:8px}.custom-modal-body .loading-overlay .loading-spinner{font-size:32px;margin-bottom:12px;animation:rotating 2s linear infinite}.custom-modal-body .loading-overlay span{color:#595959;font-size:14px}.custom-modal-footer{background-color:#f8f9fa;padding:16px 24px;border-top:1px solid #e8e8e8;display:flex;justify-content:center;flex-shrink:0}.order-info{padding:20px 24px;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.order-info .order-number{font-size:18px;display:flex;align-items:center}.order-info .order-number .label{color:#595959;font-weight:600}.order-info .order-number .value{color:#1890ff;font-weight:600;margin-left:8px}.order-info .status-actions{display:flex;align-items:center}.price-info-section{padding:20px 24px;background:#fff;border-bottom:1px solid #f0f0f0}.price-info-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.price-info-section .section-header .section-title{font-size:16px;font-weight:600;color:#262626;position:relative;padding-left:12px}.price-info-section .section-header .section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background-color:#1890ff;border-radius:2px}.price-info-section .order-info-layout .info-row{display:flex;margin-bottom:12px}.price-info-section .order-info-layout .info-row .info-item{flex:1;display:flex;align-items:center;margin-right:24px}.price-info-section .order-info-layout .info-row .info-item:last-child{margin-right:0}.price-info-section .order-info-layout .info-row .info-item .info-label{color:#8c8c8c;font-size:14px;min-width:50px}.price-info-section .order-info-layout .info-row .info-item .info-value{color:#262626;font-size:14px;font-weight:500}.price-info-section .order-info-layout .content-row{margin-top:16px}.price-info-section .order-info-layout .content-row .content-item{display:flex;align-items:flex-start}.price-info-section .order-info-layout .content-row .content-item .content-label{color:#8c8c8c;font-size:14px;min-width:50px;flex-shrink:0;margin-top:2px}.price-info-section .order-info-layout .content-row .content-item .content-value{color:#262626;font-size:14px;line-height:1.6;word-break:break-word;white-space:pre-wrap}.attachment-section{padding:20px 24px;background:#fff;border-bottom:1px solid #f0f0f0}.attachment-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.attachment-section .section-header .section-title{font-size:16px;font-weight:600;color:#262626;position:relative;padding-left:12px}.attachment-section .section-header .section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background-color:#52c41a;border-radius:2px}.attachment-section .section-header .section-actions{display:flex;align-items:center;gap:8px}.attachment-section .section-header .section-actions .el-button.el-button--info.is-plain{background:#f6f6f6;border-color:#d9d9d9;color:#595959}.attachment-section .section-header .section-actions .el-button.el-button--info.is-plain:hover{background:#e6e6e6;border-color:#bfbfbf;color:#262626}.attachment-section .section-header .section-actions .el-button.el-button--info.is-plain:disabled{background:#f5f5f5;border-color:#e6e6e6;color:#bfbfbf}.attachment-section .section-header .section-actions .el-button.el-button--primary.is-plain{background:#e6f7ff;border-color:#91d5ff;color:#1890ff}.attachment-section .section-header .section-actions .el-button.el-button--primary.is-plain:hover{background:#bae7ff;border-color:#40a9ff;color:#096dd9}.attachment-section .section-header .section-actions .el-button .el-icon{font-size:14px}.attachment-section .section-header .dialog-upload :deep(.el-upload) .el-button.el-button--primary.is-plain{background:#e6f7ff;border-color:#91d5ff;color:#1890ff}.attachment-section .section-header .dialog-upload :deep(.el-upload) .el-button.el-button--primary.is-plain:hover{background:#bae7ff;border-color:#40a9ff;color:#096dd9}.attachment-section .upload-progress-dialog{margin:16px 0;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.attachment-section .upload-progress-dialog .upload-success{display:flex;align-items:center;color:#52c41a}.attachment-section .upload-progress-dialog .upload-success .success-icon{font-size:18px;margin-right:8px}.attachment-section .upload-progress-dialog .upload-success .success-text{font-size:14px;font-weight:500}.attachment-section .upload-progress-dialog .upload-loading{display:flex;align-items:center}.attachment-section .upload-progress-dialog .upload-loading .loading-icon{font-size:18px;margin-right:12px;animation:rotating 2s linear infinite}.attachment-section .upload-progress-dialog .upload-loading .progress-info{flex:1}.attachment-section .upload-progress-dialog .upload-loading .progress-info .progress-text{color:#606266;font-size:14px;margin-bottom:8px}.attachment-section .upload-progress-dialog .upload-loading .progress-info .progress-bar-container{display:flex;align-items:center;gap:8px}.attachment-section .upload-progress-dialog .upload-loading .progress-info .progress-bar-container .progress-bar{flex:1;height:6px;background-color:#e4e7ed;border-radius:3px;overflow:hidden}.attachment-section .upload-progress-dialog .upload-loading .progress-info .progress-bar-container .progress-bar .progress-bar-fill{height:100%;background:linear-gradient(90deg,#409eff,#67c23a);border-radius:3px;transition:width .3s ease}.attachment-section .upload-progress-dialog .upload-loading .progress-info .progress-bar-container .progress-percent{color:#409eff;font-size:12px;font-weight:600;min-width:35px;text-align:right}.attachment-section .attachment-list .no-attachments{text-align:center;padding:40px 20px;color:#8c8c8c}.attachment-section .attachment-list .no-attachments .no-attachments-icon{margin-bottom:12px;opacity:.6}.attachment-section .attachment-list .no-attachments .no-attachments-text{font-size:14px}.attachment-section .attachment-list .attachment-items-container .attachment-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f0f0;border-radius:6px;margin-bottom:8px;background:#fafafa;transition:background-color .2s}.attachment-section .attachment-list .attachment-items-container .attachment-item:last-child{border-bottom:1px solid #f0f0f0;margin-bottom:0}.attachment-section .attachment-list .attachment-items-container .attachment-item:hover{background:#f0f9ff}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-info{flex:1;display:flex;align-items:center}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-info .attachment-name-wrapper{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-info .attachment-link{color:#1890ff;cursor:pointer;font-size:14px;text-decoration:none;word-break:break-all}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-info .attachment-link:hover{color:#40a9ff;text-decoration:underline}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-info .attachment-size{color:#8c8c8c;font-size:12px;white-space:nowrap;font-weight:500;background:#f5f5f5;padding:2px 6px;border-radius:4px;border:1px solid #e8e8e8}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text{padding:4px 8px;min-width:auto;height:auto;font-size:12px}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text.el-button--danger{color:#ff4d4f}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text.el-button--danger:hover{background-color:#fff2f0;color:#ff4d4f}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text.el-button--primary{color:#1890ff}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text.el-button--primary:hover{background-color:#e6f7ff;color:#1890ff}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text .el-icon{font-size:12px}.attachment-section .attachment-list .attachment-items-container .attachment-item .attachment-actions .el-button.el-button--text span{margin-left:2px;font-size:12px}.attachment-section .attachment-list .file-format-tip{color:#ff7f00;font-size:12px;margin-top:16px;padding:12px 16px;background-color:#fff7e6;border-radius:6px;border:1px solid #ffd591;border-left:4px solid #ff7f00}.reply-section{padding:20px 24px;background-color:#fff}.reply-section .section-title{font-size:16px;font-weight:600;color:#262626;margin-bottom:16px;padding-left:12px;position:relative}.reply-section .section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background-color:#52c41a;border-radius:2px}.reply-section .message-history{height:350px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:8px;padding:16px 8px;margin-bottom:16px;background-color:#f8f9fa;position:relative}.reply-section .message-history .empty-message-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;height:100%}.reply-section .message-history .empty-message-container .empty-message-content{text-align:center;color:#8c8c8c}.reply-section .message-history .empty-message-container .empty-message-content .empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.reply-section .message-history .empty-message-container .empty-message-content .empty-text{font-size:16px;color:#8c8c8c;line-height:1.5;font-weight:400}.reply-section .message-history .message-wrapper{margin-bottom:16px;display:flex;width:100%}.reply-section .message-history .message-wrapper:last-child{margin-bottom:0}.reply-section .message-history .message-wrapper .message-bubble{max-width:70%;min-width:auto;width:-moz-fit-content;width:fit-content}.reply-section .message-history .message-wrapper .message-bubble .message-header{margin-bottom:6px;white-space:nowrap}.reply-section .message-history .message-wrapper .message-bubble .message-header .sender{font-weight:500;font-size:12px;margin-right:8px}.reply-section .message-history .message-wrapper .message-bubble .message-header .time{font-size:11px;color:#8c8c8c}.reply-section .message-history .message-wrapper .message-bubble .message-content{padding:10px 14px;border-radius:6px;line-height:1.4;word-wrap:break-word;word-break:break-word;max-width:100%;width:-moz-fit-content;width:fit-content;display:inline-block;white-space:pre-wrap}.reply-section .message-history .message-wrapper .message-bubble .message-content .el-tag{margin:0;display:inline-block}.reply-section .message-history .message-wrapper.client{justify-content:flex-start;padding-right:30%}.reply-section .message-history .message-wrapper.client .message-bubble .message-header{text-align:left}.reply-section .message-history .message-wrapper.client .message-bubble .message-header .sender{color:#1890ff;font-weight:600}.reply-section .message-history .message-wrapper.client .message-bubble .message-content{background-color:#fff;color:#000;border:1px solid #d9d9d9;border-radius:6px;box-shadow:none}.reply-section .message-history .message-wrapper.client .message-bubble .message-content .el-tag{background-color:#f5f5f5;color:#000;border:1px solid #d9d9d9}.reply-section .message-history .message-wrapper.service{justify-content:flex-end;padding-left:30%}.reply-section .message-history .message-wrapper.service .message-bubble{display:flex;flex-direction:column;align-items:flex-end}.reply-section .message-history .message-wrapper.service .message-bubble .message-header{text-align:right}.reply-section .message-history .message-wrapper.service .message-bubble .message-header .sender{color:#52c41a;font-weight:600}.reply-section .message-history .message-wrapper.service .message-bubble .message-content{background-color:#52c41a;color:#000;border:1px solid #52c41a;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.reply-section .message-history .message-wrapper.service .message-bubble .message-content .el-tag{background-color:hsla(0,0%,100%,.9);color:#52c41a;border:1px solid hsla(0,0%,100%,.5)}.reply-section .message-history::-webkit-scrollbar{width:8px}.reply-section .message-history::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px;margin:8px 0}.reply-section .message-history::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px;border:2px solid #f8f9fa}.reply-section .message-history::-webkit-scrollbar-thumb:hover{background:#b8b8b8}.reply-section .message-history::-webkit-scrollbar-thumb:active{background:#a0a0a0}.reply-section .reply-input-area .reply-textarea{margin-bottom:12px}.reply-section .reply-input-area .reply-textarea :deep(.el-textarea__inner){border-radius:8px;border:1px solid #d9d9d9;font-size:14px;line-height:1.6;resize:none}.reply-section .reply-input-area .reply-textarea :deep(.el-textarea__inner):focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(64,169,255,.2)}.reply-section .reply-input-area .reply-actions{display:flex;justify-content:flex-end}.reply-section .reply-input-area .reply-actions .el-button.el-button--primary{background-color:#1890ff;border-color:#1890ff}.reply-section .reply-input-area .reply-actions .el-button.el-button--primary:hover{background-color:#40a9ff;border-color:#40a9ff}.reply-section .reply-input-area .reply-actions .el-button.el-button--primary:disabled{background-color:#f5f5f5;border-color:#d9d9d9;color:#bfbfbf}@media(max-width:768px){.custom-modal-container{width:95%;max-height:95vh;margin:0 2.5%}.custom-modal-header{padding:16px 20px}.custom-modal-header .custom-modal-title{font-size:18px}.order-info{flex-direction:column;align-items:flex-start;gap:12px}.attachment-section,.order-info,.price-info-section,.reply-section{padding:16px 20px}.price-info-section .order-info-layout .info-row{flex-direction:column;gap:8px}.price-info-section .order-info-layout .info-row .info-item{margin-right:0}.message-wrapper.client,.message-wrapper.service{padding-left:0!important;padding-right:0!important}.message-wrapper .message-bubble{max-width:85%!important}}.filter-item{margin-bottom:12px!important}.action-buttons{display:flex;justify-content:center;align-items:center;gap:8px}.action-buttons .el-button.el-button--primary.is-plain{color:#1890ff;background-color:#f0f8ff;border-color:#1890ff;border-radius:8px}.action-buttons .el-button.el-button--primary.is-plain:focus,.action-buttons .el-button.el-button--primary.is-plain:hover{color:#fff;background-color:#1890ff;border-color:#1890ff}