.app-root-shell[data-v-00e9d19d]{position:relative;min-height:100vh}.app-watermark-layer[data-v-00e9d19d]{position:fixed;inset:0;pointer-events:none;z-index:50;background-position:0 0}.assistant-float-wrap[data-v-eb1507d9]{position:fixed;z-index:2000}.assistant-float[data-v-eb1507d9]{width:52px;height:52px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 8px 20px #2563eb2e}.assistant-float[data-v-eb1507d9]:active{cursor:grabbing}.assistant-float.is-disabled-state[data-v-eb1507d9]{opacity:.86}.layout-shell[data-v-ef615eff]{display:flex;min-height:100vh;background:var(--app-bg)}.layout-sidebar[data-v-ef615eff]{width:228px;flex-shrink:0;background:var(--app-dark-gradient);color:#fff;transition:width .2s ease;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06)}.layout-sidebar.collapsed[data-v-ef615eff]{width:68px}.brand-wrap[data-v-ef615eff]{min-height:64px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark[data-v-ef615eff]{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;background:var(--app-primary-gradient)}.brand-mark.has-logo[data-v-ef615eff]{background:transparent}.brand-logo[data-v-ef615eff]{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.brand-title[data-v-ef615eff]{font-size:15px;font-weight:700}.brand-subtitle[data-v-ef615eff]{font-size:12px;color:#ffffff8f}.menu-scrollbar[data-v-ef615eff]{flex:1;padding:10px 8px 14px}[data-v-ef615eff] .sidebar-menu,[data-v-ef615eff] .sidebar-menu.el-menu{border-right:none}[data-v-ef615eff] .sidebar-menu .el-menu-item,[data-v-ef615eff] .sidebar-menu .el-sub-menu__title{height:40px;line-height:40px;border-radius:10px;margin-bottom:4px}[data-v-ef615eff] .sidebar-menu .el-menu-item.is-active{background:linear-gradient(135deg,#5b8cfff5,#2563ebeb)}.layout-main[data-v-ef615eff]{flex:1;min-width:0;display:flex;flex-direction:column}.header-right[data-v-ef615eff]{display:flex;align-items:center;gap:12px}.sidebar-brand-badge[data-v-ef615eff]{margin:8px 12px 12px;padding:7px 8px;border-radius:10px;font-size:11px;color:#b8c7dbb8;text-align:center;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.layout-sidebar.collapsed .sidebar-brand-badge[data-v-ef615eff]{margin-inline:10px;padding-inline:0}.header-notice-panel[data-v-ef615eff]{display:flex;flex-direction:column;gap:10px}.header-notice-panel__title[data-v-ef615eff]{display:flex;align-items:center;justify-content:space-between}.header-notice-list[data-v-ef615eff]{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto}.header-notice-item[data-v-ef615eff]{border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:8px 10px;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.header-notice-item[data-v-ef615eff]:hover{border-color:#2563eb29;background:linear-gradient(180deg,#fff,#f8fbff)}.header-notice-item__title[data-v-ef615eff]{font-size:13px;font-weight:700;color:#172033;display:flex;align-items:center;gap:8px}.header-notice-item__meta[data-v-ef615eff],.header-notice-item__content[data-v-ef615eff]{margin-top:6px;font-size:12px;color:var(--el-text-color-secondary);line-height:1.7}.notice-dot[data-v-ef615eff]{width:8px;height:8px;border-radius:50%;background:#409eff}.layout-header[data-v-ef615eff]{height:62px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--app-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(226,232,240,.82);box-shadow:0 6px 18px #0f172a0a;position:sticky;top:0;z-index:10}.header-left[data-v-ef615eff],.header-right[data-v-ef615eff],.user-entry[data-v-ef615eff]{display:flex;align-items:center}.header-left[data-v-ef615eff]{gap:10px;flex:0 1 auto;min-width:0}.header-title-wrap[data-v-ef615eff]{min-width:0}.header-center[data-v-ef615eff]{flex:1;display:flex;justify-content:center;min-width:0;padding:0 18px}.header-search-wrap[data-v-ef615eff]{position:relative;width:min(100%,560px)}.header-search-input[data-v-ef615eff] .el-input__wrapper{border-radius:999px;box-shadow:0 0 0 1px #94a3b82e inset;background:#fffffff5}.header-search-popover[data-v-ef615eff]{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:30;border-radius:16px;border:1px solid rgba(226,232,240,.95);background:#fffffffa;box-shadow:0 18px 48px #0f172a29;overflow:hidden}.header-search-result-list[data-v-ef615eff]{display:flex;flex-direction:column;max-height:420px;overflow:auto}.header-search-result-item[data-v-ef615eff]{width:100%;padding:12px 14px;border:none;border-bottom:1px solid rgba(226,232,240,.76);background:transparent;text-align:left;cursor:pointer}.header-search-result-item[data-v-ef615eff]:last-child{border-bottom:none}.header-search-result-item[data-v-ef615eff]:hover,.header-search-result-item.is-active[data-v-ef615eff]{background:linear-gradient(180deg,#eff6ffeb,#f8fafcf5)}.header-search-result-item__title[data-v-ef615eff]{font-size:14px;font-weight:700;color:var(--app-text-primary, #0f172a)}.header-search-result-item__meta[data-v-ef615eff]{margin-top:4px;font-size:12px;color:var(--app-text-secondary, #64748b);line-height:1.6}.header-search-empty[data-v-ef615eff]{padding:14px 16px}.header-search-empty__title[data-v-ef615eff]{font-size:14px;font-weight:700;color:var(--app-text-primary, #0f172a)}.header-search-empty__desc[data-v-ef615eff]{margin-top:4px;font-size:12px;line-height:1.7;color:var(--app-text-secondary, #64748b)}.header-right[data-v-ef615eff]{gap:10px;flex:0 0 auto}.header-icon-btn[data-v-ef615eff]{border:1px solid rgba(226,232,240,.92)}.header-title[data-v-ef615eff]{font-size:16px;font-weight:700}.header-breadcrumb[data-v-ef615eff]{margin-top:4px}.layout-content[data-v-ef615eff]{padding:14px;flex:1;min-height:0;overflow:auto}.layout-footer[data-v-ef615eff]{display:flex;justify-content:center;align-items:center;gap:8px;padding:0 20px 18px;font-size:12px;color:var(--app-text-secondary)}.user-entry[data-v-ef615eff]{gap:10px;padding:6px 10px;border-radius:12px;border:1px solid rgba(226,232,240,.92);background:linear-gradient(180deg,#fffffffa,#f8fafff0);cursor:pointer}.user-avatar[data-v-ef615eff]{width:30px;height:30px;border-radius:10px;background:var(--app-primary-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0}.user-avatar__image[data-v-ef615eff]{width:100%;height:100%;object-fit:cover;display:block}.user-name[data-v-ef615eff]{font-size:14px;font-weight:600;color:var(--app-text-primary)}.user-meta[data-v-ef615eff]{font-size:12px;color:var(--app-text-secondary)}.fade-slide-enter-active[data-v-ef615eff],.fade-slide-leave-active[data-v-ef615eff]{transition:all .2s ease}.fade-slide-enter-from[data-v-ef615eff],.fade-slide-leave-to[data-v-ef615eff]{opacity:0;transform:translateY(6px)}.tenant-switch-wrap[data-v-ef615eff]{display:flex;align-items:center;gap:8px}.tenant-switch-label[data-v-ef615eff]{font-size:12px;color:var(--app-text-secondary, #6b7280)}.tenant-option-row[data-v-ef615eff]{display:flex;align-items:center;justify-content:space-between;gap:12px}.tenant-balance-chip[data-v-ef615eff]{min-width:120px;padding:6px 10px;border-radius:12px;background:linear-gradient(180deg,#fffffffa,#f8fafff0);border:1px solid var(--app-border);box-shadow:none}.tenant-balance-chip.is-negative[data-v-ef615eff]{background:#fff7f7;border-color:#ef44442e}.tenant-balance-chip__label[data-v-ef615eff]{font-size:11px;color:var(--app-text-secondary, #6b7280)}.tenant-balance-chip__value[data-v-ef615eff]{margin-top:2px;font-size:15px;line-height:1.1;font-weight:800;color:var(--app-text-primary, #111827)}.tenant-balance-chip__meta[data-v-ef615eff]{margin-top:4px;font-size:11px;color:var(--app-text-secondary, #6b7280);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1280px){.tenant-balance-chip[data-v-ef615eff]{display:none}.header-center[data-v-ef615eff]{padding-inline:12px}.header-search-wrap[data-v-ef615eff]{width:min(100%,420px)}}@media(max-width:1024px){.tenant-switch-label[data-v-ef615eff]{display:none}.header-search-wrap[data-v-ef615eff]{width:min(100%,320px)}}:root{--app-bg: linear-gradient(180deg, #f7faff 0%, #f3f6fb 100%);--app-card-bg: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,250,255,.96) 100%);--app-border: #e5e7eb;--app-border-strong: #d6dbe5;--app-text-primary: #0f172a;--app-text-regular: #334155;--app-text-secondary: #64748b;--app-primary: #2563eb;--app-primary-soft: rgba(37, 99, 235, .08);--app-sidebar-bg: #111827;--app-header-bg: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(248,250,255,.92) 100%);--app-shadow: 0 10px 28px rgba(15, 23, 42, .05);--app-shadow-soft: 0 4px 14px rgba(15, 23, 42, .04);--app-primary-gradient: linear-gradient(135deg, #5b8cff 0%, #2563eb 100%);--app-success-gradient: linear-gradient(135deg, #34d399 0%, #10b981 100%);--app-warning-gradient: linear-gradient(135deg, #f6c453 0%, #d89a1b 100%);--el-color-warning: #c0841a;--el-color-warning-light-3: #d39b3a;--el-color-warning-light-5: #e3b95d;--el-color-warning-light-7: #f2dbab;--el-color-warning-light-8: #f7e8c4;--el-color-warning-light-9: #fff8eb;--el-color-warning-dark-2: #9a6110;--app-danger-gradient: linear-gradient(135deg, #fb7185 0%, #ef4444 100%);--app-dark-gradient: linear-gradient(180deg, #172554 0%, #111827 100%);--app-radius-lg: 16px;--app-radius-md: 12px;--app-radius-sm: 10px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;background:var(--app-bg);color:var(--app-text-primary)}body{min-width:1120px}a{color:inherit;text-decoration:none}.el-card{border:1px solid var(--app-border);border-radius:var(--app-radius-md);box-shadow:none;background:var(--app-card-bg)}.el-card__header{border-bottom-color:var(--app-border)}.el-dialog,.el-message-box{border-radius:var(--app-radius-md)}.el-drawer,.el-dialog{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.el-button{border-radius:10px;box-shadow:none;font-weight:500}.el-button--small{padding-inline:10px}.el-button--primary{border-color:#2563eb29;background:var(--app-primary-gradient)}.el-button--primary:hover,.el-button--primary:focus{border-color:#1d4ed82e;background:linear-gradient(135deg,#4f7ef5,#1d4ed8)}.el-button--success{border-color:#10b98129;background:var(--app-success-gradient)}.el-button--warning{border-color:#f59e0b29;background:var(--app-warning-gradient)}.el-button--danger{border-color:#ef444429;background:var(--app-danger-gradient)}.el-button--primary:not(.is-plain):not(.is-text):not(.is-link),.el-button--success:not(.is-plain):not(.is-text):not(.is-link),.el-button--warning:not(.is-plain):not(.is-text):not(.is-link),.el-button--danger:not(.is-plain):not(.is-text):not(.is-link){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,.el-button--success:not(.is-plain):not(.is-text):not(.is-link):hover,.el-button--success:not(.is-plain):not(.is-text):not(.is-link):focus,.el-button--warning:not(.is-plain):not(.is-text):not(.is-link):hover,.el-button--warning:not(.is-plain):not(.is-text):not(.is-link):focus,.el-button--danger:not(.is-plain):not(.is-text):not(.is-link):hover,.el-button--danger:not(.is-plain):not(.is-text):not(.is-link):focus{color:#fff}.el-button--primary.is-plain{background:#5b8cff14;color:#245bdb;border-color:#5b8cff2e}.el-button--primary.is-plain:hover,.el-button--primary.is-plain:focus{background:var(--app-primary);color:#fff;border-color:var(--app-primary)}.el-input__wrapper,.el-textarea__wrapper,.el-select__wrapper,.el-date-editor.el-input,.el-date-editor.el-input__wrapper,.el-input-number,.el-cascader .el-input__wrapper{border-radius:10px;box-shadow:0 0 0 1px var(--app-border) inset!important;background:#fff}.el-input__wrapper:hover,.el-textarea__wrapper:hover,.el-select__wrapper:hover,.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--app-border-strong) inset!important}.el-input__wrapper.is-focus,.el-textarea__wrapper.is-focus,.el-select__wrapper.is-focused,.el-date-editor.el-input__wrapper.is-focus,.el-date-editor.el-input__wrapper:focus-within{box-shadow:0 0 0 1px #2563eb42 inset!important}.el-table{--el-table-border-color: var(--app-border);--el-table-header-bg-color: #f8fafc}.el-table th.el-table__cell,.el-table td.el-table__cell{padding:10px 0}.el-form-item{margin-bottom:16px}.el-tag,.el-radio-button__inner,.el-segmented,.el-segmented__item{border-radius:10px}.page-shell{padding:12px}.page-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:6px;min-height:0}.page-toolbar>div:first-child{min-width:0}.page-title,.page-subtitle{display:none}.content-card+.content-card{margin-top:12px}.metric-card{border-radius:var(--app-radius-lg);min-height:136px}.metric-card .metric-value{margin-top:14px;font-size:30px;font-weight:700}.metric-card .metric-label{color:var(--app-text-secondary);font-size:13px}.quick-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quick-link-item{border:1px solid var(--app-border);border-radius:12px;background:#fff;padding:14px;transition:border-color .2s ease,background-color .2s ease;cursor:pointer}.quick-link-item:hover{border-color:#c7d2fe;background:linear-gradient(180deg,#fff,#f8fbff)}.section-title{font-size:15px;font-weight:700;margin-bottom:12px}.text-secondary{color:var(--app-text-secondary)}.text-regular{color:var(--app-text-regular)}.search-form{margin-bottom:-18px}.compact-form{margin-bottom:10px}.pagination-wrap{display:flex;justify-content:flex-end;margin-top:18px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.fill-card{min-height:680px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-summary{margin-bottom:16px}.tree-wrap{border:1px solid var(--app-border);border-radius:12px;padding:12px;min-height:420px;background:#fff}.stack-list{display:flex;flex-direction:column;gap:12px}.stack-item{border:1px solid var(--app-border);border-radius:12px;background:#fff;padding:12px 14px;transition:border-color .2s ease,background-color .2s ease}.stack-item:hover{border-color:#cbd5e1;background:linear-gradient(180deg,#fff,#f8fbff)}.state-card{min-height:420px}.state-block{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:28px 20px}.state-block__icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f4f7fb;color:var(--app-text-secondary)}.state-block.is-error .state-block__icon,.state-block.is-forbidden .state-block__icon{background:#fff4f4;color:#e86868}.state-block__title{font-size:18px;font-weight:700;color:var(--app-text-primary)}.state-block__description{max-width:520px;line-height:1.8;color:var(--app-text-secondary)}.state-block__extra{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.not-found-shell{min-height:calc(100vh - 120px)}.el-button--warning.is-plain{background:#c0841a1a;color:#8a5a10;border-color:#c0841a38}.el-button--warning.is-plain:hover,.el-button--warning.is-plain:focus{background:linear-gradient(135deg,#f0c35b,#c98914);color:#fff;border-color:#c0841a52}.el-tag--warning{--el-tag-text-color: #7c4f0f;--el-tag-bg-color: #fff8eb;--el-tag-border-color: rgba(192, 132, 26, .22)}.el-alert--warning{--el-alert-bg-color: #fff8eb;--el-alert-border-color: rgba(192, 132, 26, .22);--el-alert-text-color: #7c4f0f}.el-message-box .el-message-box__status.el-icon-warning,.el-message .el-icon-warning,.el-notification .el-icon-warning{color:#c0841a}.app-icon-button.el-button,.app-icon-button.el-button:hover,.app-icon-button.el-button:focus-visible,.app-icon-button.el-button:active{border-color:#e2e8f0eb!important;background:linear-gradient(180deg,#fffffffa,#f3f7fff5)!important;box-shadow:none!important}.app-icon-button.el-button:hover,.app-icon-button.el-button:focus-visible{border-color:#94a3b842!important;background:linear-gradient(180deg,#fff,#eef4fffa)!important}.app-icon-button.el-button .el-icon{color:var(--app-text-primary)}.app-emoji-button.el-button,.app-emoji-button.el-button:hover,.app-emoji-button.el-button:focus-visible,.app-emoji-button.el-button:active{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.app-emoji-button.el-button{min-width:auto;padding:4px 6px;font-size:15px;line-height:1}
