.auth-page[data-v-70ae3d77]{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.auth-card[data-v-70ae3d77]{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:12px;width:100%;max-width:400px;padding:2.5rem}.auth-title[data-v-70ae3d77]{color:var(--text-primary);text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.auth-form[data-v-70ae3d77]{flex-direction:column;gap:1rem;display:flex}.field[data-v-70ae3d77]{flex-direction:column;gap:.35rem;display:flex}.field label[data-v-70ae3d77]{color:var(--text-muted);font-size:.85rem;font-weight:500}.field input[data-v-70ae3d77]{border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s}.field input[data-v-70ae3d77]:focus{border-color:var(--accent)}.auth-error[data-v-70ae3d77]{color:var(--down);margin:0;font-size:.85rem}.auth-btn[data-v-70ae3d77]{background:var(--accent);color:var(--text-inverse);cursor:pointer;border:none;border-radius:8px;padding:.7rem;font-size:1rem;font-weight:600;transition:opacity .2s}.auth-btn[data-v-70ae3d77]:disabled{opacity:.6;cursor:not-allowed}.auth-btn[data-v-70ae3d77]:hover:not(:disabled){opacity:.9}.sidebar[data-v-5cbf1be2]{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:100;flex-direction:column;width:220px;height:100vh;transition:transform .3s,background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-brand[data-v-5cbf1be2]{border-bottom:1px solid var(--sidebar-border);cursor:pointer;align-items:center;gap:10px;padding:20px 16px 16px;transition:opacity .15s;display:flex}.sidebar-brand[data-v-5cbf1be2]:hover{opacity:.8}.brand-icon[data-v-5cbf1be2]{background:var(--sidebar-brand-bg);color:var(--sidebar-brand-text);letter-spacing:-.5px;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;transition:background .3s,color .3s;display:flex}.brand-label[data-v-5cbf1be2]{color:var(--sidebar-brand-label);font-size:1.05rem;font-weight:700;transition:color .3s}.nav-list[data-v-5cbf1be2]{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex}.nav-item[data-v-5cbf1be2]{cursor:pointer;color:var(--sidebar-item-color);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:10px 14px;font-size:.9rem;transition:all .15s;display:flex}.nav-item[data-v-5cbf1be2]:hover{background:var(--sidebar-item-hover-bg);color:var(--sidebar-item-hover-text)}.nav-item.active[data-v-5cbf1be2]{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.nav-item.active .nav-icon[data-v-5cbf1be2]{color:var(--sidebar-active-text)}.nav-icon[data-v-5cbf1be2]{text-align:center;flex-shrink:0;width:20px;font-size:1rem}.nav-label[data-v-5cbf1be2]{white-space:nowrap}.user-section[data-v-5cbf1be2]{border-top:1px solid var(--sidebar-footer-border);padding:12px 16px 8px}.user-info[data-v-5cbf1be2]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.user-avatar[data-v-5cbf1be2]{background:var(--accent,#00bcd4);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.user-details[data-v-5cbf1be2]{flex-direction:column;gap:1px;display:flex}.user-name[data-v-5cbf1be2]{color:var(--text-primary,#e0e0e0);font-size:.85rem;font-weight:600}.user-role[data-v-5cbf1be2]{color:var(--text-footer,#678);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.logout-btn[data-v-5cbf1be2]{border:1px solid var(--sidebar-border);width:100%;color:var(--sidebar-item-color);cursor:pointer;background:0 0;border-radius:6px;padding:8px 12px;font-size:.8rem;transition:all .15s}.logout-btn[data-v-5cbf1be2]:hover{border-color:var(--down,#e74c3c);color:var(--down,#e74c3c);background:#e74c3c1a}.login-section[data-v-5cbf1be2]{border-top:1px solid var(--sidebar-footer-border);padding:12px 16px 8px}.login-link[data-v-5cbf1be2]{text-align:center;background:var(--accent,#00bcd4);color:#fff;border-radius:6px;padding:8px 12px;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.login-link[data-v-5cbf1be2]:hover{opacity:.9;text-decoration:none}.sidebar-footer[data-v-5cbf1be2]{border-top:1px solid var(--sidebar-footer-border);flex-direction:column;gap:8px;padding:12px 16px;transition:border-color .3s;display:flex}.version-label[data-v-5cbf1be2]{color:var(--sidebar-footer-text);text-align:center;font-family:SF Mono,Fira Code,monospace;font-size:.7rem;transition:color .3s}@media (width<=768px){.sidebar[data-v-5cbf1be2]{width:240px;transform:translate(-100%)}.sidebar.open[data-v-5cbf1be2]{transform:translate(0)}}.breadcrumbs[data-v-2143e849]{color:var(--text-footer);align-items:center;gap:4px;padding:0 0 16px;font-size:.8rem;display:flex}.crumb[data-v-2143e849]{align-items:center;gap:4px;display:flex}.crumb-link[data-v-2143e849]{cursor:pointer;transition:color .15s}.crumb-link[data-v-2143e849]:hover{color:var(--accent)}.crumb-current[data-v-2143e849]{color:var(--text-primary);font-weight:500}.crumb-sep[data-v-2143e849]{color:var(--border-light);margin:0 2px}@media (width<=480px){.breadcrumbs[data-v-2143e849]{padding-bottom:8px;font-size:.7rem}}.locale-switcher[data-v-dadb8cda]{background:var(--bg-surface);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;letter-spacing:.3px;text-align:center;border-radius:6px;min-width:36px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .15s}.locale-switcher[data-v-dadb8cda]:hover{background:var(--bg-hover);border-color:var(--accent)}@media (width<=480px){.locale-switcher[data-v-dadb8cda]{min-width:40px;min-height:36px;padding:6px 10px;font-size:.8rem}}.theme-toggle[data-v-c803059a]{background:var(--bg-surface);border:1px solid var(--border-primary);cursor:pointer;width:34px;height:34px;color:var(--text-primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.theme-toggle[data-v-c803059a]:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.toggle-icon[data-v-c803059a]{line-height:1}@media (width<=480px){.theme-toggle[data-v-c803059a]{width:36px;height:36px;font-size:1.05rem}}.user-menu[data-v-c9b301d0]{-webkit-user-select:none;user-select:none;position:relative}.user-trigger[data-v-c9b301d0]{background:var(--bg-surface);border:1px solid var(--border-primary);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-family:inherit;transition:all .15s;display:flex}.user-trigger[data-v-c9b301d0]:hover{background:var(--bg-hover);border-color:var(--accent)}.user-trigger-avatar[data-v-c9b301d0]{background:var(--accent,#00bcd4);width:28px;height:28px;color:var(--text-inverse,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.user-trigger-name[data-v-c9b301d0]{color:var(--text-primary);text-overflow:ellipsis;max-width:120px;font-size:.8rem;font-weight:600;overflow:hidden}.user-trigger-arrow[data-v-c9b301d0]{color:var(--text-muted);margin-left:2px;font-size:.55rem;transition:transform .2s}.user-trigger-arrow.open[data-v-c9b301d0]{transform:rotate(180deg)}.user-dropdown[data-v-c9b301d0]{background:var(--bg-surface);border:1px solid var(--border-primary);z-index:200;border-radius:10px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000059}.dropdown-enter-active[data-v-c9b301d0],.dropdown-leave-active[data-v-c9b301d0]{transition:opacity .15s,transform .15s}.dropdown-enter-from[data-v-c9b301d0],.dropdown-leave-to[data-v-c9b301d0]{opacity:0;transform:translateY(-6px)}.dropdown-header[data-v-c9b301d0]{align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.dropdown-avatar[data-v-c9b301d0]{background:var(--accent,#00bcd4);width:36px;height:36px;color:var(--text-inverse,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.dropdown-details[data-v-c9b301d0]{flex-direction:column;gap:2px;display:flex;overflow:hidden}.dropdown-name[data-v-c9b301d0]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.dropdown-email[data-v-c9b301d0]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.dropdown-role[data-v-c9b301d0]{justify-content:space-between;align-items:center;padding:4px 16px 12px;display:flex}.role-label[data-v-c9b301d0]{color:var(--text-footer);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.role-value[data-v-c9b301d0]{color:var(--accent);background:var(--accent-bg);border-radius:99px;padding:2px 10px;font-size:.75rem;font-weight:600}.dropdown-divider[data-v-c9b301d0]{background:var(--border-primary);height:1px;margin:0 16px}.dropdown-logout[data-v-c9b301d0]{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-family:inherit;font-size:.82rem;transition:all .15s;display:flex}.dropdown-logout[data-v-c9b301d0]:hover{background:var(--down-bg,#e74c3c1a);color:var(--down,#e74c3c)}.logout-icon[data-v-c9b301d0]{opacity:.7;font-size:.75rem}@media (width<=768px){.user-trigger-name[data-v-c9b301d0],.user-trigger-arrow[data-v-c9b301d0]{display:none}.user-trigger[data-v-c9b301d0]{padding:4px}.user-dropdown[data-v-c9b301d0]{min-width:200px;right:0}}@media (width<=480px){.user-trigger-avatar[data-v-c9b301d0]{width:32px;height:32px;font-size:.85rem}.user-dropdown[data-v-c9b301d0]{min-width:180px;right:-40px}}.notif-bell[data-v-3595c807]{-webkit-user-select:none;user-select:none;position:relative}.bell-trigger[data-v-3595c807]{background:var(--bg-surface);border:1px solid var(--border-primary);width:34px;height:34px;min-height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.bell-trigger[data-v-3595c807]:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.bell-icon[data-v-3595c807]{flex-shrink:0}.bell-badge[data-v-3595c807]{background:var(--down,#e74c3c);color:#fff;text-align:center;border-radius:99px;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-5px;box-shadow:0 0 4px #e74c3c80}.notif-dropdown[data-v-3595c807]{background:var(--bg-surface);border:1px solid var(--border-primary);z-index:200;border-radius:10px;flex-direction:column;width:360px;max-height:420px;display:flex;position:absolute;top:calc(100% + 6px);right:-20px;overflow:hidden;box-shadow:0 8px 24px #00000059}.dropdown-enter-active[data-v-3595c807],.dropdown-leave-active[data-v-3595c807]{transition:opacity .15s,transform .15s}.dropdown-enter-from[data-v-3595c807],.dropdown-leave-to[data-v-3595c807]{opacity:0;transform:translateY(-6px)}.dropdown-title-bar[data-v-3595c807]{border-bottom:1px solid var(--border-primary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.dropdown-title[data-v-3595c807]{color:var(--text-primary);font-size:.85rem;font-weight:700}.dropdown-loading[data-v-3595c807]{justify-content:center;align-items:center;gap:4px;padding:32px;display:flex}.loading-dot[data-v-3595c807]{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:.6s infinite alternate dot-bounce-3595c807}.loading-dot[data-v-3595c807]:nth-child(2){animation-delay:.2s}.loading-dot[data-v-3595c807]:nth-child(3){animation-delay:.4s}@keyframes dot-bounce-3595c807{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.dropdown-empty[data-v-3595c807]{color:var(--text-footer);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:.8rem;display:flex}.empty-icon[data-v-3595c807]{opacity:.5;font-size:1.5rem}.dropdown-list[data-v-3595c807]{overscroll-behavior:contain;flex:1;overflow-y:auto}.notif-row[data-v-3595c807]{border-bottom:1px solid var(--border-primary);cursor:default;align-items:flex-start;gap:10px;padding:10px 16px;transition:background .1s;display:flex}.notif-row[data-v-3595c807]:hover{background:var(--bg-hover)}.notif-row[data-v-3595c807]:last-child{border-bottom:none}.notif-unread[data-v-3595c807]{background:var(--accent-bg,#00bcd40a)}.notif-icon[data-v-3595c807]{background:var(--bg-hover);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.notif-content[data-v-3595c807]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title[data-v-3595c807]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;line-height:1.3;overflow:hidden}.notif-body[data-v-3595c807]{color:var(--text-footer);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.3;overflow:hidden}.notif-time[data-v-3595c807]{color:var(--text-footer);white-space:nowrap;flex-shrink:0;margin-top:2px;font-size:.65rem}.dropdown-footer[data-v-3595c807]{border-top:1px solid var(--border-primary);text-align:center;padding:8px 16px}.view-all-btn[data-v-3595c807]{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s}.view-all-btn[data-v-3595c807]:hover{background:var(--accent-bg,#00bcd41a)}@media (width<=480px){.notif-dropdown[data-v-3595c807]{width:calc(100vw - 24px);right:-70px}}.app-shell[data-v-1c377ab2]{min-height:100vh;display:flex}.sidebar-overlay[data-v-1c377ab2]{display:none}.app-main[data-v-1c377ab2]{flex-direction:column;flex:1;max-width:calc(100vw - 220px);margin-left:220px;padding:24px 32px 32px;transition:margin-left .3s;display:flex}.app-topbar[data-v-1c377ab2]{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.topbar-left[data-v-1c377ab2]{flex:1;align-items:center;gap:12px;display:flex}.topbar-right[data-v-1c377ab2]{flex-shrink:0;align-items:center;gap:8px;display:flex}.ws-status[data-v-1c377ab2]{border-radius:50%;width:10px;height:10px;transition:background .3s;display:inline-block}.ws-status.connected[data-v-1c377ab2]{background:var(--up);box-shadow:0 0 4px var(--up-bg)}.ws-status.connecting[data-v-1c377ab2]{background:var(--warning);animation:1s infinite pulse-ws-1c377ab2}.ws-status.disconnected[data-v-1c377ab2]{background:var(--text-footer)}.ws-status.error[data-v-1c377ab2]{background:var(--down)}@keyframes pulse-ws-1c377ab2{0%,to{opacity:1}50%{opacity:.4}}.hamburger[data-v-1c377ab2]{background:var(--bg-surface);border:1px solid var(--border-primary);cursor:pointer;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;width:36px;height:36px;min-height:36px;padding:8px 6px;transition:background .15s;display:none}.hamburger[data-v-1c377ab2]:hover{background:var(--bg-hover)}.hamburger-line[data-v-1c377ab2]{background:var(--text-primary);border-radius:1px;height:2px;transition:transform .2s;display:block}.app-content[data-v-1c377ab2]{flex:1}.install-banner[data-v-1c377ab2]{z-index:1000;background:var(--bg-surface,#1a2a3a);border-bottom:1px solid var(--accent,#00bcd4);padding:10px 16px;animation:.3s slideDown-1c377ab2;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #0000004d}@keyframes slideDown-1c377ab2{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.install-banner-content[data-v-1c377ab2]{align-items:center;gap:10px;max-width:1260px;margin:0 auto;display:flex}.install-icon[data-v-1c377ab2]{background:var(--accent,#00bcd4);color:#0f1923;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:800;display:flex}.install-text[data-v-1c377ab2]{flex-direction:column;flex:1;min-width:0;display:flex}.install-text strong[data-v-1c377ab2]{color:var(--text-primary,#e0e0e0);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.install-text small[data-v-1c377ab2]{color:var(--text-muted,#89a);font-size:.7rem}.install-btn[data-v-1c377ab2]{background:var(--accent,#00bcd4);color:#0f1923;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;min-height:36px;padding:7px 18px;font-size:.82rem;font-weight:600;transition:opacity .15s}.install-btn[data-v-1c377ab2]:hover{opacity:.9}.install-dismiss[data-v-1c377ab2]{color:var(--text-footer,#678);cursor:pointer;background:0 0;border:none;flex-shrink:0;min-width:32px;min-height:32px;padding:4px;font-size:1.3rem;line-height:1}.install-dismiss[data-v-1c377ab2]:hover{color:var(--text-primary,#e0e0e0)}@media (width<=768px){.app-main[data-v-1c377ab2]{max-width:100vw;margin-left:0;padding:12px 12px 24px}.hamburger[data-v-1c377ab2]{display:flex}.sidebar-overlay[data-v-1c377ab2]{z-index:90;background:#0000008c;display:block;position:fixed;inset:0}.install-banner[data-v-1c377ab2]{padding:8px 12px}.install-text strong[data-v-1c377ab2]{font-size:.8rem}.install-btn[data-v-1c377ab2]{min-height:34px;padding:6px 14px;font-size:.78rem}}@media (width<=480px){.app-main[data-v-1c377ab2]{padding:10px 10px 20px}.app-topbar[data-v-1c377ab2]{flex-wrap:wrap;gap:4px}.topbar-left[data-v-1c377ab2]{flex-wrap:wrap}.install-banner-content[data-v-1c377ab2]{gap:6px}.install-icon[data-v-1c377ab2]{width:28px;height:28px;font-size:.7rem}.install-text small[data-v-1c377ab2]{display:none}.install-btn[data-v-1c377ab2]{min-height:32px;padding:6px 12px;font-size:.75rem}}@media (width<=375px){.app-main[data-v-1c377ab2]{padding:8px 6px 16px}.install-text strong[data-v-1c377ab2]{font-size:.75rem}.install-btn[data-v-1c377ab2]{padding:5px 10px;font-size:.72rem}.hamburger[data-v-1c377ab2]{width:32px;height:32px;min-height:32px;padding:6px 5px}}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:#0f1923;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:#00bcd4;text-decoration:none}a:hover{text-decoration:underline}code{font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:.85em}button,select,input[type=text],input[type=search]{appearance:none}@media (width<=768px){body{overflow-x:hidden}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a3a4a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a4a5a}
