.sidebar[data-v-15d46cd8]{width:var(--sidebar-width);height:100vh;position:sticky;top:0;background:var(--bg-surface);border-right:1px solid var(--border-1);display:flex;flex-direction:column;padding:16px 12px;overflow-y:auto;transition:width var(--dur-slow) var(--ease-standard)}.sidebar.collapsed[data-v-15d46cd8]{width:var(--sidebar-width-collapsed);padding:16px 8px}.sidebar-brand[data-v-15d46cd8]{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.brand-icon svg[data-v-15d46cd8]{width:28px;height:28px}.brand-text[data-v-15d46cd8]{display:flex;flex-direction:column}.brand-name[data-v-15d46cd8]{font-size:14px;font-weight:700;color:var(--fg-1);letter-spacing:-.01em}.brand-sub[data-v-15d46cd8]{font-size:10px;color:var(--fg-3);letter-spacing:.04em}.sidebar-app-select[data-v-15d46cd8]{padding:0 8px 12px}.sidebar-app-select select[data-v-15d46cd8]{width:100%;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-1);background:var(--bg-sunken);font-size:13px;color:var(--fg-1);cursor:pointer}.sidebar-nav[data-v-15d46cd8]{flex:1}.nav-section-label[data-v-15d46cd8]{font-size:10px;font-weight:600;color:var(--fg-3);text-transform:uppercase;letter-spacing:.1em;padding:14px 10px 6px}.nav-item[data-v-15d46cd8]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--fg-2);text-decoration:none;transition:all .16s;margin-bottom:2px}.nav-item[data-v-15d46cd8]:hover{background:var(--bg-sunken);color:var(--fg-1)}.nav-item.active[data-v-15d46cd8]{background:var(--u-brand-50);color:var(--u-brand-600);font-weight:600}.nav-icon[data-v-15d46cd8]{display:flex;align-items:center;width:18px;height:18px;flex-shrink:0}.nav-label[data-v-15d46cd8]{flex:1}.nav-badge[data-v-15d46cd8]{font-size:9px;padding:2px 6px;border-radius:999px;background:#00c26a;color:#fff;font-weight:700;letter-spacing:.02em}.sidebar-footer[data-v-15d46cd8]{display:flex;align-items:center;gap:10px;padding:12px 10px;border-top:1px solid var(--border-1);margin-top:8px}.user-avatar[data-v-15d46cd8]{width:30px;height:30px;border-radius:999px;background:linear-gradient(135deg,#3358ff,#7b3cff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.user-info[data-v-15d46cd8]{flex:1;min-width:0}.user-name[data-v-15d46cd8]{font-size:13px;font-weight:600;color:var(--fg-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-15d46cd8]{font-size:11px;color:var(--fg-3)}.logout-btn[data-v-15d46cd8]{width:30px;height:30px;border-radius:6px;background:transparent;color:var(--fg-3);display:flex;align-items:center;justify-content:center;transition:all .16s}.logout-btn[data-v-15d46cd8]:hover{background:var(--u-danger-bg);color:var(--u-danger)}.collapse-btn[data-v-15d46cd8]{width:100%;height:32px;border-radius:8px;background:transparent;color:var(--fg-3);display:flex;align-items:center;justify-content:center;transition:all .16s;margin-top:4px;flex-shrink:0}.collapse-btn[data-v-15d46cd8]:hover{background:var(--bg-sunken);color:var(--fg-1)}.collapse-btn svg[data-v-15d46cd8]{transition:transform var(--dur-base) var(--ease-standard)}.collapsed .brand-text[data-v-15d46cd8],.collapsed .sidebar-app-select[data-v-15d46cd8],.collapsed .nav-label[data-v-15d46cd8],.collapsed .nav-badge[data-v-15d46cd8],.collapsed .nav-section-label[data-v-15d46cd8],.collapsed .user-info[data-v-15d46cd8]{display:none}.collapsed .sidebar-brand[data-v-15d46cd8]{justify-content:center;padding:4px 0 16px}.collapsed .nav-item[data-v-15d46cd8]{justify-content:center;padding:10px}.collapsed .sidebar-footer[data-v-15d46cd8]{justify-content:center;flex-wrap:wrap;gap:6px}.collapsed .logout-btn[data-v-15d46cd8]{display:none}.topbar[data-v-9989ec38]{display:flex;align-items:center;justify-content:space-between;height:var(--topbar-height);padding:0 28px;background:var(--bg-surface);border-bottom:1px solid var(--border-1);position:sticky;top:0;z-index:100}.topbar-left[data-v-9989ec38]{display:flex;align-items:center;gap:12px}.page-title[data-v-9989ec38]{font-family:var(--font-sans-cn);font-size:17px;font-weight:700;color:var(--fg-1);margin:0}.topbar-right[data-v-9989ec38]{display:flex;align-items:center;gap:12px}.search-box[data-v-9989ec38]{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--bg-sunken);border-radius:var(--radius-btn);border:1px solid transparent;width:220px;color:var(--fg-3);transition:all var(--dur-base)}.search-box[data-v-9989ec38]:focus-within{border-color:var(--u-brand-500);background:var(--bg-surface);box-shadow:0 0 0 3px #3358ff1a}.search-box input[data-v-9989ec38]{border:none;background:transparent;flex:1;font-size:13px;color:var(--fg-1)}.search-box input[data-v-9989ec38]::placeholder{color:var(--fg-4)}.search-box kbd[data-v-9989ec38]{font-size:10px;padding:2px 5px;border-radius:4px;background:var(--bg-surface);border:1px solid var(--border-1);color:var(--fg-3);font-family:var(--font-mono)}.icon-btn[data-v-9989ec38]{width:34px;height:34px;border-radius:8px;border:1px solid var(--border-1);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;color:var(--fg-2);transition:all .16s}.icon-btn[data-v-9989ec38]:hover{background:var(--bg-sunken)}.topbar-logo[data-v-9989ec38]{width:32px;height:32px;border-radius:8px;overflow:hidden;cursor:pointer}.topbar-logo svg[data-v-9989ec38]{width:100%;height:100%}.filter-bar[data-v-faed9618]{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:var(--bg-surface);border-bottom:1px solid var(--border-1);gap:16px;flex-wrap:wrap}.filter-group[data-v-faed9618]{display:flex;align-items:center;gap:10px}.date-presets[data-v-faed9618]{display:flex;gap:2px;background:var(--bg-sunken);padding:3px;border-radius:8px}.preset-btn[data-v-faed9618]{font-size:12px;padding:5px 10px;border-radius:6px;background:transparent;color:var(--fg-3);font-weight:500;transition:all .16s}.preset-btn[data-v-faed9618]:hover{color:var(--fg-1)}.preset-btn.active[data-v-faed9618]{background:var(--bg-surface);color:var(--fg-1);font-weight:600;box-shadow:var(--shadow-1)}.date-range[data-v-faed9618]{display:flex;align-items:center;gap:6px}.date-input[data-v-faed9618]{padding:5px 8px;border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono);color:var(--fg-1);background:var(--bg-surface)}.date-input[data-v-faed9618]:focus{border-color:var(--u-brand-500);box-shadow:0 0 0 3px #3358ff1a}.date-sep[data-v-faed9618]{font-size:12px;color:var(--fg-3)}.filter-select[data-v-faed9618]{padding:5px 24px 5px 10px;border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:12px;color:var(--fg-1);background:var(--bg-surface);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B7689' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-faed9618]:focus{border-color:var(--u-brand-500);box-shadow:0 0 0 3px #3358ff1a}.debug-overlay[data-v-7bdbffda]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000026}.debug-drawer[data-v-7bdbffda]{position:absolute;right:0;top:0;bottom:0;width:420px;max-width:100vw;background:var(--bg-surface);border-left:1px solid var(--border-1);display:flex;flex-direction:column;box-shadow:var(--shadow-4)}.drawer-enter-active .debug-drawer[data-v-7bdbffda],.drawer-leave-active .debug-drawer[data-v-7bdbffda]{transition:transform var(--dur-slow) var(--ease-out)}.drawer-enter-from .debug-drawer[data-v-7bdbffda],.drawer-leave-to .debug-drawer[data-v-7bdbffda]{transform:translate(100%)}.drawer-enter-active[data-v-7bdbffda],.drawer-leave-active[data-v-7bdbffda]{transition:opacity var(--dur-slow)}.drawer-enter-from[data-v-7bdbffda],.drawer-leave-to[data-v-7bdbffda]{opacity:0}.drawer-header[data-v-7bdbffda]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-1);flex-shrink:0}.drawer-title[data-v-7bdbffda]{font-size:15px;font-weight:700;color:var(--fg-1);margin:0}.close-btn[data-v-7bdbffda]{width:28px;height:28px;border-radius:6px;background:transparent;color:var(--fg-3);display:flex;align-items:center;justify-content:center;transition:all .16s}.close-btn[data-v-7bdbffda]:hover{background:var(--bg-sunken);color:var(--fg-1)}.drawer-connect[data-v-7bdbffda]{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border-1);flex-shrink:0}.connect-input[data-v-7bdbffda]{flex:1;padding:7px 10px;border:1px solid var(--border-1);border-radius:var(--radius-sm);font-size:12px;color:var(--fg-1);background:var(--bg-sunken);font-family:var(--font-mono)}.connect-input[data-v-7bdbffda]:focus{border-color:var(--u-accent-500);background:var(--bg-surface)}.connect-btn[data-v-7bdbffda]{padding:7px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;background:var(--u-brand-500);color:#fff;transition:all var(--dur-base);white-space:nowrap}.connect-btn[data-v-7bdbffda]:hover{background:var(--u-brand-600)}.connect-btn.connected[data-v-7bdbffda]{background:var(--u-danger)}.connect-btn.connected[data-v-7bdbffda]:hover{background:#e03040}.drawer-status[data-v-7bdbffda]{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid var(--border-1);flex-shrink:0}.status-dot[data-v-7bdbffda]{width:8px;height:8px;border-radius:50%}.status-dot.connected[data-v-7bdbffda]{background:var(--u-success)}.status-dot.disconnected[data-v-7bdbffda]{background:var(--fg-4)}.status-text[data-v-7bdbffda]{font-size:12px;color:var(--fg-3);flex:1}.status-actions[data-v-7bdbffda]{display:flex;gap:4px}.action-btn[data-v-7bdbffda]{width:28px;height:28px;border-radius:6px;background:transparent;color:var(--fg-3);display:flex;align-items:center;justify-content:center;transition:all .16s}.action-btn[data-v-7bdbffda]:hover{background:var(--bg-sunken);color:var(--fg-1)}.drawer-events[data-v-7bdbffda]{flex:1;overflow-y:auto}.events-empty[data-v-7bdbffda]{padding:40px 20px;text-align:center;font-size:13px;color:var(--fg-3)}.debug-event[data-v-7bdbffda]{border-bottom:1px solid var(--border-1)}.debug-event-main[data-v-7bdbffda]{display:flex;align-items:center;gap:8px;padding:8px 20px;cursor:pointer;transition:background .12s}.debug-event-main[data-v-7bdbffda]:hover{background:var(--bg-sunken)}.evt-validation[data-v-7bdbffda]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.evt-validation.ok[data-v-7bdbffda]{background:var(--u-success)}.evt-validation.warning[data-v-7bdbffda]{background:var(--u-warning)}.evt-time[data-v-7bdbffda]{font-size:11px;color:var(--fg-3);flex-shrink:0}.evt-name[data-v-7bdbffda]{font-size:12px;font-weight:500;color:var(--fg-1);flex-shrink:0}.evt-page[data-v-7bdbffda]{flex:1;font-size:11px;color:var(--fg-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.debug-event-detail[data-v-7bdbffda]{padding:0 20px 10px 34px;display:flex;flex-direction:column;gap:6px}.detail-section[data-v-7bdbffda]{display:flex;flex-direction:column;gap:2px}.detail-label[data-v-7bdbffda]{font-size:10px;font-weight:600;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em}.detail-json[data-v-7bdbffda]{font-size:11px;font-family:var(--font-mono);background:var(--bg-sunken);border:1px solid var(--border-1);border-radius:var(--radius-xs);padding:6px 8px;margin:0;overflow-x:auto;color:var(--fg-2);white-space:pre-wrap;word-break:break-all}.detail-value[data-v-7bdbffda]{font-size:11px;color:var(--fg-2)}.warning-list[data-v-7bdbffda]{list-style:none;padding:0;margin:0;font-size:11px;color:var(--u-warning)}.warning-list li[data-v-7bdbffda]:before{content:"- "}.drawer-footer[data-v-7bdbffda]{padding:10px 20px;border-top:1px solid var(--border-1);font-size:11px;color:var(--fg-3);text-align:center;flex-shrink:0}.mono[data-v-7bdbffda]{font-family:var(--font-mono)}.app-shell[data-v-40a6ea23]{display:grid;min-height:100vh;transition:grid-template-columns var(--dur-slow) var(--ease-standard)}.app-main[data-v-40a6ea23]{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.app-content[data-v-40a6ea23]{flex:1;padding:24px 28px;background:var(--bg-sunken)}:root{--u-brand-50: #EEF3FF;--u-brand-100: #DCE6FF;--u-brand-200: #B8C9FF;--u-brand-300: #8AA5FF;--u-brand-400: #5A7DFF;--u-brand-500: #3358FF;--u-brand-600: #2342DB;--u-brand-700: #1A33B0;--u-brand-800: #1E3A5F;--u-brand-900: #0E1F38;--u-accent-300: #A8CCFF;--u-accent-400: #7BB8FF;--u-accent-500: #3B7FD9;--u-accent-600: #1E5BB8;--u-teal-400: #4FD1C5;--u-teal-500: #2BB6A9;--u-teal-600: #1E8E83;--grad-brand: linear-gradient(135deg, #3358FF 0%, #7B3CFF 100%);--u-neutral-0: #FFFFFF;--u-neutral-25: #FBFCFD;--u-neutral-50: #F6F8FB;--u-neutral-100: #EEF1F5;--u-neutral-200: #DFE4EC;--u-neutral-300: #C5CDDA;--u-neutral-400: #98A3B5;--u-neutral-500: #6B7689;--u-neutral-600: #4A5468;--u-neutral-700: #2F3849;--u-neutral-800: #1B2231;--u-neutral-900: #0E121C;--bg-canvas: var(--u-neutral-25);--bg-surface: var(--u-neutral-0);--bg-sunken: var(--u-neutral-50);--bg-inverse: var(--u-brand-900);--fg-1: var(--u-neutral-900);--fg-2: var(--u-neutral-700);--fg-3: var(--u-neutral-500);--fg-4: var(--u-neutral-400);--fg-on-brand: var(--u-neutral-0);--fg-link: var(--u-brand-500);--border-1: var(--u-neutral-200);--border-2: var(--u-neutral-300);--border-focus: var(--u-accent-500);--u-success: #00C26A;--u-success-bg: #DDFAEC;--u-warning: #FFA624;--u-warning-bg: #FFF1DA;--u-danger: #FF4D5E;--u-danger-bg: #FFE4E7;--stat-up: #0F8454;--stat-up-bg: #E6F7EF;--stat-down: #A82F2F;--stat-down-bg: #FBE9E9;--sidebar-width: 240px;--sidebar-width-collapsed: 60px;--topbar-height: 56px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-pill: 999px;--radius-card: var(--radius-lg);--radius-btn: var(--radius-md);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-sans-en: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans-cn: "PingFang SC", "HarmonyOS Sans SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-sans: var(--font-sans-en), var(--font-sans-cn);--font-display: "Manrope", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, "Cascadia Code", monospace;--fs-h1: 36px;--fs-h2: 28px;--fs-h3: 22px;--fs-h4: 18px;--fs-body-lg: 17px;--fs-body: 15px;--fs-body-sm: 13px;--fs-caption: 12px;--fs-micro: 11px;--fw-regular: 400;--fw-medium: 500;--fw-semi: 600;--fw-bold: 700;--shadow-1: 0 1px 2px rgba(14, 31, 56, .06), 0 1px 1px rgba(14, 31, 56, .04);--shadow-2: 0 4px 12px rgba(14, 31, 56, .08), 0 1px 2px rgba(14, 31, 56, .04);--shadow-3: 0 12px 32px rgba(14, 31, 56, .1), 0 2px 6px rgba(14, 31, 56, .05);--shadow-4: 0 24px 64px rgba(14, 31, 56, .16), 0 4px 12px rgba(14, 31, 56, .06);--shadow-glow: 0 0 0 4px rgba(59, 127, 217, .18);--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--dur-xslow: .6s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--fg-1);background:var(--bg-sunken);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#app{min-height:100vh}a{color:var(--u-brand-500);text-decoration:none}a:hover{color:var(--u-brand-600)}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:inherit;font-size:inherit;outline:none}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--u-neutral-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--u-neutral-400)}.mono{font-family:var(--font-mono)}.text-muted{color:var(--fg-3)}.text-sm{font-size:13px}.text-xs{font-size:11px;letter-spacing:.02em}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur-base) var(--ease-standard)}.fade-enter-from,.fade-leave-to{opacity:0}
