.notif-stack[data-v-c64fd8d2]{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:10px;width:100%;max-width:400px;display:flex;position:fixed;bottom:24px;right:24px}.notif[data-v-c64fd8d2]{background:var(--color-surface);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 30px #0006,0 2px 8px #0003}.notif[data-v-c64fd8d2]:before{content:"";border-radius:10px 0 0 10px;width:3px;position:absolute;top:0;bottom:0;left:0}.notif--success[data-v-c64fd8d2]:before{background:var(--color-success)}.notif--info[data-v-c64fd8d2]:before{background:var(--color-accent)}.notif--warning[data-v-c64fd8d2]:before{background:var(--color-warning)}.notif--error[data-v-c64fd8d2]:before{background:var(--color-danger)}.notif-icon[data-v-c64fd8d2]{flex-shrink:0;margin-top:1px}.notif--success .notif-icon[data-v-c64fd8d2]{color:var(--color-success)}.notif--info .notif-icon[data-v-c64fd8d2]{color:var(--color-accent-light)}.notif--warning .notif-icon[data-v-c64fd8d2]{color:var(--color-warning)}.notif--error .notif-icon[data-v-c64fd8d2]{color:var(--color-danger)}.notif-body[data-v-c64fd8d2]{flex:1;min-width:0}.notif-title[data-v-c64fd8d2]{color:var(--color-text);font-size:.85rem;font-weight:600;line-height:1.3}.notif-msg[data-v-c64fd8d2]{margin-top:2px;font-size:.78rem;line-height:1.4}.notif-close[data-v-c64fd8d2],.notif-msg[data-v-c64fd8d2]{color:var(--color-text-muted)}.notif-close[data-v-c64fd8d2]{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-top:1px;padding:2px;transition:color .15s,background .15s}.notif-close[data-v-c64fd8d2]:hover{color:var(--color-text);background:var(--color-surface-hover)}.notif-timer[data-v-c64fd8d2]{transform-origin:0;width:100%;height:2px;animation:linear forwards timer-shrink-c64fd8d2;position:absolute;bottom:0;left:0}.notif--success .notif-timer[data-v-c64fd8d2]{background:var(--color-success)}.notif--info .notif-timer[data-v-c64fd8d2]{background:var(--color-accent)}.notif--warning .notif-timer[data-v-c64fd8d2]{background:var(--color-warning)}.notif--error .notif-timer[data-v-c64fd8d2]{background:var(--color-danger)}@keyframes timer-shrink-c64fd8d2{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notif-enter-active[data-v-c64fd8d2]{animation:.3s ease-out notif-in-c64fd8d2}.notif-leave-active[data-v-c64fd8d2]{animation:.3s ease-in forwards notif-out-c64fd8d2}@keyframes notif-in-c64fd8d2{0%{opacity:0;transform:translate(80px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes notif-out-c64fd8d2{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(80px)scale(.95)}}.notif--dismissing[data-v-c64fd8d2]{animation:.3s ease-in forwards notif-out-c64fd8d2}@media (width<=480px){.notif-stack[data-v-c64fd8d2]{max-width:none;bottom:12px;left:12px;right:12px}}:root{--color-bg:#0f1117;--color-surface:#1a1d27;--color-surface-hover:#242836;--color-border:#2a2e3a;--color-text:#e4e6eb;--color-text-muted:#8b8fa3;--color-accent:#6366f1;--color-accent-light:#818cf8;--color-success:#22c55e;--color-warning:#eab308;--color-danger:#ef4444;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:Space Grotesk,system-ui,sans-serif;line-height:1.5}.app-layout{flex-direction:column;min-height:100vh;display:flex}.topbar-logo-link{text-decoration:none;display:inline-flex}.topbar-version{margin-left:4px}.nav-admin{color:var(--amber)!important}.nav-admin.router-link-active{background:var(--amber-soft)}.topbar-session{max-width:380px}.topbar-session-dot{background:var(--signal);border-radius:50%;flex-shrink:0;width:6px;height:6px}.topbar-session-select{color:var(--text-2);cursor:pointer;background:0 0;border:none;max-width:280px;font-size:11px}.topbar-session-select:focus{outline:none}.topbar-session-select option{background:var(--surface);color:var(--text)}.topbar-session-clear{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px}.topbar-session-clear:hover{color:var(--text)}.topbar-auth{border-left:1px solid var(--border);align-items:center;gap:8px;padding-left:12px;display:flex}.topbar-handle{color:var(--text);font-size:12px;font-weight:500}.topbar-logout{color:var(--text-2);padding:5px 9px}.topbar-logout:hover{color:var(--coral);border-color:var(--coral)}.conn-banner{color:var(--bg);background:var(--amber);z-index:99;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:600;display:flex;position:sticky;top:59px}.conn-dot{background:var(--bg);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.4s ease-in-out infinite conn-pulse}@keyframes conn-pulse{0%,to{opacity:.35}50%{opacity:1}}.app-main{flex:1;padding:24px}
