.search-trigger[data-v-895c6ec1]{display:flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:18px;background:var(--c-surface, #f3f6ff);border:1px solid var(--c-border, #e6ebf2);color:var(--c-text-2, #64748b);font-size:13px;cursor:pointer;min-width:220px}.search-trigger[data-v-895c6ec1]:hover{border-color:#2f6bff;color:#2f6bff}.search-body[data-v-895c6ec1]{margin-top:10px;max-height:360px;overflow:auto}.search-group[data-v-895c6ec1]{font-size:12px;color:var(--c-text-2, #64748b);margin:10px 4px 4px}.search-item[data-v-895c6ec1]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer}.search-item[data-v-895c6ec1]:hover{background:#f3f6ff}.search-item-main[data-v-895c6ec1]{font-size:13px}.search-item-sub[data-v-895c6ec1]{font-size:12px;color:var(--c-text-2, #94a3b8)}.search-empty[data-v-895c6ec1]{padding:24px 8px;text-align:center;color:var(--c-text-2, #94a3b8);font-size:13px}.layout[data-v-ddb34f3c]{height:100vh}.aside[data-v-ddb34f3c]{background:linear-gradient(180deg,#0b1220,#0f1b2d);display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.04)}.brand[data-v-ddb34f3c]{display:flex;align-items:center;gap:10px;height:64px;padding:0 20px;color:#fff}.brand-logo[data-v-ddb34f3c]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#2f6bff29}.brand-text[data-v-ddb34f3c]{display:flex;flex-direction:column;line-height:1.2}.brand-text strong[data-v-ddb34f3c]{font-size:15px;font-weight:700}.brand-text em[data-v-ddb34f3c]{font-style:normal;font-size:11px;color:#8aa0bd;letter-spacing:.5px}.menu[data-v-ddb34f3c]{flex:1;padding-top:6px;border-right:none}.aside-foot[data-v-ddb34f3c]{padding:14px 20px;color:#5c6f88;font-size:11px;border-top:1px solid rgba(255,255,255,.05)}.header[data-v-ddb34f3c]{display:flex;align-items:center;justify-content:space-between;height:64px;background:var(--c-card);border-bottom:1px solid var(--c-border);padding:0 20px;gap:16px}.icon-btn[data-v-ddb34f3c]{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:#475569;cursor:pointer}.icon-btn[data-v-ddb34f3c]:hover{background:var(--c-surface);color:var(--c-primary)}.h-left[data-v-ddb34f3c]{display:flex;flex-direction:column;gap:2px;min-width:0}.crumb[data-v-ddb34f3c]{font-size:12px}.h-title[data-v-ddb34f3c]{font-size:16px;font-weight:700}.h-right[data-v-ddb34f3c]{display:flex;align-items:center;gap:16px}.bell[data-v-ddb34f3c]{cursor:pointer;display:inline-flex;align-items:center;color:#475569}.todo-title[data-v-ddb34f3c]{font-weight:700;margin-bottom:8px}.todo-item[data-v-ddb34f3c]{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;cursor:pointer;font-size:13px}.todo-item[data-v-ddb34f3c]:hover{background:#f3f6ff}.todo-item b[data-v-ddb34f3c]{margin-left:auto;font-size:16px}.todo-msg[data-v-ddb34f3c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-foot[data-v-ddb34f3c]{margin-top:8px;padding-top:8px;border-top:1px solid var(--c-border);text-align:center;color:#2f6bff;font-size:13px;cursor:pointer}.user[data-v-ddb34f3c]{display:flex;align-items:center;gap:10px;cursor:pointer;outline:none}.avatar[data-v-ddb34f3c]{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2f6bff);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.user-meta[data-v-ddb34f3c]{display:flex;flex-direction:column;line-height:1.25}.user-meta b[data-v-ddb34f3c]{font-size:13px}.user-meta i[data-v-ddb34f3c]{font-style:normal;font-size:11px;color:var(--c-text-2)}.main[data-v-ddb34f3c]{background:var(--c-surface);padding:0}.tabbar[data-v-ddb34f3c]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--c-card);border-bottom:1px solid var(--c-border)}.tabscroll[data-v-ddb34f3c]{flex:1;min-width:0}.tabscroll[data-v-ddb34f3c] .el-scrollbar__wrap{overflow-y:hidden}.tab[data-v-ddb34f3c]{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;margin-right:6px;border-radius:8px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2);font-size:13px;cursor:pointer;white-space:nowrap}.tab[data-v-ddb34f3c]:hover{color:var(--c-primary);border-color:var(--c-primary)}.tab.active[data-v-ddb34f3c]{color:var(--c-primary);border-color:var(--c-primary);background:#2f6bff14}.tab-dot[data-v-ddb34f3c]{width:6px;height:6px;border-radius:50%;background:var(--c-primary)}.tab-close[data-v-ddb34f3c]{border-radius:50%;font-size:12px}.tab-close[data-v-ddb34f3c]:hover{background:#e11d481f;color:#e11d48}.tab-more[data-v-ddb34f3c]{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--c-text-2);cursor:pointer;flex:none}.tab-more[data-v-ddb34f3c]:hover{color:var(--c-primary)}.help-h[data-v-ddb34f3c]{margin:6px 0 8px}.help-list[data-v-ddb34f3c]{margin:0 0 14px;padding-left:20px;color:var(--c-text-2);line-height:1.9;font-size:13px}.fade-enter-active[data-v-ddb34f3c],.fade-leave-active[data-v-ddb34f3c]{transition:opacity .18s ease}.fade-enter-from[data-v-ddb34f3c],.fade-leave-to[data-v-ddb34f3c]{opacity:0}.auth[data-v-4cb096e0]{height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth__brand[data-v-4cb096e0]{background:radial-gradient(120% 120% at 0% 0%,#14213a,#0b1220 55%,#0a1322);color:#fff;padding:56px 52px;display:flex;flex-direction:column;justify-content:center}.auth__logo[data-v-4cb096e0]{width:50px;height:50px;border-radius:13px;background:#2f6bff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px #2f6bff66}.auth__brand h1[data-v-4cb096e0]{font-size:30px;margin:22px 0 6px;letter-spacing:1px}.auth__tag[data-v-4cb096e0]{color:#8aa0bd;margin:0 0 36px;font-size:14px}.auth__feats[data-v-4cb096e0]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.auth__feats li[data-v-4cb096e0]{display:flex;align-items:center;gap:12px;color:#d6deea;font-size:14px}.auth__feats .el-icon[data-v-4cb096e0]{color:#5b86ff;font-size:18px}.auth__panel[data-v-4cb096e0]{display:flex;align-items:center;justify-content:center;background:var(--c-surface)}.auth__card[data-v-4cb096e0]{width:360px;background:var(--c-card);border:1px solid var(--c-border);border-radius:18px;box-shadow:var(--shadow-card);padding:36px 34px}.auth__card h2[data-v-4cb096e0]{margin:0 0 4px;font-size:22px}.auth__card .muted[data-v-4cb096e0]{margin:0 0 22px;font-size:13px}.auth__btn[data-v-4cb096e0]{width:100%;margin-top:6px;letter-spacing:4px}.auth__demo[data-v-4cb096e0]{margin-top:18px;font-size:12px;color:var(--c-text-2);display:flex;align-items:flex-start;gap:6px;line-height:1.6;background:#f3f6ff;border-radius:9px;padding:9px 12px}.auth__demo .el-icon[data-v-4cb096e0]{color:#2f6bff;margin-top:3px}.auth__demo b[data-v-4cb096e0]{color:var(--c-text)}@media (max-width: 860px){.auth[data-v-4cb096e0]{grid-template-columns:1fr}.auth__brand[data-v-4cb096e0]{display:none}}:root{--c-primary: #2f6bff;--c-success: #16a34a;--c-warning: #d97706;--c-danger: #e11d48;--c-info: #64748b;--c-ink: #0b1220;--c-ink-2: #0f1b2d;--c-surface: #f4f6fb;--c-card: #ffffff;--c-border: #e9edf3;--c-text: #0f172a;--c-text-2: #64748b;--radius: 14px;--radius-sm: 10px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 18px rgba(16, 24, 40, .06);--shadow-pop: 0 10px 34px rgba(16, 24, 40, .14);--font: "Inter", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif}:root{--el-color-primary: #2f6bff;--el-color-primary-light-3: #5b86ff;--el-color-primary-light-5: #8fa9ff;--el-color-primary-light-7: #c2cbff;--el-color-primary-light-8: #d9dfff;--el-color-primary-light-9: #eef1ff;--el-color-primary-dark-2: #2455cc;--el-color-success: #16a34a;--el-color-warning: #d97706;--el-color-danger: #e11d48;--el-color-error: #e11d48;--el-border-radius-base: 10px;--el-border-radius-small: 8px;--el-font-family: var(--font)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:var(--font);color:var(--c-text);background:var(--c-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.el-button--primary{--el-button-bg-color: var(--c-primary);--el-button-border-color: var(--c-primary);--el-button-hover-bg-color: #2455cc;--el-button-hover-border-color: #2455cc;--el-button-active-bg-color: #1f49b0;--el-button-active-border-color: #1f49b0}.el-card{border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.el-card__header{padding:15px 18px;border-bottom:1px solid var(--c-border);font-weight:600;color:var(--c-text)}.el-card__body{padding:18px}.el-table{--el-table-border-color: var(--c-border);--el-table-header-bg-color: #f7f9fc;--el-table-row-hover-bg-color: #f2f7ff;font-size:14px;border-radius:var(--radius);overflow:hidden}.el-table th.el-table__cell{background:var(--el-table-header-bg-color);color:#475569;font-weight:600}.el-table td.el-table__cell,.el-table th.el-table__cell{border-bottom:1px solid var(--c-border)}.aside .el-menu{background:transparent;border-right:none}.aside .el-menu-item{color:#9fb0c9;height:46px;border-radius:9px;margin:4px 12px;width:calc(100% - 24px)}.aside .el-menu-item .el-icon{color:#9fb0c9}.aside .el-menu-item:hover{background:#ffffff0d;color:#e6edf7}.aside .el-menu-item.is-active{color:#fff;background:linear-gradient(90deg,#2f6bff3d,#2f6bff0a);box-shadow:inset 3px 0 0 var(--c-primary)}.aside .el-menu-item.is-active .el-icon{color:#fff}.page{padding:20px 24px;animation:fade .25s ease both}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.page-title{font-size:20px;font-weight:700;margin:0;letter-spacing:.2px}.page-sub{margin:5px 0 0;color:var(--c-text-2);font-size:13px}.page-actions{display:flex;gap:10px;align-items:center}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.muted{color:var(--c-text-2)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.kpi{position:relative;overflow:hidden}.kpi .kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi .kpi-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none;box-shadow:0 6px 14px #10182829}.kpi .kpi-ico .el-icon{font-size:23px}.kpi .kpi-label{color:var(--c-text-2);font-size:13px;margin-top:16px}.kpi .kpi-num{font-size:30px;font-weight:700;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums}.kpi--primary .kpi-ico{background:linear-gradient(135deg,#3b82f6,#2f6bff)}.kpi--warning .kpi-ico{background:linear-gradient(135deg,#f59e0b,#d97706)}.kpi--success .kpi-ico{background:linear-gradient(135deg,#22c55e,#16a34a)}.kpi--danger .kpi-ico{background:linear-gradient(135deg,#fb7185,#e11d48)}.kpi--info .kpi-ico{background:linear-gradient(135deg,#64748b,#475569)}.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:18px}.chip--soft{background:#eef2ff;color:#2f6bff}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;color:var(--c-text-2);gap:8px}.empty .empty-ico{font-size:40px;color:#cbd5e1}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}html.dark{color-scheme:dark;--c-surface: #0b1220;--c-card: #111a2b;--c-border: #1f2a3d;--c-text: #e6edf7;--c-text-2: #94a3b8;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .35);--shadow-pop: 0 10px 34px rgba(0, 0, 0, .5);--el-table-header-bg-color: #0f1b2d;--el-table-row-hover-bg-color: #16233b;--el-border-color: #1f2a3d;--el-fill-color-blank: #111a2b}html.dark body{background:var(--c-surface);color:var(--c-text)}html.dark .el-card{background:var(--c-card);border-color:var(--c-border)}html.dark .el-card__header{border-bottom-color:var(--c-border)}html.dark .chip--soft{background:#1b2740;color:#8fa9ff}html.dark .header,html.dark .el-dropdown-menu,html.dark .el-popover,html.dark .el-dialog{background:var(--c-card)}
