.titlebar[data-v-25bd3dc0]{position:fixed;top:0;left:0;right:0;height:26px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);padding:0 0 0 12px;z-index:9999;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.titlebar__title[data-v-25bd3dc0]{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;color:var(--accent)}.titlebar__controls[data-v-25bd3dc0]{display:flex;-webkit-app-region:no-drag}.titlebar__controls button[data-v-25bd3dc0]{width:46px;height:26px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:center}.titlebar__controls svg[data-v-25bd3dc0]{width:10px;height:10px}.titlebar__controls button[data-v-25bd3dc0]:hover{background:var(--bg-raised);color:var(--text-primary)}.titlebar__controls button.close[data-v-25bd3dc0]:hover{background:#e81123;color:#fff}.sidenav[data-v-cbc805a4]{width:64px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:12px 0;flex-shrink:0;height:100%;overflow:hidden;transition:width .2s ease}.sidenav[data-v-cbc805a4]:hover{width:180px}.sidenav__logo[data-v-cbc805a4]{margin-bottom:24px;padding:4px 0}.logo-mark[data-v-cbc805a4]{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.15em;color:var(--accent)}.sidenav__links[data-v-cbc805a4]{list-style:none;display:flex;flex-direction:column;gap:2px;width:100%;flex:1;padding:0 8px}.nav-link[data-v-cbc805a4]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;white-space:nowrap;overflow:hidden;transition:background .15s,color .15s;font-size:13px;font-weight:400}.nav-link[data-v-cbc805a4]:hover{background:var(--bg-raised);color:var(--text-primary)}.nav-link.active[data-v-cbc805a4]{background:var(--accent-glow);color:var(--accent)}.nav-link.active .nav-link__icon[data-v-cbc805a4]{color:var(--accent)}.nav-link__icon[data-v-cbc805a4]{flex-shrink:0;display:flex;align-items:center}.nav-link__label[data-v-cbc805a4]{opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.sidenav:hover .nav-link__label[data-v-cbc805a4]{opacity:1;transform:translate(0)}.sidenav__footer[data-v-cbc805a4]{display:flex;flex-direction:column;width:100%;padding:8px;border-top:1px solid var(--border);gap:6px}.user-chip[data-v-cbc805a4]{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.user-chip__avatar[data-v-cbc805a4]{width:28px;height:28px;border-radius:50%;background:var(--accent-glow);border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-chip__name[data-v-cbc805a4]{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .15s}.sidenav:hover .user-chip__name[data-v-cbc805a4]{opacity:1}.logout-btn[data-v-cbc805a4]{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:background .15s,color .15s;flex-shrink:0;opacity:0;transition:opacity .15s}.nav-link--action[data-v-cbc805a4]{width:100%;background:transparent;border:none;cursor:pointer;text-align:left}.nav-link--error[data-v-cbc805a4]{color:var(--danger)!important}.nav-link--busy[data-v-cbc805a4]{opacity:.6;cursor:not-allowed}.drawer-error-tip[data-v-cbc805a4]{font-size:11px;color:var(--danger);padding-left:12px;cursor:default}.sidenav:hover .logout-btn[data-v-cbc805a4]{opacity:1}.logout-btn[data-v-cbc805a4]:hover{background:var(--danger-dim);color:var(--danger)}.app-main[data-v-915596b3]{display:flex;flex-direction:column;height:100vh;padding-top:26px;overflow:hidden}.app-main.has-nav[data-v-915596b3]{flex-direction:row}.view-wrapper[data-v-915596b3]{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100vh;width:100vw}body{overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}:root{--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-raised: #f1f5f9;--bg-overlay: #e2e8f0;--border: #e2e8f0;--border-light: #cbd5e1;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent: #f59e0b;--accent-dim: #fbbf24;--accent-glow: rgba(245, 158, 11, .12);--accent-text: #ffffff;--danger: #dc2626;--danger-dim: #fee2e2;--success: #16a34a;--success-dim: #dcfce7;--warning: #f59e0b;--warning-dim: #fef3c7;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Fira Code", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.05), 0 2px 4px -1px rgba(0,0,0,.03);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.05), 0 4px 6px -2px rgba(0,0,0,.02);--titlebar-h: 0px}body.electron-frame{--titlebar-h: 36px}body{font-family:var(--font-mono);font-size:14px;color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;line-height:1.5}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;background-color:#f8f9fa;color:#333}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-raised);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px;border:2px solid var(--bg-raised)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.view-enter-active{animation:viewIn .2s ease}.view-leave-active{animation:viewOut .15s ease forwards}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viewOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.bg-surface{background:var(--bg-surface)}.bg-raised{background:var(--bg-raised)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-light)}.btn{padding:10px 18px;border-radius:var(--radius-md);font-family:var(--font-display);font-weight:500;font-size:14px;border:none;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dim);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b33}.btn-secondary{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-surface);border-color:var(--text-muted)}.input{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;transition:all .15s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}
