.app-shell[data-v-e895883e]{height:100vh;width:100%;overflow:hidden}.sidebar[data-v-e895883e]{background:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;overflow:hidden;flex:0 0 220px;max-width:220px}.logo[data-v-e895883e]{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #2d2d4a;cursor:pointer;user-select:none;flex-shrink:0}.logo-mark[data-v-e895883e]{width:34px;height:34px;border-radius:9px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;letter-spacing:0;flex-shrink:0}.logo-text h2[data-v-e895883e]{margin:0;font-size:17px;font-weight:700;letter-spacing:1.5px;line-height:1.2;color:#fff}.logo-text p[data-v-e895883e]{margin:2px 0 0;font-size:11px;color:#8a8aab;letter-spacing:.5px}.sidebar-scroll[data-v-e895883e]{flex:1;min-height:0}.sidebar-menu[data-v-e895883e]{border-right:none;padding-bottom:8px}.sidebar-menu[data-v-e895883e] .el-menu-item,.sidebar-menu[data-v-e895883e] .el-sub-menu__title{height:44px;line-height:44px;color:#cfd3dc;background-color:var(--sidebar-bg);transition:background-color .16s ease,color .16s ease}.sidebar-menu[data-v-e895883e] .el-menu-item:hover,.sidebar-menu[data-v-e895883e] .el-sub-menu__title:hover{background-color:#24243f!important;color:#fff}.sidebar-menu[data-v-e895883e] .el-menu-item.is-active{background:linear-gradient(90deg,#667eea52,#764ba21f)!important;color:#fff!important;border-left:3px solid var(--brand);padding-left:17px!important;font-weight:600}.sidebar-menu[data-v-e895883e] .el-sub-menu .el-menu{background-color:var(--sidebar-bg-deep)!important}.sidebar-menu[data-v-e895883e] .el-sub-menu .el-menu-item{background-color:var(--sidebar-bg-deep)!important;height:40px;line-height:40px;padding-left:48px!important;font-size:13px}.sidebar-menu[data-v-e895883e] .el-sub-menu .el-menu-item.is-active{background:linear-gradient(90deg,#667eea5c,#764ba21a)!important}.sidebar-menu[data-v-e895883e] .el-sub-menu.is-active>.el-sub-menu__title{color:#fff!important}.sidebar-foot[data-v-e895883e]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-top:1px solid #2d2d4a;background:#17172a}.foot-version[data-v-e895883e]{font-size:11px;color:#6b6b8f;font-family:var(--font-mono)}.app-body[data-v-e895883e]{min-width:0;background:var(--page-bg)}.app-header[data-v-e895883e]{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e9eaee;padding:0 20px;box-shadow:0 1px 3px #00000008;flex-shrink:0}.header-left[data-v-e895883e]{display:flex;align-items:center;gap:10px;min-width:0}.page-title-text[data-v-e895883e]{font-size:16px;font-weight:600;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right[data-v-e895883e]{display:flex;align-items:center;gap:4px}.bell-badge[data-v-e895883e] .el-badge__content{top:6px;right:12px}.user-chip[data-v-e895883e]{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:18px;cursor:pointer;transition:background-color .18s ease;outline:none}.user-chip[data-v-e895883e]:hover{background:#f5f7fa}.user-avatar[data-v-e895883e]{background:var(--brand-gradient);color:#fff;font-weight:600;font-size:13px}.user-name[data-v-e895883e]{font-size:13.5px;color:#303133;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-caret[data-v-e895883e]{color:#909399;font-size:12px}.app-main[data-v-e895883e]{padding:20px;background:var(--page-bg);overflow-y:auto;min-width:0}@media(max-width:900px){.sidebar[data-v-e895883e]{flex:0 0 64px;max-width:64px}.logo-text[data-v-e895883e],.sidebar-menu[data-v-e895883e] span,.sidebar-foot[data-v-e895883e]{display:none}.logo[data-v-e895883e]{justify-content:center;padding:14px 8px}.sidebar-menu[data-v-e895883e] .el-sub-menu__icon-arrow{display:none}}:root{--el-color-primary: #667eea;--el-color-primary-light-3: #8b9ef0;--el-color-primary-light-5: #a7b4f4;--el-color-primary-light-7: #c6cdf8;--el-color-primary-light-8: #d9defb;--el-color-primary-light-9: #eef0fd;--el-color-primary-dark-2: #5264d6;--brand: #667eea;--brand-2: #764ba2;--brand-gradient: linear-gradient(135deg, #667eea, #764ba2);--sidebar-bg: #1a1a2e;--sidebar-bg-deep: #141428;--page-bg: #f5f7fa;--card-radius: 8px;--card-shadow: 0 1px 2px rgba(0, 0, 0, .04);--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", Consolas, "Courier New", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;color:#303133;background:var(--page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit}.page-card{background:#fff;border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow);min-width:0}.page-card+.page-card{margin-top:16px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #ebeef5}.page-title{font-size:16px;font-weight:600;color:#303133;line-height:1.4}.page-subtitle{font-size:12.5px;color:#909399;margin-top:4px;line-height:1.5}.section-title{font-size:14px;font-weight:600;color:#303133;margin-bottom:12px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.search-bar .el-input,.search-bar .el-select{width:180px}.search-bar .search-wide{width:260px}.stat-card{position:relative;overflow:hidden;border-radius:var(--card-radius);padding:18px 20px;color:#fff;background:var(--brand-gradient);transition:transform .2s ease,box-shadow .2s ease;min-height:92px}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #667eea47}.stat-card .stat-label{font-size:13px;opacity:.92;margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:700;line-height:1.15;letter-spacing:.5px}.stat-card .stat-foot{font-size:12px;opacity:.82;margin-top:6px}.stat-card .stat-icon{position:absolute;right:14px;bottom:12px;font-size:42px;opacity:.22;pointer-events:none}.stat-card.is-clickable{cursor:pointer}.stat-card.tone-blue{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.tone-green{background:linear-gradient(135deg,#43a047,#7cc576)}.stat-card.tone-orange{background:linear-gradient(135deg,#e6a23c,#f0b963)}.stat-card.tone-red{background:linear-gradient(135deg,#e15b64,#f28b82)}.stat-card.tone-cyan{background:linear-gradient(135deg,#12b3b3,#4ed6d6)}.stat-card.tone-gray{background:linear-gradient(135deg,#7f8493,#a3a8b8)}.text-muted{color:#909399}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono);font-size:12.5px}.mono-block{font-family:var(--font-mono);font-size:12px;line-height:1.6;background:#0d1117;color:#e6edf3;padding:10px 12px;border-radius:6px;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-all}.nowrap{white-space:nowrap}.gap-8{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mb-12{margin-bottom:12px}.mt-12{margin-top:12px}.el-table th.el-table__cell{background-color:#fafafa!important;color:#606266;font-weight:600}.el-table{width:100%}.el-table .cell{word-break:break-word}.el-dialog__header{border-bottom:1px solid #ebeef5;padding-bottom:14px;margin-right:0}.el-dialog__footer{border-top:1px solid #ebeef5;padding-top:14px}.el-drawer__header{margin-bottom:12px;padding-bottom:14px;border-bottom:1px solid #ebeef5;color:#303133;font-weight:600}.el-pagination{justify-content:flex-end;margin-top:14px;flex-wrap:wrap;row-gap:8px}.el-tabs__item.is-active{color:var(--brand)}.el-tabs__active-bar{background-color:var(--brand)}.el-descriptions__label{color:#606266!important}.el-tag.is-round{border-radius:10px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#909399}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:768px){.page-card{padding:14px}.search-bar .el-input,.search-bar .el-select,.search-bar .search-wide{width:100%}}
