.g-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0006;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.g-dialog{background:var(--g-dialog-surface, #fff);border:1px solid var(--g-dialog-border, #E5E7EB);border-radius:var(--g-dialog-radius, 12px);box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;width:90%;max-width:400px;padding:28px 24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--g-dialog-font, "Inter", -apple-system, BlinkMacSystemFont, sans-serif)}.g-dialog__icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.g-dialog__spinner{animation:g-dialog-spin .7s linear infinite}@keyframes g-dialog-spin{to{transform:rotate(360deg)}}.g-dialog__title{font-size:17px;font-weight:600;color:var(--g-dialog-text, #111827);margin-bottom:6px}.g-dialog__message{font-size:14px;line-height:1.5;color:var(--g-dialog-text-secondary, #6B7280);margin-bottom:20px;max-width:320px}.g-dialog__progress{width:100%;margin-bottom:20px;display:flex;flex-direction:column;gap:6px;align-items:center}.g-dialog__progress-track{width:100%;height:6px;background:var(--g-dialog-border, #E5E7EB);border-radius:9999px;overflow:hidden}.g-dialog__progress-fill{height:100%;background:var(--g-dialog-color-primary, #3B82F6);border-radius:9999px;transition:width .3s ease}.g-dialog__progress-label{font-size:13px;font-weight:500;color:var(--g-dialog-text-secondary, #6B7280)}.g-dialog__actions{display:flex;gap:10px;width:100%}.g-dialog__btn{flex:1;padding:10px 16px;border-radius:var(--g-dialog-radius-btn, 8px);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:all .15s ease}.g-dialog__btn--cancel{background:var(--g-dialog-bg-cancel, #F9FAFB);color:var(--g-dialog-text-secondary, #6B7280);border:1px solid var(--g-dialog-border, #E5E7EB)}.g-dialog__btn--cancel:hover{background:var(--g-dialog-border, #E5E7EB);color:var(--g-dialog-text, #111827)}.g-dialog__btn--confirm{color:#fff}.g-dialog__btn--primary{background:var(--g-dialog-color-primary, #3B82F6)}.g-dialog__btn--primary:hover{background:var(--g-dialog-color-primary-hover, #2563EB)}.g-dialog__btn--danger{background:var(--g-dialog-color-danger, #EF4444)}.g-dialog__btn--danger:hover{background:var(--g-dialog-color-danger-hover, #DC2626)}[data-theme=dark] .g-dialog-backdrop{background:#000000b3}[data-theme=dark] .g-dialog{--g-dialog-surface: #1A1A1A;--g-dialog-border: #2E2E2E;--g-dialog-text: #F3F4F6;--g-dialog-text-secondary: #9CA3AF;--g-dialog-bg-cancel: #242424;--g-dialog-color-primary: #60A5FA;--g-dialog-color-primary-hover: #3B82F6;--g-dialog-color-danger: #F87171;--g-dialog-color-danger-hover: #EF4444;--g-dialog-color-success: #4ADE80;--g-dialog-color-warning: #FBBF24;--g-dialog-bg-primary: rgba(59, 130, 246, .15);--g-dialog-bg-success: rgba(34, 197, 94, .15);--g-dialog-bg-danger: rgba(239, 68, 68, .15);--g-dialog-bg-warning: rgba(245, 158, 11, .15);box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0d}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .g-dialog-backdrop{background:#000000b3}:root:not([data-theme=light]) .g-dialog{--g-dialog-surface: #1A1A1A;--g-dialog-border: #2E2E2E;--g-dialog-text: #F3F4F6;--g-dialog-text-secondary: #9CA3AF;--g-dialog-bg-cancel: #242424;--g-dialog-color-primary: #60A5FA;--g-dialog-color-primary-hover: #3B82F6;--g-dialog-color-danger: #F87171;--g-dialog-color-danger-hover: #EF4444;--g-dialog-color-success: #4ADE80;--g-dialog-color-warning: #FBBF24;--g-dialog-bg-primary: rgba(59, 130, 246, .15);--g-dialog-bg-success: rgba(34, 197, 94, .15);--g-dialog-bg-danger: rgba(239, 68, 68, .15);--g-dialog-bg-warning: rgba(245, 158, 11, .15);box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0d}}.g-dialog-fade-enter-active,.g-dialog-fade-leave-active{transition:opacity .2s ease}.g-dialog-fade-enter-from,.g-dialog-fade-leave-to{opacity:0}.g-dialog-scale-enter-active{transition:all .25s cubic-bezier(.34,1.56,.64,1)}.g-dialog-scale-leave-active{transition:all .15s ease}.g-dialog-scale-enter-from{opacity:0;transform:scale(.9)}.g-dialog-scale-leave-to{opacity:0;transform:scale(.95)}.g-offline-overlay[data-v-05bb9684]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.g-offline-card[data-v-05bb9684]{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:320px;width:100%;text-align:center}.g-offline-icon[data-v-05bb9684]{width:56px;height:56px;border-radius:50%;background:var(--color-danger-bg, rgba(220, 38, 38, .1));color:var(--color-danger);display:flex;align-items:center;justify-content:center}.g-offline-card h3[data-v-05bb9684]{font-size:16px;font-weight:600;color:var(--color-text)}.g-offline-card p[data-v-05bb9684]{font-size:13px;color:var(--color-text-muted)}.offline-enter-active[data-v-05bb9684]{animation:offline-in-05bb9684 .2s var(--ease-out, ease-out)}.offline-leave-active[data-v-05bb9684]{animation:offline-in-05bb9684 .2s var(--ease-out, ease-out) reverse}@keyframes offline-in-05bb9684{0%{opacity:0}to{opacity:1}}:root{--color-primary: #5E6AD2;--color-primary-hover: #4E5BBF;--color-primary-light: #F0F0FF;--color-secondary: #6366F1;--color-success: #2DA44E;--color-success-light: #EEFBF1;--color-warning: #D97706;--color-warning-light: #FEF9EE;--color-danger: #E5484D;--color-danger-hover: #CE2C31;--color-danger-light: #FFF0F0;--color-panic: #E5484D;--color-panic-hover: #CE2C31;--color-panic-pulse: rgba(229, 72, 77, .3);--color-panic-glow: rgba(229, 72, 77, .15);--color-bg: #F8F8F8;--color-surface: #FFFFFF;--color-surface-raised: #FFFFFF;--color-border: #E8E8EC;--color-text: #1A1A1A;--color-text-secondary: #6E6E80;--color-text-muted: #A1A1AA;--color-sidebar-bg: #FCFCFC;--color-sidebar-text: #6E6E80;--color-sidebar-active: #5E6AD2;--color-sidebar-hover: #F3F3F5;--color-sidebar-border: #E8E8EC;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06), 0 0 1px rgba(0,0,0,.06);--shadow-lg: 0 8px 24px rgba(0,0,0,.08), 0 0 1px rgba(0,0,0,.06);--shadow-panic: 0 0 40px rgba(229, 72, 77, .2);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--transition: .15s var(--ease-out);--transition-slow: .25s var(--ease-out);--sidebar-width: 240px;--viz-grid: #e1e0d9;--viz-axis: #c3c2b7;--viz-muted: #898781;--viz-series-1: #2a78d6;--viz-series-1-wash: rgba(42, 120, 214, .1)}[data-theme=dark]{--color-primary: #8B8FF5;--color-primary-hover: #A0A4F8;--color-primary-light: #1F1F3A;--color-success: #3FB950;--color-success-light: #132313;--color-warning: #E3B341;--color-warning-light: #2A2010;--color-danger: #F85149;--color-danger-hover: #FF6B6B;--color-danger-light: #2D1215;--color-panic: #F85149;--color-panic-hover: #FF6B6B;--color-bg: #0A0A0B;--color-surface: #111113;--color-surface-raised: #191A1E;--color-border: #222326;--color-text: #EDEDEF;--color-text-secondary: #8B8B8E;--color-text-muted: #5C5C63;--color-sidebar-bg: #0E0E10;--color-sidebar-text: #8B8B8E;--color-sidebar-active: #8B8FF5;--color-sidebar-hover: #18181B;--color-sidebar-border: #222326;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 2px 8px rgba(0,0,0,.5), 0 0 1px rgba(0,0,0,.3);--shadow-lg: 0 8px 24px rgba(0,0,0,.6), 0 0 1px rgba(0,0,0,.3);--shadow-panic: 0 0 40px rgba(248, 81, 73, .25);--viz-grid: #2c2c2a;--viz-axis: #383835;--viz-muted: #898781;--viz-series-1: #3987e5;--viz-series-1-wash: rgba(57, 135, 229, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
