#app{height:100%}.icon-fallback[data-v-ba672eee]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border-radius:4px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:12px;font-weight:600;line-height:1;flex-shrink:0;text-align:center}.navbar[data-v-3f319810]{height:56px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.06);display:flex;align-items:center;padding:0 16px;position:relative;border-bottom:1px solid #e2e8f0}.hamburger-container[data-v-3f319810]{line-height:52px;height:100%;cursor:pointer;padding:0 12px;font-size:20px;color:#475569;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px}.hamburger-container[data-v-3f319810]:hover{background:#f1f5f9;color:#4f46e5}.breadcrumb-container[data-v-3f319810]{flex:1;padding-left:8px}.right-menu[data-v-3f319810]{display:flex;align-items:center;height:100%}.right-menu[data-v-3f319810]:focus{outline:none}.right-menu-item[data-v-3f319810]{display:flex;align-items:center;height:100%;padding:0 12px;cursor:pointer;font-size:18px;color:#475569;transition:all .2s cubic-bezier(.4,0,.2,1)}.right-menu-item[data-v-3f319810]:hover{background:#f1f5f9;color:#4f46e5}.avatar-container .avatar-wrapper[data-v-3f319810]{display:flex;align-items:center;cursor:pointer;padding:6px 10px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.avatar-container .avatar-wrapper[data-v-3f319810]:hover{background:#f1f5f9}.avatar-container .avatar-wrapper .username[data-v-3f319810]{margin:0 8px;font-size:14px;color:#334155;font-weight:500}.avatar-container .avatar-wrapper i[data-v-3f319810]:last-child{font-size:12px;color:#94a3b8}.app-wrapper{position:relative;height:100%;width:100%}.app-wrapper.sidebar-collapsed .main-container{margin-left:64px}.app-wrapper.sidebar-collapsed .sidebar-container{width:64px}.sidebar-container{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:1001;background-color:#0f172a}.sidebar-container .el-menu{border-right:none}.sidebar-container .el-scrollbar{height:calc(100% - 56px)}.main-container{min-height:100%;margin-left:240px;transition:margin-left .28s;background:#f1f5f9;position:relative}.app-main{min-height:calc(100vh - 56px);padding:20px;position:relative}.hideSidebar .sidebar-logo-container .sidebar-title{display:none}.sidebar-container{height:100%;background:#0f172a;transition:width .28s;overflow:hidden;box-shadow:2px 0 8px rgba(0,0,0,.15)}.sidebar-container .el-menu{border:none;height:100%;width:100%!important;background:#0f172a}.sidebar-container .el-menu-item,.sidebar-container .el-submenu__title{color:hsla(0,0%,100%,.75)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;height:50px;line-height:50px;margin:2px 10px;border-radius:8px;transition:all .15s cubic-bezier(.4,0,.2,1);padding-left:14px!important;padding-right:14px!important}.sidebar-container .el-menu-item:hover,.sidebar-container .el-submenu__title:hover{background:#1e293b!important;color:#fff!important}.sidebar-container .el-menu-item span,.sidebar-container .el-submenu__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sidebar-container .el-submenu__title .menu-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto}.sidebar-container .el-menu-item.is-active{color:#fff!important;background:#4f46e5!important;box-shadow:0 4px 12px rgba(79,70,229,.4)}.sidebar-container .el-menu-item.is-active i{color:#fff!important}.sidebar-container .el-submenu .el-menu-item{min-width:unset!important;background:#020617!important;margin:2px 10px}.sidebar-container .el-submenu .el-menu-item:hover{background:#1e293b!important}.sidebar-container .el-submenu .el-menu-item.is-active{background:#4f46e5!important;color:#fff!important;box-shadow:0 4px 12px rgba(79,70,229,.4)}.sidebar-container .el-submenu .el-menu-item.is-active i{color:#fff!important}.sidebar-container .el-menu-item i,.sidebar-container .el-submenu__title i{color:inherit;font-size:18px;margin-right:8px;width:24px;text-align:center;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-container .svg-icon{margin-right:8px;width:24px;text-align:center}.sidebar-container.hideSidebar,.sidebar-container.hideSidebar .el-menu{width:64px!important}.sidebar-container.hideSidebar .el-submenu{overflow:hidden}.sidebar-container.hideSidebar .menu-title{display:none}.hideSidebar .el-submenu{overflow:visible!important}.sidebar-logo-container{height:56px;background:#020617;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid hsla(0,0%,100%,.05)}.sidebar-logo-container .sidebar-logo{width:34px;height:34px;border-radius:8px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;background:linear-gradient(135deg,#4f46e5,#8b5cf6);box-shadow:0 4px 12px rgba(79,70,229,.4)}.sidebar-logo-container .sidebar-title{font-size:17px;font-weight:700;color:#fff;margin-left:12px;white-space:nowrap;letter-spacing:.5px}.el-button{border-radius:8px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-button--primary{background:#4f46e5;border-color:#4f46e5}.el-button--primary:focus,.el-button--primary:hover{background:#6366f1;border-color:#6366f1;transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.3)}.el-button--primary.is-active,.el-button--primary:active{background:#4338ca;border-color:#4338ca}.el-button--primary.is-plain{background:#eef2ff;border-color:#4f46e5;color:#4f46e5}.el-button--primary.is-plain:hover{background:#4f46e5;border-color:#4f46e5;color:#fff}.el-button--success{background:#10b981;border-color:#10b981}.el-button--success:focus,.el-button--success:hover{background:#34d399;border-color:#34d399}.el-button--warning{background:#f59e0b;border-color:#f59e0b}.el-button--warning:focus,.el-button--warning:hover{background:#fbbf24;border-color:#fbbf24}.el-button--danger{background:#ef4444;border-color:#ef4444}.el-button--danger:focus,.el-button--danger:hover{background:#f87171;border-color:#f87171}.el-button--text{color:#4f46e5}.el-button--text:focus,.el-button--text:hover{color:#6366f1}.el-card{border-radius:12px;border:none;box-shadow:0 1px 3px 0 rgba(15,23,42,.06),0 1px 2px -1px rgba(15,23,42,.04);transition:all .2s cubic-bezier(.4,0,.2,1)}.el-card:hover{box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.04)}.el-table{border-radius:8px;overflow:hidden}.el-table th{background:#f8fafc!important;font-weight:600;font-size:13px;padding:10px 0!important}.el-table td,.el-table th{color:#334155}.el-table tr:hover>td{background:#eef2ff!important}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#f8fafc}.el-dialog{border-radius:12px;overflow:hidden;box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.06)}.el-dialog__header{padding:18px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.el-dialog__header .el-dialog__title{font-weight:600;color:#0f172a;font-size:16px}.el-dialog__body{padding:24px}.el-dialog__footer{padding:16px 24px;border-top:1px solid #e2e8f0;text-align:right}.el-pagination{margin-top:20px;text-align:right}.el-pagination .btn-next,.el-pagination .btn-prev{border-radius:6px}.el-pagination .el-pager li{border-radius:6px;font-weight:500}.el-pagination .el-pager li.active{background:#4f46e5;color:#fff}.el-tag{border-radius:6px;font-weight:500}.el-tag--success{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.2);color:#047857}.el-tag--warning{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.2);color:#b45309}.el-tag--danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.2);color:#b91c1c}.el-tag--info{background:rgba(100,116,139,.1);border-color:rgba(100,116,139,.2);color:#475569}.el-input__inner{border-radius:8px;border-color:#cbd5e1;transition:all .2s cubic-bezier(.4,0,.2,1)}.el-input__inner:hover{border-color:#94a3b8}.el-input__inner:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.el-textarea__inner{border-radius:8px;border-color:#cbd5e1}.el-textarea__inner:hover{border-color:#94a3b8}.el-textarea__inner:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.el-select .el-input__inner{border-radius:8px}.el-form-item__label{font-weight:500;color:#334155}.el-dropdown-menu{border-radius:8px;box-shadow:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04);border:1px solid #e2e8f0}.el-dropdown-menu .el-dropdown-menu__item{padding:8px 20px;font-size:14px}.el-dropdown-menu .el-dropdown-menu__item:hover{background:#eef2ff;color:#4f46e5}.el-message{border-radius:8px;box-shadow:0 10px 15px -3px rgba(15,23,42,.08),0 4px 6px -4px rgba(15,23,42,.04)}.el-message-box{border-radius:12px;box-shadow:0 20px 25px -5px rgba(15,23,42,.12),0 8px 10px -6px rgba(15,23,42,.06)}.el-drawer__body{padding:0}.el-menu--collapse{width:64px}.el-date-editor .el-input__inner{border-radius:8px}.el-checkbox__input.is-checked .el-checkbox__inner,.el-radio__input.is-checked .el-radio__inner{background:#4f46e5;border-color:#4f46e5}.el-checkbox__input.is-checked+.el-checkbox__label,.el-radio__input.is-checked+.el-radio__label{color:#4f46e5}.el-switch.is-checked .el-switch__core{background-color:#4f46e5;border-color:#4f46e5}.el-breadcrumb__inner{color:#64748b;font-weight:500}.el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#334155}.el-scrollbar__wrap{overflow-x:hidden}*{box-sizing:border-box}#app,body,html{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Sans Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9;color:#0f172a}a{text-decoration:none;color:#4f46e5}a:hover{color:#6366f1}.text-center{text-align:center}.text-right{text-align:right}.mb10{margin-bottom:10px}.mt10{margin-top:10px}.pointer{cursor:pointer}.stat-card{background:#fff;border-radius:12px;padding:22px;display:flex;align-items:center;margin-bottom:20px;box-shadow:0 1px 3px 0 rgba(15,23,42,.06),0 1px 2px -1px rgba(15,23,42,.04);transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid #e2e8f0}.stat-card:hover{box-shadow:0 4px 6px -1px rgba(15,23,42,.08),0 2px 4px -2px rgba(15,23,42,.04);transform:translateY(-2px);border-color:#cbd5e1}.stat-card .stat-icon{width:56px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:26px;color:#fff;margin-right:20px;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-card .stat-info{flex:1}.stat-card .stat-info .stat-value{font-size:28px;font-weight:700;color:#0f172a;line-height:1.2;letter-spacing:-.5px}.stat-card .stat-info .stat-label{font-size:13px;color:#64748b;margin-top:6px;font-weight:500}.stat-card.stat-green .stat-icon{background:#10b981}.stat-card.stat-blue .stat-icon{background:#4f46e5}.stat-card.stat-orange .stat-icon{background:#f59e0b}.stat-card.stat-red .stat-icon{background:#ef4444}.stat-card.stat-purple .stat-icon{background:#8b5cf6}.stat-card.stat-cyan .stat-icon{background:#06b6d4}.stat-card.stat-gray .stat-icon{background:#64748b}.app-container{padding:24px;background:#fff;min-height:calc(100vh - 140px);border-radius:12px;box-shadow:0 1px 2px 0 rgba(15,23,42,.04)}.filter-container{padding:20px 24px;margin-bottom:20px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.filter-container .el-form-item{margin-bottom:10px}.table-toolbar{display:flex;align-items:center;padding:0 4px}.table-toolbar .el-button{font-weight:500}.table-operate{margin-bottom:16px}.el-button+.el-button{margin-left:8px}.card-tag{position:absolute;top:0;right:0;padding:2px 8px;font-size:12px;border-radius:0 8px 0 8px;font-weight:500}.card-tag.tag-success{background:rgba(16,185,129,.1);color:#047857}.card-tag.tag-warning{background:rgba(245,158,11,.1);color:#b45309}.card-tag.tag-danger{background:rgba(239,68,68,.1);color:#b91c1c}.card-tag.tag-info{background:rgba(100,116,139,.1);color:#475569}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::-moz-selection{background:rgba(79,70,229,.2);color:#4338ca}::selection{background:rgba(79,70,229,.2);color:#4338ca}