.shell[data-v-9c198511]{min-height:100vh;display:flex;flex-direction:column}.topnav[data-v-9c198511]{background:#0b0e1a;position:sticky;top:0;z-index:90;flex-shrink:0}.tn-inner[data-v-9c198511]{max-width:1180px;margin:0 auto;padding:0 24px;height:58px;display:flex;align-items:center;gap:16px}.brand[data-v-9c198511]{display:flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none}.brand-mark[data-v-9c198511]{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 16px #7c3aed73}.brand-name[data-v-9c198511]{font-size:14px;font-weight:700;color:#fff;line-height:1.2}.brand-sub[data-v-9c198511]{font-size:9.5px;color:#71789b;line-height:1.3}.nav-wrap[data-v-9c198511]{position:relative}.nav-links[data-v-9c198511]{display:flex;gap:2px}.nlink[data-v-9c198511]{background:none;border:none;color:#b9bfd4;font-size:13.5px;font-family:inherit;padding:7px 14px;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.nlink[data-v-9c198511]:hover{color:#fff;background:#ffffff12}.nlink.active[data-v-9c198511]{background:#7c3aed;color:#fff;font-weight:500;box-shadow:0 0 18px #7c3aed80}.menu-btn[data-v-9c198511]{display:none;background:#ffffff12;border:none;color:#fff;width:34px;height:34px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center}.tn-right[data-v-9c198511]{margin-left:auto;display:flex;align-items:center;gap:10px}.demo-badge[data-v-9c198511]{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:13px;background:#ea731724;border:1px solid rgba(234,115,23,.3);color:#fbbf24;font-size:11.5px}.db-dot[data-v-9c198511]{width:5px;height:5px;border-radius:50%;background:#fbbf24;animation:bd-9c198511 2s ease-in-out infinite}@keyframes bd-9c198511{0%,to{opacity:1}50%{opacity:.35}}.tn-ghost[data-v-9c198511]{color:#b9bfd4!important;border-color:transparent!important;background:transparent!important}.tn-ghost[data-v-9c198511]:hover:not(:disabled){color:#fff!important;background:#ffffff14!important}.user-wrap[data-v-9c198511]{position:relative}.user-chip[data-v-9c198511]{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px 0 3px;border-radius:8px;background:transparent;border:1px solid transparent;cursor:pointer;color:#b9bfd4}.user-chip[data-v-9c198511]:hover{background:#ffffff14;border-color:#ffffff1a}.avatar[data-v-9c198511]{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}.user-menu[data-v-9c198511]{position:absolute;top:calc(100% + 9px);right:0;width:232px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 44px #14161f29;padding:6px;z-index:200}.um-head[data-v-9c198511]{padding:11px 12px 12px;border-bottom:1px solid var(--border);margin-bottom:5px}.um-name[data-v-9c198511]{font-size:13.5px;font-weight:600;color:var(--text-1)}.um-sub[data-v-9c198511]{font-size:11.5px;color:var(--text-3);margin-top:3px}.um-quota[data-v-9c198511]{margin-top:11px}.umq-top[data-v-9c198511]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);margin-bottom:5px}.umq-track[data-v-9c198511]{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden}.umq-fill[data-v-9c198511]{height:100%;background:var(--accent);border-radius:2px}.umq-fill.warn[data-v-9c198511]{background:var(--warn)}.umq-fill.danger[data-v-9c198511]{background:var(--danger)}.umq-left[data-v-9c198511]{font-size:10.5px;color:var(--text-3);margin-top:5px}.um-item[data-v-9c198511]{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 11px;border-radius:8px;background:none;border:none;color:var(--text-2);font-size:13px;cursor:pointer;text-align:left;font-family:inherit}.um-item[data-v-9c198511]:hover{background:var(--bg-hover);color:var(--text-1)}.pop-enter-active[data-v-9c198511],.pop-leave-active[data-v-9c198511]{transition:all .16s ease}.pop-enter-from[data-v-9c198511],.pop-leave-to[data-v-9c198511]{opacity:0;transform:translateY(-6px) scale(.98)}.demo-bar[data-v-9c198511]{display:flex;align-items:center;gap:9px;padding:8px 24px;background:#7c3aed24;border-top:1px solid rgba(124,58,237,.24);font-size:12.5px;color:#c7ccff}.demo-bar svg[data-v-9c198511]{flex-shrink:0;color:#a78bfa}.demo-bar strong[data-v-9c198511]{color:#fff;font-weight:600}.demo-bar-btn[data-v-9c198511]{margin-left:auto;background:none;border:none;color:#a78bfa;font-size:12.5px;cursor:pointer;font-family:inherit;padding:3px 8px;border-radius:6px;white-space:nowrap}.demo-bar-btn[data-v-9c198511]:hover{background:#7c3aed40;color:#fff}.content[data-v-9c198511]{flex:1;background:var(--bg-base)}.content-inner[data-v-9c198511]{max-width:1180px;margin:0 auto;padding:26px 24px 56px}@media(max-width:900px){.menu-btn[data-v-9c198511]{display:flex}.nav-links[data-v-9c198511]{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#14182a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;min-width:190px;box-shadow:0 16px 40px #00000080;z-index:210;flex-direction:column}.nav-links.open[data-v-9c198511]{display:flex}.nlink[data-v-9c198511]{text-align:left}.hide-sm[data-v-9c198511]{display:none!important}.content-inner[data-v-9c198511]{padding:18px 14px 44px}.tn-inner[data-v-9c198511]{padding:0 14px}.demo-bar[data-v-9c198511]{padding:8px 14px;font-size:11.5px;flex-wrap:wrap}.brand-sub[data-v-9c198511]{display:none}}.toast-host[data-v-7cd8087f]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast[data-v-7cd8087f]{display:flex;align-items:center;gap:9px;min-width:220px;max-width:460px;padding:10px 12px 10px 14px;border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);font-size:13px;pointer-events:auto}.toast-success[data-v-7cd8087f]{border-color:var(--border-accent);color:var(--accent-bright)}.toast-error[data-v-7cd8087f]{border-color:#ff525266;color:#ff8f8f}.toast-warn[data-v-7cd8087f]{border-color:#ffa72666;color:#ffc978}.toast-info[data-v-7cd8087f]{border-color:#3b82f666;color:#93b8f5}.toast span[data-v-7cd8087f]{color:var(--text-1)}.toast-x[data-v-7cd8087f]{background:none;border:none;color:var(--text-3);cursor:pointer;padding:2px;display:flex;border-radius:4px}.toast-x[data-v-7cd8087f]:hover{color:var(--text-1);background:var(--bg-hover)}.toast-enter-active[data-v-7cd8087f],.toast-leave-active[data-v-7cd8087f]{transition:all .24s cubic-bezier(.16,1,.3,1)}.toast-enter-from[data-v-7cd8087f]{opacity:0;transform:translateY(-14px) scale(.96)}.toast-leave-to[data-v-7cd8087f]{opacity:0;transform:translateY(-8px) scale(.98)}.view-enter-active,.view-leave-active{transition:opacity .18s ease,transform .18s ease}.view-enter-from{opacity:0;transform:translateY(8px)}.view-leave-to{opacity:0;transform:translateY(-4px)}:root{--bg-base: #0a0c0e;--bg-panel: #131619;--bg-elevated: #1a1e22;--bg-input: #0f1215;--bg-hover: #1e2328;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--border-accent: rgba(0, 214, 143, .4);--text-1: #e9ecef;--text-2: #97a1aa;--text-3: #5e6870;--text-inverse: #06120d;--accent: #00d68f;--accent-bright: #2ff0ab;--accent-dim: rgba(0, 214, 143, .12);--accent-glow: rgba(0, 214, 143, .3);--blue: #3b82f6;--blue-dim: rgba(59, 130, 246, .12);--warn: #ffa726;--warn-dim: rgba(255, 167, 38, .12);--danger: #ff5252;--danger-dim: rgba(255, 82, 82, .12);--purple: #a78bfa;--purple-dim: rgba(167, 139, 250, .12);--grade-s: #ff5252;--grade-a: #ffa726;--grade-b: #00d68f;--grade-c: #6b8cae;--grade-d: #4a545c;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--font: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Roboto Mono", Consolas, "Courier New", monospace;--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .4);--header-h: 60px;--sidebar-w: 212px}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg-base);color:var(--text-1);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:44px 44px}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:var(--accent-glow);color:#fff}.page-title{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text-1)}.page-desc{font-size:13px;color:var(--text-2);margin-top:6px}.section-title{font-size:13px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-lg);position:relative}.panel-pad{padding:20px}.panel-accent:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-1);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .1s,opacity .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:#ffffff38}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-bright);border-color:var(--accent-bright);box-shadow:0 0 0 3px var(--accent-dim)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-1)}.btn-danger{color:var(--danger);border-color:#ff52524d;background:var(--danger-dim)}.btn-danger:hover:not(:disabled){background:#ff525233;border-color:#ff525280}.btn-sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:var(--r-sm)}.btn-lg{height:46px;padding:0 26px;font-size:15px}.btn-block{width:100%}.input,.textarea,.select{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 13px;color:var(--text-1);outline:none;transition:border-color .15s,box-shadow .15s;font-size:13.5px}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus,.select:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-dim)}.textarea{resize:vertical;min-height:96px;line-height:1.7}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 8l3-3.5' stroke='%2397a1aa' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.select option{background:var(--bg-elevated);color:var(--text-1)}.field{margin-bottom:16px}.field-label{display:block;font-size:12.5px;color:var(--text-2);margin-bottom:7px;font-weight:500}.badge{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border-radius:5px;font-size:11.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap}.badge-s{background:#ff525229;color:var(--grade-s)}.badge-a{background:#ffa72629;color:var(--grade-a)}.badge-b{background:#00d68f24;color:var(--grade-b)}.badge-c{background:#6b8cae29;color:var(--grade-c)}.badge-d{background:#4a545c33;color:#8b959d}.badge-neutral{background:var(--bg-elevated);color:var(--text-2);border:1px solid var(--border)}.badge-accent{background:var(--accent-dim);color:var(--accent)}.badge-warn{background:var(--warn-dim);color:var(--warn)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-blue{background:var(--blue-dim);color:var(--blue)}.tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-2);font-size:11.5px;white-space:nowrap}.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--bg-panel)}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}table.tbl thead th{text-align:left;padding:11px 16px;font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-elevated);border-bottom:1px solid var(--border);white-space:nowrap}table.tbl tbody td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.tbl tbody tr:last-child td{border-bottom:none}table.tbl tbody tr{transition:background .12s}table.tbl tbody tr:hover{background:#ffffff05}table.tbl tbody tr.clickable{cursor:pointer}.progress-track{height:6px;background:var(--bg-input);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-bright));border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px var(--accent-glow)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.dot-success{background:var(--accent)}.dot-running{background:var(--blue)}.dot-pending{background:var(--text-3)}.dot-failed{background:var(--danger)}.dot-warn{background:var(--warn)}.dot-pulse{animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.6;box-shadow:0 0 0 4px #3b82f61f}}.fade-in{animation:fadeIn .3s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:rise .45s cubic-bezier(.16,1,.3,1) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.scanline{position:relative;overflow:hidden}.scanline:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);animation:scan 2.4s linear infinite}@keyframes scan{0%{top:-2px}to{top:100%}}.breathe{animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between}.col{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.wrap{flex-wrap:wrap}.center{display:flex;align-items:center;justify-content:center}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty{padding:56px 20px;text-align:center;color:var(--text-3)}.empty-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;border:1px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text-3)}.empty-title{font-size:14px;color:var(--text-2);margin-bottom:6px}.empty-desc{font-size:12.5px;color:var(--text-3)}.spinner{width:15px;height:15px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-light{--bg-base: #f6f7fa;--bg-panel: #ffffff;--bg-elevated: #f3f4f8;--bg-input: #f6f7fa;--bg-hover: #eef0f5;--border: #e8ebf2;--border-strong: #d8dce8;--border-accent: rgba(124, 58, 237, .32);--text-1: #14161f;--text-2: #6b7280;--text-3: #9aa0b5;--text-inverse: #ffffff;--accent: #7c3aed;--accent-bright: #6d28d9;--accent-dim: #f3eeff;--accent-glow: rgba(124, 58, 237, .25);--blue: #6366f1;--blue-dim: #eef0ff;--warn: #ea7317;--warn-dim: #fdf1e5;--danger: #e0293b;--danger-dim: #fdecee;--purple: #7c3aed;--purple-dim: #f3eeff;--grade-s: #d0313f;--grade-a: #ea7317;--grade-b: #7c3aed;--grade-c: #6b7280;--grade-d: #b4b9c7;--shadow-lg: 0 12px 40px rgba(20, 22, 31, .1);--shadow-sm: 0 2px 10px rgba(20, 22, 31, .06);background:var(--bg-base);color:var(--text-1)}.theme-light:before,body:has(.theme-light):before{opacity:0}.theme-light .panel{box-shadow:0 1px 3px #14161f0a}.theme-light .btn{background:#fff;border-color:var(--border-strong);color:var(--text-1)}.theme-light .btn:hover:not(:disabled){background:var(--bg-hover);border-color:#c8cfdd}.theme-light .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 10px #7c3aed47}.theme-light .btn-primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9;box-shadow:0 0 0 3px var(--accent-dim),0 4px 14px #7c3aed4d}.theme-light .btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.theme-light .alert-warn{color:#a35a10}.theme-light .alert-danger{color:#b21f2f}.theme-light .alert-info{color:#3f45b8}.theme-light .alert-accent{color:#5b21b6}.theme-light .badge-s{background:#fdecee;color:var(--grade-s)}.theme-light .badge-a{background:#fdf1e5;color:var(--grade-a)}.theme-light .badge-b{background:#f3eeff;color:var(--grade-b)}.theme-light .badge-c{background:#f0f2f7;color:var(--grade-c)}.theme-light .badge-d{background:#f4f5f9;color:var(--grade-d)}.theme-light .badge-neutral{background:var(--bg-elevated);color:var(--text-2)}.theme-light .badge-accent{background:var(--accent-dim);color:var(--accent)}.theme-light table.tbl thead th{background:#fafbfd;color:var(--text-3);border-bottom-color:var(--border)}.theme-light table.tbl tbody tr:hover{background:#fafbfd}.theme-light .skeleton{background:linear-gradient(90deg,#eef0f5 25%,#f6f7fa,#eef0f5 75%);background-size:200% 100%}.theme-light ::-webkit-scrollbar-thumb{background:#14161f24}.theme-light ::-webkit-scrollbar-thumb:hover{background:#14161f3d}.theme-light .mono{color:inherit}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--r-md);font-size:13px;line-height:1.6;border:1px solid transparent}.alert-warn{background:var(--warn-dim);border-color:#ffa72640;color:#ffc978}.alert-danger{background:var(--danger-dim);border-color:#ff525240;color:#ff8f8f}.alert-info{background:var(--blue-dim);border-color:#3b82f640;color:#93b8f5}.alert-accent{background:var(--accent-dim);border-color:var(--border-accent);color:var(--accent-bright)}
