html,body{height:100%;width:100%;margin:0;padding:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}*{user-select:text;-webkit-user-select:text}.el-table{border-radius:4px}.el-table th.el-table__cell{background-color:#fafafa;font-weight:600;color:#1d2129}.el-table .el-table__cell{padding:8px 0}.el-card{border:none;border-radius:4px}.el-pagination{justify-content:flex-end;padding:16px 0}.el-dialog{border-radius:6px}.el-button+.el-button{margin-left:8px}.el-form-item__label{font-weight:500}.el-input__wrapper,.el-select .el-input__wrapper{border-radius:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:#00000040}.page{height:100%;display:flex;flex-direction:column;background:var(--c-bg-page, #f4f6f9);overflow:hidden}.content{padding:var(--space-2, 8px);display:flex;flex-direction:column;gap:var(--space-2, 8px);flex:1;min-height:0;overflow:auto}.query-card{margin-bottom:0;flex-shrink:0}.table-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--c-bg-card, #fff);border-radius:var(--radius-sm, 6px)}.table-wrapper .pagination-bar{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;padding:var(--space-1, 4px) var(--space-4, 16px);border-top:1px solid var(--c-border-light, #f0f2f7);background:var(--c-bg-card, #fff)}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.toolbar-left,.toolbar-right{display:flex;gap:var(--space-2, 8px);align-items:center}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-3, 12px)}.el-table__footer-wrapper .el-table__cell .cell{overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;writing-mode:horizontal-tb!important}.table-empty{text-align:center;padding:60px 0;color:var(--c-text-4, #94a3b8)}.status-label{color:var(--c-text-4, #94a3b8);font-size:13px}.status-label.is-active{color:var(--el-color-success, #0f9e76);font-weight:600}.status-label.is-inactive{color:var(--c-text-4, #94a3b8)}.status-label.is-danger{color:var(--el-color-danger, #dc2626);font-weight:600}.status-label.is-warning{color:var(--el-color-warning, #d97706);font-weight:600}.hint-text{color:var(--c-text-4, #94a3b8);font-size:12px;line-height:1.5}.field-tip{color:var(--c-text-4, #94a3b8);font-size:12px;line-height:1.4;margin-top:var(--space-1, 4px)}.muted-icon{color:var(--c-text-4, #94a3b8);cursor:help;margin-left:2px}.form-section{margin-bottom:var(--space-5, 20px);border:1px solid var(--c-border-light, #f0f2f7);border-radius:var(--radius-md, 10px);overflow:hidden}.form-section-header{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--c-bg-soft, #f8fafc);border-bottom:1px solid var(--c-border-light, #f0f2f7);font-weight:600;color:var(--c-text-2, #334155);font-size:14px}.form-section-body{padding:var(--space-4, 16px)}:root{--brand-blue: #3b82f6;--brand-cyan: #12a488;--brand-green: #0f9e76;--brand-indigo: #2f6fe0;--brand-gradient: linear-gradient(120deg, #2f6fe0 0%, #3b82f6 46%, #12a488 100%);--brand-gradient-btn: linear-gradient(135deg, #3b82f6 0%, #12a488 100%);--brand-gradient-soft: linear-gradient(135deg, #eff4ff 0%, #edfbf6 100%);--c-text-1: #0f172a;--c-text-2: #334155;--c-text-3: #64748b;--c-text-4: #94a3b8;--c-border: #e5e9f0;--c-border-light: #f0f2f7;--c-bg-page: #f4f6f9;--c-bg-card: #ffffff;--c-bg-soft: #f8fafc;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);--shadow-md: 0 6px 20px rgba(15, 23, 42, .09);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .14);--shadow-brand: 0 8px 22px rgba(59, 130, 246, .2);--ease: cubic-bezier(.22, 1, .36, 1);--t-fast: .15s;--t-base: .25s;--t-slow: .4s;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--el-color-primary: #3b82f6;--el-color-primary-light-3: #7aa7f8;--el-color-primary-light-5: #a3c3fa;--el-color-primary-light-7: #ccdefc;--el-color-primary-light-8: #dfeafd;--el-color-primary-light-9: #eef4fe;--el-color-primary-dark-2: #2f6fe0;--el-color-success: #0f9e76;--el-color-success-light-3: #5cc2a4;--el-color-success-light-5: #8ad4bf;--el-color-success-light-7: #b9e6da;--el-color-success-light-8: #d0efe7;--el-color-success-light-9: #e7f8f2;--el-color-success-dark-2: #0c8763;--el-color-warning: #d97706;--el-color-warning-light-9: #fdf4e8;--el-color-danger: #dc2626;--el-color-danger-light-9: #fdeaea;--el-color-info: #64748b;--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-box-shadow-light: 0 2px 8px rgba(15, 23, 42, .06);--el-font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}.el-button--primary:not(.is-plain):not(.is-text):not(.is-link){background:var(--brand-gradient-btn);border:none;color:#fff}.el-button--primary:not(.is-plain):not(.is-text):not(.is-link):hover,.el-button--primary:not(.is-plain):not(.is-text):not(.is-link):focus{background:var(--brand-gradient-btn);color:#fff;filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-brand)}.el-button--primary:not(.is-plain):not(.is-text):not(.is-link):active{transform:translateY(0);filter:brightness(.96)}.el-button{transition:transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease),background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.el-button:not(.el-button--primary):not(.is-text):hover{transform:translateY(-1px)}.el-card{border-radius:var(--radius-md);border:1px solid var(--c-border-light);box-shadow:var(--shadow-xs);transition:box-shadow var(--t-base) var(--ease),transform var(--t-base) var(--ease)}.el-table th.el-table__cell{background:var(--c-bg-soft);color:var(--c-text-3);font-weight:600}.el-table__body tr{transition:background-color var(--t-fast)}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{transition:box-shadow var(--t-base) var(--ease)}.el-dialog{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.el-dialog__header{margin-right:0}.el-tag{border-radius:var(--radius-sm)}.el-pagination.is-background .el-pager li.is-active{background:var(--brand-gradient-btn)}.switch-seg .el-radio-button__inner{padding:8px 22px;font-weight:500;border-color:var(--c-border-light, #dbe2ec);box-shadow:none;transition:all var(--t-base) var(--ease)}.switch-seg .el-radio-button:first-child .el-radio-button__inner{border-radius:16px 0 0 16px}.switch-seg .el-radio-button:last-child .el-radio-button__inner{border-radius:0 16px 16px 0}.switch-seg .el-radio-button__inner:hover{color:var(--brand-blue, #2563eb)}.switch-seg .el-radio-button.is-active .el-radio-button__inner{background:var(--brand-gradient-btn);border-color:transparent;box-shadow:none;color:#fff}.sort-stepper{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--c-border-light, #dbe2ec);border-radius:20px;background:#fff;vertical-align:middle;transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.sort-stepper:focus-within{border-color:var(--brand-blue, #2563eb);box-shadow:0 4px 14px #2563eb26}.sort-stepper .ss-btn{width:28px;height:28px;padding:0;border:none;border-radius:50%;background:var(--c-bg-soft, #f0f3f8);color:#6b7a90;font-size:17px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--t-base) var(--ease)}.sort-stepper .ss-btn:hover{background:var(--brand-gradient-btn);color:#fff;transform:scale(1.08);box-shadow:0 4px 10px #2563eb47}.sort-stepper .ss-btn:active{transform:scale(.94)}.sort-stepper .ss-input{width:46px;height:28px;border:none;outline:none;background:transparent;text-align:center;font-weight:600;font-size:14px;color:var(--c-text-1, #1f2d3d);-moz-appearance:textfield}.sort-stepper .ss-input::-webkit-outer-spin-button,.sort-stepper .ss-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sort-stepper.is-disabled{opacity:.6;background:var(--c-bg-soft, #f5f7fa)}.sort-stepper .ss-btn:disabled{opacity:.45;cursor:not-allowed}.sort-stepper .ss-btn:disabled:hover{background:var(--c-bg-soft, #f0f3f8);color:#6b7a90;transform:none;box-shadow:none}.sort-stepper .ss-input:disabled{cursor:not-allowed}.pill-radio{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.pill-radio .el-radio{margin:0;height:auto;min-height:32px;display:inline-flex;align-items:center;padding:3px 11px;border:1px solid var(--c-border-light, #dbe2ec);border-radius:12px;background:var(--c-bg-soft, #f5f7fa);cursor:pointer;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease),color .22s var(--ease)}.pill-radio .el-radio.is-bordered{border-color:var(--c-border-light, #dbe2ec)}.pill-radio .el-radio:not(.is-disabled):hover{border-color:var(--brand-blue, #2563eb);background:#fff;transform:translateY(-2px);box-shadow:0 6px 14px #2563eb2e}.pill-radio .el-radio:not(.is-disabled):hover .el-radio__label{color:var(--brand-blue, #2563eb)}.pill-radio .el-radio:not(.is-disabled):active{transform:translateY(0);box-shadow:0 2px 6px #2563eb26}.pill-radio .el-radio__input{display:none}.pill-radio .el-radio__label{padding-left:0;font-size:13px;line-height:1}.pill-radio .el-radio.is-checked{background:var(--brand-gradient-btn);border-color:transparent;box-shadow:0 4px 12px #2563eb40;animation:pillPop .28s var(--ease)}.pill-radio .el-radio.is-checked:not(.is-disabled):hover{background:var(--brand-gradient-btn);transform:translateY(-2px);box-shadow:0 8px 18px #2563eb52}.pill-radio .el-radio.is-checked:not(.is-disabled):hover .el-radio__label{color:#fff}@keyframes pillPop{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}.pill-radio .el-radio.is-checked .el-radio__label{color:#fff}.pill-radio .el-radio.is-disabled{opacity:.5;cursor:not-allowed}.pill-radio .el-radio.is-disabled:hover{border-color:var(--c-border-light, #dbe2ec)}.pill-radio .el-radio.is-disabled:hover .el-radio__label{color:var(--c-text-3)}.el-switch.is-checked .el-switch__core{background:var(--brand-gradient-btn);border-color:transparent}.el-switch .el-switch__core{transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}.el-form-item__content>.el-select,.el-form-item__content>.el-date-editor,.el-form-item__content>.el-cascader,.el-form-item__content>.el-input-number,.el-form-item__content>.el-autocomplete,.el-form-item__content>.el-input{width:100%}.el-dialog .el-form:not(.el-form--inline) .el-form-item__content>.el-input,.el-dialog .el-form:not(.el-form--inline) .el-form-item__content>.el-select,.el-dialog .el-form:not(.el-form--inline) .el-form-item__content>.el-cascader,.el-drawer .el-form:not(.el-form--inline) .el-form-item__content>.el-input,.el-drawer .el-form:not(.el-form--inline) .el-form-item__content>.el-select{max-width:460px}.el-dialog .el-form .el-form-item__content>.el-textarea,.el-drawer .el-form .el-form-item__content>.el-textarea{max-width:none}.el-descriptions__label{color:var(--c-text-3);font-weight:600;background:var(--c-bg-soft)}.el-descriptions .el-descriptions__cell{vertical-align:top}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-webkit-scrollbar-track{background:transparent}@keyframes fxFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fxFadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fxFadeInDown{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes fxZoomIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fxSpin{to{transform:rotate(360deg)}}@keyframes fxShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fxPulse{0%,to{opacity:1}50%{opacity:.5}}.fx-fade-in{animation:fxFadeIn var(--t-base, .25s) var(--ease, ease) both}.fx-rise{animation:fxFadeInUp var(--t-slow, .4s) var(--ease, ease) both}.fx-drop{animation:fxFadeInDown var(--t-slow, .4s) var(--ease, ease) both}.fx-zoom-in{animation:fxZoomIn var(--t-base, .25s) var(--ease, ease) both}.fx-stagger>*{animation:fxFadeInUp .45s var(--ease, ease) both}.fx-stagger>*:nth-child(1){animation-delay:.02s}.fx-stagger>*:nth-child(2){animation-delay:.06s}.fx-stagger>*:nth-child(3){animation-delay:.1s}.fx-stagger>*:nth-child(4){animation-delay:.14s}.fx-stagger>*:nth-child(5){animation-delay:.18s}.fx-stagger>*:nth-child(6){animation-delay:.22s}.fx-stagger>*:nth-child(7){animation-delay:.26s}.fx-stagger>*:nth-child(8){animation-delay:.3s}.fx-hover-lift{transition:transform var(--t-base, .25s) var(--ease, ease),box-shadow var(--t-base, .25s) var(--ease, ease)}.fx-hover-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-md, 0 6px 20px rgba(15,23,42,.09))}.fx-spin{animation:fxSpin .8s linear infinite}.fx-skeleton{background:#eef2f7;background-image:linear-gradient(90deg,#eef2f7 0px,#f6f8fb 200px,#eef2f7 400px);background-size:800px 100%;animation:fxShimmer 1.4s linear infinite;border-radius:var(--radius-sm, 6px)}.fade-enter-active,.fade-leave-active{transition:opacity var(--t-base, .25s) var(--ease, ease)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-up-enter-active{transition:opacity .28s var(--ease, ease),transform .28s var(--ease, ease)}.fade-up-leave-active{transition:opacity .16s ease;position:absolute;width:100%}.fade-up-enter-from{opacity:0;transform:translateY(12px)}.fade-up-leave-to{opacity:0}.zoom-enter-active{transition:opacity .22s var(--ease, ease),transform .22s var(--ease, ease)}.zoom-leave-active{transition:opacity .16s ease,transform .16s ease}.zoom-enter-from,.zoom-leave-to{opacity:0;transform:scale(.96)}.slide-right-enter-active,.slide-right-leave-active{transition:transform .28s var(--ease, ease),opacity .28s ease}.slide-right-enter-from,.slide-right-leave-to{transform:translate(24px);opacity:0}.list-enter-active{transition:all .35s var(--ease, ease)}.list-leave-active{transition:all .25s ease;position:absolute}.list-enter-from{opacity:0;transform:translateY(12px)}.list-leave-to{opacity:0;transform:translate(20px)}.list-move{transition:transform .35s var(--ease, ease)}.page,.dash{animation:fxFadeIn .32s var(--ease, ease)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
