@charset "UTF-8";:root{--app-primary: #2563eb;--app-primary-soft: #eff6ff;--app-sidebar: #0f172a;--app-sidebar-hover: #172554;--app-page-bg: #f4f6f9;--app-surface: #ffffff;--app-text: #172033;--app-text-secondary: #667085;--app-text-muted: #98a2b3;--app-border: #e4e7ec;--app-border-soft: #eef0f3;--app-radius: 10px;--app-shadow: 0 1px 2px rgba(16, 24, 40, .03), 0 4px 12px rgba(16, 24, 40, .04);--el-color-primary: var(--app-primary);--el-border-radius-base: 8px;--el-border-radius-small: 6px;--el-border-color: var(--app-border);--el-border-color-light: var(--app-border-soft);--el-text-color-primary: var(--app-text);--el-text-color-regular: #475467;--el-text-color-secondary: var(--app-text-secondary);--el-fill-color-light: #f8fafc;--el-fill-color-lighter: #fafbfc;--el-bg-color-page: var(--app-page-bg);--el-box-shadow-light: var(--app-shadow)}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}body{color:var(--app-text);background:var(--app-page-bg);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-main>*{width:100%;max-width:1680px;margin:0 auto}.app-main :where(.dashboard,.settings-container,.profile-container,.admin-container,.role-container,.permission-container,.user-container,.activity-log-container,.exception-error-container,.banner-container,.attachment-container,.app-container){padding:0!important}.app-main .el-card{border:1px solid var(--app-border-soft);border-radius:var(--app-radius);background:var(--app-surface);box-shadow:var(--app-shadow)}.app-main .el-card__header{min-height:58px;display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid var(--app-border-soft);color:var(--app-text);font-size:16px;font-weight:600}.app-main .el-card__header>*{width:100%}.app-main .el-card__body{padding:20px}.app-main :where(.search-card,.toolbar-card){margin-bottom:16px!important}.app-main :where(.search-card,.toolbar-card) .el-card__body{padding:16px 20px 4px}.app-main .action-toolbar-card .el-card__body{padding:16px 20px}.app-main :where(.table-card,.tree-card){width:100%}.card-header,.toolbar-content{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.card-header .header-actions,.toolbar-content .header-actions{display:flex;align-items:center;gap:8px}.el-form--inline .el-form-item{margin:0 12px 12px 0}.el-form-item__label{color:#475467;font-weight:500}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner,.el-date-editor.el-input__wrapper{border-radius:8px;box-shadow:0 0 0 1px var(--app-border) inset;transition:box-shadow .18s ease,background-color .18s ease}.el-input__wrapper:hover,.el-select__wrapper:hover,.el-textarea__inner:hover{box-shadow:0 0 0 1px #b9c0cc inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-button{min-height:34px;border-radius:8px;font-weight:500}.el-button--small{min-height:28px;border-radius:6px}.el-button+.el-button{margin-left:8px}.header-actions .el-button+.el-button,.table-list .el-button+.el-button{margin-left:0}.el-button.is-link:hover,.el-button.is-link:focus{background:transparent}.el-tag{border-radius:6px}.el-table{--el-table-border-color: var(--app-border-soft);--el-table-header-bg-color: #f8fafc;--el-table-row-hover-bg-color: #f8fbff;color:#344054;border-radius:8px}.el-table th.el-table__cell{height:46px;color:#475467;font-weight:600;background:#f8fafc}.el-table td.el-table__cell{height:52px}.el-table .cell{line-height:1.45}.table-list .el-table__cell:last-child .cell{white-space:nowrap}.table-list .el-table__cell:last-child .el-button:not(.el-button--text){padding-right:5px;padding-left:5px}.table-list .el-table__cell:last-child .el-button:not(.is-link){border-color:transparent;background:transparent;box-shadow:none}.table-list .el-table__cell:last-child .el-button--primary:not(.is-link){color:var(--el-color-primary)}.table-list .el-table__cell:last-child .el-button--success:not(.is-link){color:var(--el-color-success)}.table-list .el-table__cell:last-child .el-button--warning:not(.is-link){color:var(--el-color-warning)}.table-list .el-table__cell:last-child .el-button--danger:not(.is-link){color:var(--el-color-danger)}.danger-action{color:var(--el-color-danger)}.more-action{color:var(--app-text-secondary)!important}.el-pagination{padding:4px 0 0}.el-pagination.is-background .el-pager li,.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next{border-radius:6px}.el-dialog{border-radius:14px;box-shadow:0 24px 48px #10182829}.el-dialog__header{padding:20px 24px 16px;border-bottom:1px solid var(--app-border-soft)}.el-dialog__body{padding:22px 24px}.el-dialog__footer{padding:14px 24px 20px;border-top:1px solid var(--app-border-soft)}.el-tabs__item{color:var(--app-text-secondary);font-weight:500}.el-tabs__item.is-active{color:var(--el-color-primary);font-weight:600}.el-dropdown-menu__item:hover,.el-dropdown-menu__item:focus{color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.page-intro{margin-bottom:16px}.page-intro h2{margin:0 0 6px;color:var(--app-text);font-size:20px;line-height:1.4}.page-intro p{margin:0;color:var(--app-text-secondary);line-height:1.6}@media(max-width:1200px){.app-main .el-card__body{padding:16px}.el-form--inline .el-form-item{margin-right:12px}}@media(max-width:768px){.el-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px);margin-top:5vh!important}.card-header,.toolbar-content{align-items:flex-start;flex-direction:column}.action-toolbar-card .toolbar-content{align-items:stretch}.action-toolbar-card .toolbar-content>.el-input{width:100%!important}.el-form--inline{display:grid;width:100%}.el-form--inline .el-form-item{width:100%;margin-right:0}.el-form--inline .el-input,.el-form--inline .el-select,.el-form--inline .el-date-editor{width:100%!important}.el-pagination__sizes,.el-pagination__jump{display:none!important}}.app-breadcrumb.el-breadcrumb[data-v-0c80edb1]{display:inline-block;font-size:14px;line-height:64px;margin-left:8px}.app-breadcrumb.el-breadcrumb[data-v-0c80edb1] .el-breadcrumb__inner a{color:#475467;font-weight:600}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-0c80edb1]{color:#98a2b3;cursor:text}.tags-view-container[data-v-a5cdb6a5]{height:40px;width:100%;background:#fff;border-bottom:1px solid var(--app-border-soft)}.tags-view-container .tags-view-wrapper[data-v-a5cdb6a5]{height:100%;white-space:nowrap;padding:0 20px}.tags-view-container .tags-view-wrapper[data-v-a5cdb6a5] .el-scrollbar__wrap{height:40px;line-height:40px}.tags-view-container .tags-view-wrapper .tags-view-item[data-v-a5cdb6a5]{display:inline-block;position:relative;cursor:pointer;height:28px;line-height:27px;border:1px solid transparent;color:var(--app-text-secondary);background:#f8fafc;padding:0 10px;font-size:12px;margin-left:6px;margin-top:6px;border-radius:7px;text-decoration:none}.tags-view-container .tags-view-wrapper .tags-view-item[data-v-a5cdb6a5]:first-of-type{margin-left:0}.tags-view-container .tags-view-wrapper .tags-view-item[data-v-a5cdb6a5]:last-of-type{margin-right:15px}.tags-view-container .tags-view-wrapper .tags-view-item.active[data-v-a5cdb6a5]{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary);border-color:var(--el-color-primary-light-7);font-weight:600}.tags-view-container .tags-view-wrapper .tags-view-item.active[data-v-a5cdb6a5]:before{content:"";background:var(--el-color-primary);display:inline-block;width:6px;height:6px;border-radius:50%;position:relative;margin-right:4px}.tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close[data-v-a5cdb6a5]{width:14px;height:14px;margin-left:5px;vertical-align:middle;border-radius:50%;text-align:center;transition:all .3s cubic-bezier(.645,.045,.355,1);transform-origin:100% 50%}.tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close[data-v-a5cdb6a5]:hover{background-color:#b4bccc;color:#fff}.tags-view-container .contextmenu[data-v-a5cdb6a5]{margin:0;background:#fff;z-index:3000;position:absolute;list-style-type:none;padding:5px 0;border:1px solid var(--app-border-soft);border-radius:8px;font-size:12px;font-weight:400;color:#333;box-shadow:var(--app-shadow)}.tags-view-container .contextmenu li[data-v-a5cdb6a5]{margin:0;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px}.tags-view-container .contextmenu li[data-v-a5cdb6a5]:hover{color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.tags-view-container .contextmenu li .el-icon[data-v-a5cdb6a5]{font-size:14px}.layout-wrapper[data-v-3251b598]{display:flex;height:100vh;width:100%}.layout-wrapper.sidebar-collapsed .sidebar-container[data-v-3251b598]{width:64px}.layout-wrapper.sidebar-collapsed .logo[data-v-3251b598]{justify-content:center;padding:0}.sidebar-container[data-v-3251b598]{width:224px;height:100%;background:var(--app-sidebar);transition:width .28s;overflow:hidden;flex-shrink:0;box-shadow:1px 0 #ffffff0a}.sidebar-container .logo[data-v-3251b598]{height:64px;display:flex;align-items:center;gap:11px;padding:0 18px;font-size:18px;font-weight:650;color:#fff;background:var(--app-sidebar);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;white-space:nowrap}.sidebar-container .logo .logo-mark[data-v-3251b598]{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;border-radius:9px;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 18px #2563eb52}.sidebar-container .logo .logo-title[data-v-3251b598]{overflow:hidden;text-overflow:ellipsis}.sidebar-container .logo .logo-letter[data-v-3251b598]{font-size:14px;font-weight:750}.sidebar-container[data-v-3251b598] .scrollbar-wrapper{overflow-x:hidden!important;height:calc(100% - 64px)}.sidebar-container[data-v-3251b598] .scrollbar-wrapper .el-scrollbar__view{height:100%}.sidebar-container[data-v-3251b598] .scrollbar-wrapper .el-scrollbar__bar.is-vertical{right:0}.sidebar-container .el-menu[data-v-3251b598]{border:none;height:100%;width:100%!important;padding:10px 8px;background-color:var(--app-sidebar)}.sidebar-container .el-menu[data-v-3251b598] .el-menu-item,.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu__title{height:46px;margin:3px 0;border-radius:8px;color:#aeb8c8}.sidebar-container .el-menu[data-v-3251b598] .el-menu-item:hover,.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu__title:hover{background-color:#ffffff12!important;color:#fff}.sidebar-container .el-menu[data-v-3251b598] .el-menu-item.is-active{color:#fff;background:linear-gradient(90deg,#2563ebe0,#3b82f6b8);box-shadow:0 6px 16px #02061733}.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu .el-menu{padding:2px 0 4px 12px;background-color:transparent}.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu .el-menu-item{background-color:transparent}.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu .el-menu-item:hover{background-color:#ffffff12!important}.sidebar-container .el-menu[data-v-3251b598] .el-sub-menu .el-menu-item.is-active{background:linear-gradient(90deg,#2563ebe0,#3b82f6b8);color:#fff}.main-container[data-v-3251b598]{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-backdrop[data-v-3251b598]{position:fixed;inset:0;z-index:999;padding:0;border:0;background:#0f172a7a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.navbar[data-v-3251b598]{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 10px;background:#fff;border-bottom:1px solid var(--app-border-soft);position:relative;z-index:10}.navbar .navbar-left[data-v-3251b598]{display:flex;align-items:center;flex:1}.navbar .navbar-right[data-v-3251b598]{display:flex;align-items:center}.navbar .hamburger[data-v-3251b598]{width:40px;height:40px;margin-right:8px;padding:0;border:0;border-radius:8px;color:#475467;background:transparent;cursor:pointer;display:flex;align-items:center;transition:background .3s}.navbar .hamburger[data-v-3251b598]:hover{color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.navbar .navbar-item[data-v-3251b598]{padding:0;width:38px;height:38px;border:0;border-radius:9px;background:transparent;cursor:pointer;color:#5a5e66;transition:background .3s}.navbar .navbar-item[data-v-3251b598]:hover{color:var(--el-color-primary);background:var(--el-color-primary-light-9)}.navbar .avatar-container[data-v-3251b598]{margin-right:10px}.navbar .avatar-container .avatar-wrapper[data-v-3251b598]{display:flex;align-items:center;cursor:pointer;color:#5a5e66;font-size:14px;padding:5px 7px;border-radius:10px}.navbar .avatar-container .avatar-wrapper[data-v-3251b598]:hover{background:#f8fafc}.navbar .avatar-container .avatar-wrapper .username[data-v-3251b598]{margin:0 8px;font-weight:500}.navbar .avatar-container .avatar-wrapper .el-icon[data-v-3251b598]{margin-left:2px}[data-v-3251b598] .el-dropdown-menu__item:hover{background-color:var(--el-color-primary-light-9)!important;color:var(--el-color-primary)!important}.app-main[data-v-3251b598]{flex:1;overflow:auto;background:var(--app-page-bg);padding:20px 22px 24px;position:relative}@media(max-width:900px){.layout-wrapper.is-mobile .sidebar-container[data-v-3251b598]{position:fixed;inset:0 auto 0 0;z-index:1000;width:min(280px,82vw);transform:translate(-100%);transition:transform .24s ease;box-shadow:12px 0 32px #0f172a33}.layout-wrapper.is-mobile.sidebar-opened .sidebar-container[data-v-3251b598]{transform:translate(0)}.layout-wrapper.is-mobile.sidebar-collapsed .sidebar-container[data-v-3251b598]{width:min(280px,82vw)}.layout-wrapper.is-mobile .main-container[data-v-3251b598]{width:100%;min-width:0}.navbar[data-v-3251b598]{padding-right:12px}.avatar-container .username[data-v-3251b598]{display:none}}@media(max-width:600px){.app-main[data-v-3251b598]{padding:12px}.navbar[data-v-3251b598]{padding-left:4px}.navbar-right .icon-button[data-v-3251b598]:first-child{display:none}}.fade-transform-leave-active[data-v-3251b598],.fade-transform-enter-active[data-v-3251b598]{transition:all .2s}.fade-transform-enter-from[data-v-3251b598]{opacity:0;transform:translate(-30px)}.fade-transform-leave-to[data-v-3251b598]{opacity:0;transform:translate(30px)}
