#app{font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a2e;height:100%;width:100%}*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.text-left{text-align:left}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform .3s ease}.slide-enter-from,.slide-leave-to{transform:translateX(-100%)}@media(max-width:768px){.hidden-mobile{display:none!important}}@media(min-width:769px){.hidden-desktop{display:none!important}}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/static/fonts/inter-latin-ext.8e9860b6.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/static/fonts/inter-latin.e4af272c.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin-ext.6d831b18.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500 600;font-display:swap;src:url(/static/fonts/jetbrains-mono-latin.558ca1a6.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Font Awesome\ 6 Free;font-style:normal;font-weight:900;font-display:block;src:url(data:font/woff2;base64,d09GMgABAAAAAAM0AAoAAAAABxwAAALrAwAAQwAAAAAAAAAAAAAAAAAAAAAAAAAABmAATAqGWIUNATYCJAMQCwwABCAFgzQHIBuWBQAGHvg67f2ZsOCkJJIVkK7AM4hjoevSmf5+6l8UFVCL7z7pbECvYB0WFRSl4xEMR7NIiiTbTWCCUzeGogVGz/b5vQI6AZX4KS9DDaJKjAJKTfoNd5blJfQyJnTgP5FvaqzG/DHwk4O4abkJ4iZ5gAAQ6eI44AeABMiAgowAFFSkAVbokJA+Bn7c9LHrk4PFAv4n7Dvsp9kH2n1FUIJq0J8DtiA8QSQCACoAQDo6tH62oYFOilN91HBFHMm5XnI366ofLsfCTrmxO/x0sO3JyLOeYk/EmRDjwUhxNvUcv503VmK01RplG2bDdmvrtYbtSGZmzGroLuhEvvKBaEqTccc11mymJnzJWlfTTtHiYloTYmS3YXuw7UnXnZ6i6ZiVsTmg0HOPy44Qm2NSyk1n8nWio4LCUQNapyKSIQaF860kzKIMpFHNVqHCLL2J3USUAtFC32+rxV0f67zmrLx1a+Ucr7qPhxwdrQ5ZAeehPI+vd9rzQ40wMtLBYaRR1B2q4+DBPLtVq+wGHlYqLgXmM2d06MACc9nDxYt32druWt1iq8vL3gTp3viIRasgBp1bYBnsPvjlkV75WVvcobi2Z3IvAdiGD8/fHHtkb/8Ied/KqwnlL4NvMBLa4pAhXGhzW2mnzQBITaietishXQeyGdq2kNL+VBVs25K1W9FhPP3FC1qQtQWlQWKcFhT6Yb8DAAEyFH7pmTF+sH3WN521BED7rVM2eKnlpmQWNwEdkpFfBqzpLJMW/yUzgpQszKBTSQBVqMU8DEyPukpLP2SESg8kga8SJJCkkrBilEqmginjqjiVmhlcfpeGKBFDIZOZwlymMZbRjGEGfoQxnHD8KGEyk9jvy2c2I5nOZCYyci3oR4pSN83HzLxGJjOBsYzwhq0vjyaFGOLuyWiGMfKUDSURo37aLhvLZCalU0khLbI4jnjiSJgZiYE00r+r36dPzso2SwZ+T7WG5+myWVPeXT3aKTNpsrTiDg==) format("woff2")}.fa,.fa-solid,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-solid,.fas{font-family:Font Awesome\ 6 Free;font-weight:900}.fa-envelope:before{content:""}.fa-lock:before{content:""}.fa-spinner:before{content:""}.fa-arrow-right-to-bracket:before{content:""}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.fa-pulse,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1}}:root{--ds-page:#f8f9fb;--ds-card:#fff;--ds-border:#e4e7ec;--ds-border-light:#f1f3f6;--ds-text:#1a1a2e;--ds-text-2:#8892a8;--ds-text-3:#aeb8c7;--ds-text-regular:#4b505e;--ds-hover:#f1f3f6;--ds-blue:#253aed;--ds-blue-light:#6089ff;--ds-blue-soft:rgba(96,137,255,.1);--ds-navy:#0f1729;--ds-navy-hover:#1a2540;--ds-navy-active:#1e2f52;--ds-success:#15803d;--ds-success-bg:#dcfce7;--ds-warning:#b45309;--ds-warning-bg:#fef3c7;--ds-danger:#dc2626;--ds-danger-bg:#fef2f2;--ds-info:#6b7489;--ds-info-bg:#f1f3f6;--ds-radius-sm:8px;--ds-radius-md:12px;--ds-radius-lg:16px;--ds-radius-xl:18px;--ds-radius-round:100px;--ds-shadow-sm:0 1px 3px rgba(15,23,41,.04);--ds-shadow-hover:0 12px 24px -8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.05);--ds-shadow-lg:0 20px 60px rgba(0,0,0,.2);--ds-gradient:linear-gradient(135deg,#6089ff,#253aed);--sidebar-bg:#0f1729;--navbar-bg:#fff}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}a{color:#253aed;text-decoration:none}button{cursor:pointer;border:none;outline:none}:root{--el-color-primary:#253aed;--el-color-primary-light-3:#6675f2;--el-color-primary-light-5:#929cf6;--el-color-primary-light-7:#bec4fa;--el-color-primary-light-8:#d3d8fb;--el-color-primary-light-9:#e9ebfd;--el-color-primary-dark-2:#1e2ebe;--el-color-success:#15803d;--el-color-success-light-9:#dcfce7;--el-color-success-dark-2:#116631;--el-color-warning:#b45309;--el-color-warning-light-9:#fef3c7;--el-color-warning-dark-2:#92400e;--el-color-danger:#dc2626;--el-color-danger-light-9:#fef2f2;--el-color-info:#6b7489;--el-color-info-light-9:#f1f3f6;--el-text-color-primary:#1a1a2e;--el-text-color-regular:#4b505e;--el-text-color-secondary:#8892a8;--el-text-color-placeholder:#aeb8c7;--el-text-color-disabled:#aeb8c7;--el-border-color:#e4e7ec;--el-border-color-light:#e4e7ec;--el-border-color-lighter:#f1f3f6;--el-border-color-extra-light:#f1f3f6;--el-border-color-hover:#cdd3dd;--el-fill-color:#f1f3f6;--el-fill-color-light:#f8f9fb;--el-fill-color-lighter:#f8f9fb;--el-fill-color-blank:#fff;--el-bg-color-page:#f8f9fb;--el-disabled-bg-color:#f1f3f6;--el-disabled-text-color:#aeb8c7;--el-disabled-border-color:#e4e7ec;--el-border-radius-base:12px;--el-border-radius-small:8px;--el-component-size:36px;--el-component-size-large:44px;--el-component-size-small:28px;--el-box-shadow:0 20px 60px rgba(0,0,0,.2);--el-box-shadow-light:0 4px 16px rgba(15,23,41,.08);--el-font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;--el-font-size-base:14px;--el-overlay-color-lighter:rgba(15,23,41,.5)}.el-button{--el-button-font-weight:600;--el-button-bg-color:#f1f3f6;--el-button-border-color:transparent;--el-button-text-color:#4b505e;--el-button-hover-bg-color:#e4e7ec;--el-button-hover-border-color:transparent;--el-button-hover-text-color:#1a1a2e;--el-button-active-bg-color:#e4e7ec;--el-button-active-border-color:transparent;--el-button-active-text-color:#1a1a2e;--el-button-disabled-bg-color:#f1f3f6;--el-button-disabled-border-color:transparent;--el-button-disabled-text-color:#aeb8c7;padding:10px 18px;height:auto;font-size:13px;border-radius:12px}.el-button--primary:not(.is-link):not(.is-text):not(.is-plain){--el-button-bg-color:#0f1729;--el-button-border-color:#0f1729;--el-button-hover-bg-color:#1a2540;--el-button-hover-border-color:#1a2540;--el-button-active-bg-color:#0c1221;--el-button-active-border-color:#0c1221;--el-button-disabled-bg-color:#c8cdd8;--el-button-disabled-border-color:#c8cdd8;--el-button-disabled-text-color:#fff}.el-button--danger:not(.is-link):not(.is-text):not(.is-plain){--el-button-bg-color:#fef2f2;--el-button-border-color:#fef2f2;--el-button-text-color:#dc2626;--el-button-hover-bg-color:#fecaca;--el-button-hover-border-color:#fecaca;--el-button-hover-text-color:#dc2626;--el-button-active-bg-color:#fecaca;--el-button-active-text-color:#dc2626}.el-button--success:not(.is-link):not(.is-text):not(.is-plain){--el-button-bg-color:#dcfce7;--el-button-border-color:#dcfce7;--el-button-text-color:#15803d;--el-button-hover-bg-color:#bbf7d0;--el-button-hover-border-color:#bbf7d0;--el-button-hover-text-color:#15803d;--el-button-active-bg-color:#bbf7d0;--el-button-active-text-color:#15803d}.el-button--warning:not(.is-link):not(.is-text):not(.is-plain){--el-button-bg-color:#fef3c7;--el-button-border-color:#fef3c7;--el-button-text-color:#b45309;--el-button-hover-bg-color:#fde68a;--el-button-hover-border-color:#fde68a;--el-button-hover-text-color:#b45309;--el-button-active-bg-color:#fde68a;--el-button-active-text-color:#b45309}.el-button--small{padding:6px 12px;font-size:12px;border-radius:8px}.el-button--large{padding:12px 22px;font-size:14px}.el-button.is-link{font-weight:600}.el-button.is-round{border-radius:100px}.el-input{--el-input-bg-color:#f8f9fb;--el-input-border-color:#e4e7ec;--el-input-hover-border-color:#cdd3dd;--el-input-focus-border-color:#6089ff;--el-input-border-radius:12px;--el-input-placeholder-color:#aeb8c7}.el-input__wrapper{transition:box-shadow .2s ease,background-color .2s ease}.el-input__wrapper.is-focus,.el-textarea__inner:focus{background-color:#fff;box-shadow:inset 0 0 0 1px #6089ff,0 0 0 4px rgba(96,137,255,.1)}.el-textarea__inner{background-color:#f8f9fb;border-radius:12px;box-shadow:inset 0 0 0 1px #e4e7ec;padding:10px 12px;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;transition:box-shadow .2s ease,background-color .2s ease}.el-textarea__inner:hover{box-shadow:inset 0 0 0 1px #cdd3dd}.el-select__wrapper{min-height:36px;background-color:#f8f9fb;border-radius:12px;box-shadow:inset 0 0 0 1px #e4e7ec;transition:box-shadow .2s ease,background-color .2s ease}.el-select__wrapper:hover{box-shadow:inset 0 0 0 1px #cdd3dd}.el-select__wrapper.is-focused{background-color:#fff;box-shadow:inset 0 0 0 1px #6089ff,0 0 0 4px rgba(96,137,255,.1)}.el-input-number .el-input__wrapper{border-radius:12px}.el-form-item__label{font-weight:500;color:#4b505e;font-size:13px}.el-form-item__error{font-size:11px}.el-table{--el-table-border-color:#f1f3f6;--el-table-text-color:#1a1a2e;--el-table-header-text-color:#8892a8;--el-table-header-bg-color:#f8f9fb;--el-table-row-hover-bg-color:#f8f9fb;--el-table-current-row-bg-color:#e9ebfd;font-size:13px}.el-table th.el-table__cell{padding:12px 0;border-bottom:1px solid #e4e7ec}.el-table th.el-table__cell .cell{font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.el-table td.el-table__cell{padding:12px 0}.el-table .cell{padding:0 16px;line-height:1.5}.el-table .el-table__row:hover>td.el-table__cell{background-color:#f8f9fb}.el-table__inner-wrapper:before{background-color:#e4e7ec}.el-tag{--el-tag-border-radius:100px;--el-tag-font-size:11px;height:auto;padding:4px 10px;border-width:0;font-weight:600;line-height:1.4}.el-tag--large{padding:6px 12px;font-size:12px}.el-tag--small{padding:3px 8px;font-size:10px}.el-card{--el-card-border-radius:16px;--el-card-border-color:#e4e7ec;--el-card-padding:20px;box-shadow:none;transition:box-shadow .2s ease}.el-card:hover{box-shadow:0 12px 24px -8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.05)}.el-card__header{border-bottom:1px solid #f1f3f6;padding:16px 20px;font-weight:600;font-size:16px;color:#1a1a2e}.el-dialog{--el-dialog-border-radius:18px;--el-dialog-padding-primary:24px;--el-dialog-box-shadow:0 20px 60px rgba(0,0,0,.2)}.el-dialog__header{font-weight:700;font-size:16px;margin-right:0}.el-dialog__headerbtn{top:20px;right:20px}.el-dialog__body{padding-top:4px}.el-message-box{--el-messagebox-border-radius:18px;--el-messagebox-padding-primary:24px}.el-drawer{--el-drawer-padding-primary:24px}.el-dropdown__popper.el-popper,.el-picker__popper.el-popper,.el-popover.el-popper,.el-select__popper.el-popper{border-radius:12px;border-color:#e4e7ec;box-shadow:0 8px 24px rgba(15,23,41,.12)}.el-dropdown-menu__item{font-size:13px}.el-dropdown-menu__item:not(.is-disabled):focus{background:#f8f9fb;color:#253aed}.el-select-dropdown__item.is-selected{color:#253aed;font-weight:600}.el-pagination{--el-pagination-hover-color:#253aed;--el-pagination-button-bg-color:transparent;--el-pagination-font-size:13px;font-weight:500}.el-pagination .el-pager li{border-radius:8px;font-weight:500}.el-pagination .el-pager li.is-active{background:#0f1729;color:#fff;font-weight:600}.el-pagination button{border-radius:8px}.el-tabs__item{font-weight:500;color:#8892a8}.el-tabs__item.is-active{font-weight:600;color:#253aed}.el-tabs__active-bar{height:2px;background-color:#253aed}.el-radio-button__inner{border-color:#e4e7ec;color:#4b505e;font-weight:600}.el-radio-button__original-radio:checked+.el-radio-button__inner{background:#0f1729;border-color:#0f1729;box-shadow:-1px 0 0 0 #0f1729}.el-radio-button:first-child .el-radio-button__inner{border-radius:8px 0 0 8px}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 8px 8px 0}.el-descriptions{--el-descriptions-item-bordered-label-background:#f8f9fb;font-size:13px}.el-descriptions__label{color:#8892a8!important;font-weight:600!important}.el-alert{border-radius:12px;padding:12px 14px}.el-message{border-radius:12px;box-shadow:0 8px 24px rgba(15,23,41,.12)}.el-notification{border-radius:16px}.el-empty{--el-empty-padding:32px 0}.el-empty__description p{color:#8892a8;font-size:13px}.el-collapse{border-color:#f1f3f6}.el-collapse-item__header{font-weight:600;color:#1a1a2e}.el-divider{border-color:#f1f3f6}.el-switch{--el-switch-on-color:#253aed}.el-checkbox__label,.el-radio__label{font-size:13px}.el-upload-dragger{border-radius:12px;border-color:#e4e7ec}.el-upload-dragger:hover{border-color:#6089ff}.el-loading-mask{background-color:hsla(0,0%,100%,.75)}.el-scrollbar__thumb{background-color:#cdd3dd}.el-step__title{font-size:13px;font-weight:600}.el-badge__content{border-radius:100px}.el-image-viewer__wrapper{--el-image-viewer-close-icon-color:#fff}.billing-workspace{color:#1a1a2e}.billing-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.billing-eyebrow{margin:0 0 6px;color:#253aed;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.billing-page-head h1{margin:0;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.025em}.billing-page-head p:last-child{margin:7px 0 0;color:#8892a8;font-size:13px}.billing-primary-btn.el-button{min-height:40px;padding:0 18px;box-shadow:0 6px 16px rgba(15,23,41,.18)}.billing-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.billing-stat{position:relative;overflow:hidden;padding:18px 20px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;transition:box-shadow .15s ease}.billing-stat:hover{box-shadow:0 12px 24px -8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.05)}.billing-stat:before{position:absolute;inset:0 auto 0 0;width:3px;background:#253aed;content:""}.billing-stat.is-draft:before{background:#f59e0b}.billing-stat.is-confirmed:before{background:#22c55e}.billing-stat.is-total:before{background:#0f1729}.billing-stat span{display:block;color:#8892a8;font-size:12px}.billing-stat strong{display:block;margin-top:7px;font-size:28px;line-height:1.1;font-weight:800;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;letter-spacing:-.02em}.billing-panel{border:1px solid #e4e7ec;border-radius:16px;background:#fff}.billing-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #f1f3f6}.billing-panel-head h2{margin:0;font-size:16px}.billing-panel-body{padding:20px}.billing-ledger-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:18px;overflow:hidden;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.billing-ledger-step{position:relative;display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 16px;border-right:1px solid #e4e7ec;color:#aeb8c7;font-size:12px}.billing-ledger-step:last-child{border-right:0}.billing-ledger-step b{display:grid;width:24px;height:24px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:11px}.billing-ledger-step strong{display:block;color:inherit;font-size:13px}.billing-ledger-step small{display:block;margin-top:2px;color:#aeb8c7}.billing-ledger-step.is-active{color:#253aed;background:#e9ebfd}.billing-ledger-step.is-done{color:#15803d;background:#f6fbf9}.billing-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.billing-form-grid .is-full{grid-column:1/-1}.billing-money{font-variant-numeric:tabular-nums;font-weight:650}.billing-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.billing-muted{color:#8892a8}.billing-total-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #e4e7ec;border-radius:12px;background:#e4e7ec}.billing-total-cell{padding:15px 17px;background:#fff}.billing-total-cell span{display:block;color:#8892a8;font-size:11px}.billing-total-cell strong{display:block;margin-top:6px;font-size:16px;font-variant-numeric:tabular-nums}.billing-total-cell.is-grand{background:#0f1729;color:#fff}.billing-total-cell.is-grand span{color:hsla(0,0%,100%,.55)}@media(max-width:980px){.billing-ledger-steps,.billing-stat-grid,.billing-total-strip{grid-template-columns:repeat(2,1fr)}.billing-ledger-step:nth-child(2){border-right:0}.billing-ledger-step:nth-child(-n+2){border-bottom:1px solid #e4e7ec}}@media(max-width:680px){.billing-page-head{align-items:flex-start;flex-direction:column}.billing-form-grid,.billing-stat-grid,.billing-total-strip{grid-template-columns:1fr}.billing-form-grid .is-full{grid-column:auto}}.master-data-page{font-variant-numeric:tabular-nums}.master-hierarchy{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(250px,.85fr) minmax(440px,2fr);gap:14px;align-items:start}.master-hierarchy.rules-hierarchy{grid-template-columns:minmax(280px,.85fr) minmax(520px,2.15fr)}.master-column,.master-detail-panel{min-height:620px;overflow:hidden}.detail-toolbar,.master-search{padding:12px 14px}.detail-toolbar{display:flex;align-items:center;gap:12px;color:#8892a8;font-size:12px}.detail-toolbar .el-input{max-width:320px}.master-list-row,.version-node{width:calc(100% - 16px);min-height:58px;margin:4px 8px;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:#4b505e;display:flex;align-items:flex-start;text-align:left;cursor:pointer;font:inherit;transition-property:background-color,color,box-shadow;transition-duration:.18s}.master-list-row{flex-direction:column;justify-content:center}.master-list-row.active,.master-list-row:hover{background:#e9ebfd;color:#253aed}.master-list-row.active{box-shadow:inset 3px 0 #253aed}.master-list-row strong,.version-node strong{display:block;font-size:13px}.master-list-row span,.version-node small{display:block;margin-top:4px;color:#aeb8c7;font-size:11px}.version-timeline{position:relative;padding:6px 0 10px}.version-timeline:before{content:"";position:absolute;top:20px;bottom:24px;left:25px;width:1px;background:#e4e7ec}.version-node{position:relative;gap:11px;padding-left:11px}.version-node i{position:relative;z-index:1;width:13px;height:13px;margin-top:3px;border:3px solid #fff;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 1px #e4e7ec;flex:0 0 auto}.version-node.is-available i{background:#22c55e}.version-node.is-archived i{background:#aeb8c7}.version-node.active,.version-node:hover{background:#f8f9fb}.version-node.active{color:#253aed;box-shadow:inset 3px 0 #253aed}.detail-head{min-height:74px}.detail-head p,.master-column .billing-panel-head p{margin:4px 0 0;color:#8892a8;font-size:11px}.master-empty{min-height:260px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8892a8;text-align:center}.master-empty strong{color:#4b505e;font-size:14px}.master-empty span{max-width:320px;font-size:12px;line-height:1.6;text-wrap:pretty}.master-empty.compact{min-height:160px;padding:22px}.master-toolbar{gap:18px}.master-toolbar h2+p{margin:4px 0 0;color:#8892a8;font-size:11px}.master-filters{display:flex;align-items:center;gap:8px}.master-filters .el-input{width:260px}.master-filters .el-select{width:130px}.rule-kind-strip{display:flex;gap:4px;padding:10px 14px;background:#f8f9fb}.rule-kind-strip button{min-height:40px;padding:7px 13px;border:0;border-radius:8px;background:transparent;color:#8892a8;cursor:pointer;font:inherit;font-size:12px;transition-property:background-color,color,box-shadow;transition-duration:.18s}.rule-kind-strip button.active,.rule-kind-strip button:hover{background:#fff;color:#253aed;box-shadow:0 1px 3px rgba(15,23,41,.04)}.master-data-page .el-pagination{justify-content:flex-end;padding:14px}.master-data-page h1,.master-data-page h2{text-wrap:balance}@media(max-width:1180px){.master-hierarchy,.master-hierarchy.rules-hierarchy{grid-template-columns:minmax(220px,.75fr) minmax(420px,1.5fr)}.master-hierarchy>.timeline-column{grid-column:1}.master-hierarchy>.master-detail-panel{grid-column:2;grid-row:1/span 2}}@media(max-width:820px){.master-hierarchy,.master-hierarchy.rules-hierarchy{grid-template-columns:1fr}.master-hierarchy>.master-detail-panel,.master-hierarchy>.timeline-column{grid-column:1;grid-row:auto}.master-column,.master-detail-panel{min-height:auto}.detail-toolbar,.master-filters{align-items:stretch;flex-direction:column}.detail-toolbar .el-input,.master-filters .el-input,.master-filters .el-select{width:100%;max-width:none}}body{font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;color:#1a1a2e;background:#f8f9fb;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:#1a1a2e;font-weight:700;letter-spacing:-.01em}b,strong{font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cdd3dd;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#aeb8c7}.card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px;transition:transform .15s ease,box-shadow .15s ease}.card:hover{box-shadow:0 12px 24px -8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.05)}.card.p-0{padding:0}.card+.card{margin-top:16px}.stat-card{border-left:3px solid #253aed}.stat-card .stat-value{font-size:28px;font-weight:800;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;letter-spacing:-.02em}.stat-card .stat-label{font-size:12px;color:#8892a8;margin-top:2px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title{font-size:26px;font-weight:800;color:#1a1a2e;letter-spacing:-.02em}.page-subtitle{font-size:13px;color:#8892a8;margin-top:2px}.filter-bar{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;padding:14px 18px;border-radius:14px;border:1px solid #e4e7ec;margin-bottom:20px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600}.badge-pending{background:#fef3c7;color:#b45309}.badge-approved,.badge-confirmed{background:#dcfce7;color:#15803d}.badge-rejected{background:#fecaca;color:#dc2626}.badge-reclaimed,.badge-voided{background:#f1f3f6;color:#6b7489}.badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-dot.pending{background:#f59e0b;animation:pulse 2s infinite}.badge-dot.approved,.badge-dot.confirmed{background:#22c55e}.badge-dot.rejected{background:#ef4444}.badge-dot.reclaimed,.badge-dot.voided{background:#aeb8c7}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:12px;font-size:13px;font-weight:600;border:none;cursor:pointer;text-decoration:none;transition:all .15s ease}.btn-primary{background:#0f1729;color:#fff}.btn-primary:hover{background:#1a2540}.btn-secondary{background:#f1f3f6;color:#4b505e}.btn-secondary:hover{background:#e4e7ec}.btn-danger{background:#fef2f2;color:#dc2626}.btn-danger:hover{background:#fecaca}.btn-success{background:#dcfce7;color:#15803d}.btn-success:hover{background:#bbf7d0}.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:18px}.form-label{display:block;font-size:11px;font-weight:600;color:#8892a8;letter-spacing:.06em;margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;background:#f8f9fb;border:1px solid #e4e7ec;border-radius:12px;font-size:14px;font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;color:#1a1a2e;outline:none;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6089ff;background:#fff;box-shadow:0 0 0 4px rgba(96,137,255,.1)}.form-textarea{resize:vertical;min-height:80px}.empty-state{text-align:center;padding:48px 20px;color:#aeb8c7}.empty-state svg{width:56px;height:56px;margin-bottom:12px;opacity:.4}.loading-text{color:#aeb8c7;text-align:center;padding:32px;font-size:14px}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-slide-in{animation:slideIn .4s ease-out both}.animate-fade-in{animation:fadeIn .3s ease-out both}.text-right{text-align:right}.text-center{text-align:center}.text-mono{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}.flex{display:flex}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mr-2{margin-right:8px}.ml-2{margin-left:8px}.mr-10{margin-right:10px}.ml-10{margin-left:10px}.p-4{padding:16px}.p-6{padding:24px}.p-20{padding:20px}.rounded-xl{border-radius:12px}.rounded-2xl{border-radius:16px}.w-full{width:100%}.max-w-xl{max-width:560px}.max-w-2xl{max-width:672px}.mx-auto{margin-left:auto;margin-right:auto}.hidden{display:none}.inline-block{display:inline-block}.relative{position:relative}.overflow-x-auto{overflow-x:auto}.cursor-pointer{cursor:pointer}.transition{transition:all .15s ease}.space-y-2>*+*{margin-top:8px}.space-y-3>*+*{margin-top:12px}.space-x-2>*+*{margin-left:8px}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-lg{font-size:16px}.text-xl{font-size:20px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray{color:#4b505e}.text-gray-light{color:#8892a8}.text-muted{color:#aeb8c7}.text-primary{color:#253aed}.text-red{color:#dc2626}.text-green{color:#15803d}.text-blue{color:#253aed}.text-amber{color:#b45309}.text-success{color:#15803d}.text-warning{color:#b45309}.text-danger{color:#dc2626}