.notification-center[data-v-65f921bf]{position:relative}.notification-button[data-v-65f921bf]{align-items:center;background:transparent;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;position:relative;transition:color .2s}.notification-button[data-v-65f921bf]:hover{color:#374151}.badge[data-v-65f921bf]{align-items:center;background:#ef4444;border-radius:9999px;color:#fff;font-size:.625rem;font-weight:600;height:1rem;justify-content:center;line-height:1;min-width:1rem;padding:.125rem .375rem;right:.25rem;top:.25rem}.badge[data-v-65f921bf],.notification-panel[data-v-65f921bf]{display:flex;position:absolute}.notification-panel[data-v-65f921bf]{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;flex-direction:column;max-height:600px;right:0;top:calc(100% + .5rem);width:400px;z-index:50}.panel-header[data-v-65f921bf]{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.25rem}.panel-header h3[data-v-65f921bf]{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.mark-all-btn[data-v-65f921bf]{background:transparent;border:none;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .75rem;transition:all .2s}.mark-all-btn[data-v-65f921bf]:hover{background:#eff6ff}.filters[data-v-65f921bf]{border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1.25rem}.filter-btn[data-v-65f921bf]{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.filter-btn[data-v-65f921bf]:hover{background:#f9fafb;border-color:#d1d5db}.filter-btn.active[data-v-65f921bf]{background:#3b82f6;border-color:#3b82f6;color:#fff}.notifications-list[data-v-65f921bf]{max-height:400px;overflow-y:auto}.notification-item[data-v-65f921bf]{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;position:relative;transition:background .2s}.notification-item[data-v-65f921bf]:hover{background:#f9fafb}.notification-item.unread[data-v-65f921bf]{background:#eff6ff}.notification-item.unread[data-v-65f921bf]:hover{background:#dbeafe}.icon[data-v-65f921bf]{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.icon.success[data-v-65f921bf]{background:#f0fdf4;color:#22c55e}.icon.info[data-v-65f921bf]{background:#eff6ff;color:#3b82f6}.icon.warning[data-v-65f921bf]{background:#fffbeb;color:#f59e0b}.icon.error[data-v-65f921bf]{background:#fef2f2;color:#ef4444}.content[data-v-65f921bf]{flex:1;min-width:0}.content h4[data-v-65f921bf]{color:#111827;font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.content p[data-v-65f921bf]{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0 0 .5rem}.time[data-v-65f921bf]{color:#9ca3af;font-size:.75rem}.unread-dot[data-v-65f921bf]{background:#3b82f6;border-radius:50%;height:.5rem;position:absolute;right:1.25rem;top:1.25rem;width:.5rem}.empty[data-v-65f921bf]{align-items:center;color:#9ca3af;display:flex;flex-direction:column;padding:3rem 1rem}.empty svg[data-v-65f921bf]{margin-bottom:1rem}.empty p[data-v-65f921bf]{font-size:.9375rem;margin:0}.fade-slide-enter-active[data-v-65f921bf],.fade-slide-leave-active[data-v-65f921bf]{transition:all .2s ease}.fade-slide-enter-from[data-v-65f921bf],.fade-slide-leave-to[data-v-65f921bf]{opacity:0;transform:translateY(-10px)}@media (max-width:480px){.notification-panel[data-v-65f921bf]{border-radius:12px 12px 0 0;bottom:0;left:0;max-height:80vh;position:fixed;right:0;top:auto;width:100%}}.toast[data-v-c9d29267]{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026,0 0 0 1px #0000000d;display:flex;gap:.75rem;max-width:400px;min-width:320px;padding:1rem 1.25rem;position:fixed;right:2rem;top:2rem;z-index:9999}.toast.success[data-v-c9d29267]{border-left:4px solid #22c55e}.toast.info[data-v-c9d29267]{border-left:4px solid #3b82f6}.toast.warning[data-v-c9d29267]{border-left:4px solid #f59e0b}.toast.error[data-v-c9d29267]{border-left:4px solid #ef4444}.toast-icon[data-v-c9d29267]{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.toast.success .toast-icon[data-v-c9d29267]{background:#f0fdf4;color:#22c55e}.toast.info .toast-icon[data-v-c9d29267]{background:#eff6ff;color:#3b82f6}.toast.warning .toast-icon[data-v-c9d29267]{background:#fffbeb;color:#f59e0b}.toast.error .toast-icon[data-v-c9d29267]{background:#fef2f2;color:#ef4444}.toast-content[data-v-c9d29267]{flex:1;min-width:0}.toast-content h4[data-v-c9d29267]{color:#111827;font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.toast-content p[data-v-c9d29267]{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0}.toast-close[data-v-c9d29267]{align-items:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;height:2rem;justify-content:center;transition:all .2s;width:2rem}.toast-close[data-v-c9d29267]:hover{background:#f3f4f6;color:#6b7280}.slide-enter-active[data-v-c9d29267],.slide-leave-active[data-v-c9d29267]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.slide-enter-from[data-v-c9d29267],.slide-leave-to[data-v-c9d29267]{opacity:0;transform:translate(calc(100% + 2rem))}@media (max-width:640px){.toast[data-v-c9d29267]{bottom:2rem;left:1rem;max-width:none;min-width:auto;right:1rem;top:auto}.slide-enter-from[data-v-c9d29267],.slide-leave-to[data-v-c9d29267]{transform:translateY(calc(100% + 2rem))}}.offline-indicator[data-v-eb44ecf7]{align-items:center;background:#f59e0b;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-weight:500;gap:.5rem;justify-content:center;left:0;padding:.75rem;position:fixed;right:0;top:0;z-index:1000}.icon[data-v-eb44ecf7]{height:1.25rem;width:1.25rem}.fade-enter-active[data-v-eb44ecf7],.fade-leave-active[data-v-eb44ecf7]{transition:opacity .3s ease}.fade-enter-from[data-v-eb44ecf7],.fade-leave-to[data-v-eb44ecf7]{opacity:0}.install-prompt[data-v-f4b343ea]{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px #0000001a;left:0;position:fixed;right:0;z-index:100}.dark{background:#1e293b;border-top-color:#334155}.prompt-content[data-v-f4b343ea]{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:800px;padding:1rem}.icon[data-v-f4b343ea]{color:#3b82f6;flex-shrink:0;height:2rem;width:2rem}.text[data-v-f4b343ea]{flex:1}.text h3[data-v-f4b343ea]{color:#111827;font-size:1rem;font-weight:600;margin-bottom:.25rem}.text p[data-v-f4b343ea]{color:#6b7280;font-size:.875rem}.actions[data-v-f4b343ea]{display:flex;gap:.5rem}.btn-install[data-v-f4b343ea]{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1.5rem;transition:background-color .2s}.btn-install[data-v-f4b343ea]:hover{background:#2563eb}.btn-dismiss[data-v-f4b343ea]{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:.5rem 1rem;transition:color .2s}.btn-dismiss[data-v-f4b343ea]:hover{color:#111827}.dark{color:#f1f5f9}.slide-up-enter-active[data-v-f4b343ea],.slide-up-leave-active[data-v-f4b343ea]{transition:transform .3s ease}.slide-up-enter-from[data-v-f4b343ea],.slide-up-leave-to[data-v-f4b343ea]{transform:translateY(100%)}@media (max-width:768px){.prompt-content[data-v-f4b343ea]{flex-direction:column;text-align:center}.actions[data-v-f4b343ea]{flex-direction:column}.actions[data-v-f4b343ea],.btn-dismiss[data-v-f4b343ea],.btn-install[data-v-f4b343ea]{width:100%}}.app-layout[data-v-d75ce5ab]{background:#f9fafb;min-height:100vh;transition:background-color .2s ease}.dark{background:#0f172a}.mobile-header[data-v-d75ce5ab]{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;height:60px;justify-content:space-between;left:0;padding:0 1rem;position:fixed;right:0;top:0;transition:all .2s ease;z-index:40}.dark{background:#1e293b;border-bottom-color:#334155}.menu-button[data-v-d75ce5ab]{align-items:center;background:transparent;border:none;color:#374151;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.menu-button[data-v-d75ce5ab]:hover{color:#111827}.header-actions[data-v-d75ce5ab]{align-items:center;display:flex;gap:.5rem}.overlay[data-v-d75ce5ab]{animation:fadeIn-d75ce5ab .2s ease-out;background:#00000080;top:0;right:0;bottom:0;left:0;position:fixed;z-index:45}@keyframes fadeIn-d75ce5ab{0%{opacity:0}to{opacity:1}}.sidebar[data-v-d75ce5ab]{background:#fff;border-right:1px solid #e5e7eb;bottom:0;left:0;overflow-y:auto;position:fixed;top:0;transform:translate(-100%);transition:all .3s ease;width:260px;z-index:50}.dark{background:#1e293b;border-right-color:#334155}.sidebar.open[data-v-d75ce5ab]{transform:translate(0)}@media (min-width:768px){.sidebar[data-v-d75ce5ab]{transform:translate(0)}}.sidebar-header[data-v-d75ce5ab]{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;height:64px;padding:0 1.5rem;transition:border-color .2s ease}.dark{border-bottom-color:#334155}.logo[data-v-d75ce5ab]{color:#3b82f6;font-size:1.25rem;font-weight:700}.sidebar-nav[data-v-d75ce5ab]{padding:1rem}.nav-link[data-v-d75ce5ab]{align-items:center;border-radius:6px;color:#6b7280;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s}.nav-link[data-v-d75ce5ab]:hover{background:#f3f4f6;color:#111827}.dark{color:#94a3b8}.dark{background:#334155;color:#f1f5f9}.nav-link.router-link-active[data-v-d75ce5ab]{background:#eff6ff;color:#3b82f6}.dark{background:#1e3a8a;color:#93c5fd}.logout-button[data-v-d75ce5ab]{background:transparent;border:none;cursor:pointer;text-align:left;width:100%}.logout-button[data-v-d75ce5ab]:hover{background:#fef2f2;color:#dc2626}.dark{background:#7f1d1d;color:#fca5a5}@media (min-width:768px){.mobile-header[data-v-d75ce5ab]{display:none}}.desktop-header[data-v-d75ce5ab]{align-items:center;display:none;justify-content:flex-end;padding:0 0 1rem}.desktop-header-right[data-v-d75ce5ab]{align-items:center;display:flex;gap:.75rem}.main-content[data-v-d75ce5ab]{min-height:100vh;padding:calc(60px + 1.5rem) 1rem 1rem}@media (min-width:768px){.main-content[data-v-d75ce5ab]{margin-left:260px;min-height:100vh;padding:2rem}}@media (max-width:640px){.main-content[data-v-d75ce5ab]{padding:calc(60px + 1.25rem) .75rem .75rem}}.nav-divider[data-v-d75ce5ab]{border-top:1px solid #e5e7eb;margin:1rem 0}.dark{border-top-color:#334155}.nav-section-title[data-v-d75ce5ab]{color:#9ca3af;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding:.5rem 1rem;text-transform:uppercase}.dark{color:#64748b}
