.alert-wrapper[data-v-06bd3da9]{position:relative}.alert-btn[data-v-06bd3da9]{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:color .15s;display:flex;position:relative}.alert-btn[data-v-06bd3da9]:hover{color:var(--color-text)}.badge[data-v-06bd3da9]{color:#000;background:#f59e0b;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.alert-dropdown[data-v-06bd3da9]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);z-index:200;width:340px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}@media (width<=600px){.alert-dropdown[data-v-06bd3da9]{width:auto;position:fixed;top:68px;left:.75rem;right:.75rem}}.alert-header[data-v-06bd3da9]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.alert-title[data-v-06bd3da9]{font-size:.875rem;font-weight:600}.alert-empty[data-v-06bd3da9]{color:var(--color-text-muted);text-align:center;padding:1.25rem 1rem;font-size:.875rem}.alert-list[data-v-06bd3da9]{max-height:400px;list-style:none;overflow-y:auto}.alert-item[data-v-06bd3da9]{border-bottom:1px solid var(--color-border);border-left:3px solid var(--color-warning,#f59e0b);gap:.75rem;padding:.75rem 1rem;transition:background .12s;display:flex}.alert-item[data-v-06bd3da9]:last-child{border-bottom:none}.alert-item[data-v-06bd3da9]:hover{background:#ffffff0a}.alert-item.severity-critical[data-v-06bd3da9]{border-left-color:#ef4444}.alert-item.severity-maintenance[data-v-06bd3da9]{border-left-color:#f59e0b}.alert-icon[data-v-06bd3da9]{flex-shrink:0;font-size:1.2rem}.alert-content[data-v-06bd3da9]{flex:1;min-width:0}.alert-agencies[data-v-06bd3da9]{margin-bottom:.25rem}.agency-badge[data-v-06bd3da9]{text-transform:uppercase;background:#ffffff1a;border-radius:3px;padding:.25rem .5rem;font-size:.625rem;font-weight:700;display:inline-block}.alert-header-text[data-v-06bd3da9]{color:var(--color-text);margin-bottom:.25rem;font-size:.8125rem;font-weight:500;line-height:1.3}.alert-effect[data-v-06bd3da9]{color:var(--color-text-muted);font-size:.75rem;line-height:1.3}.app-header[data-v-cd9d71d4]{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;align-items:center;gap:1.5rem;height:60px;padding:0 1.5rem;display:flex;position:sticky;top:0}.header-left[data-v-cd9d71d4]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.brand-link[data-v-cd9d71d4]{align-items:center;text-decoration:none;display:flex}.brand-icon[data-v-cd9d71d4]{object-fit:cover;border-radius:6px;flex-shrink:0;width:28px;height:28px}.brand-name[data-v-cd9d71d4],.mobile-tab-btn[data-v-cd9d71d4]{display:none}.header-nav[data-v-cd9d71d4]{flex:1;gap:1rem;display:flex}.nav-link[data-v-cd9d71d4]{color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.3rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s,background .15s}.nav-link[data-v-cd9d71d4]:hover{color:var(--color-text);border-color:color-mix(in srgb, var(--color-primary) 50%, transparent);background:color-mix(in srgb, var(--color-primary) 8%, transparent)}.nav-link.router-link-active[data-v-cd9d71d4]{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.nav-link[href=\/about][data-v-cd9d71d4]{animation:2.5s ease-in-out infinite about-glow-cd9d71d4}@keyframes about-glow-cd9d71d4{0%,to{border-color:var(--color-border);box-shadow:none;color:var(--color-text-muted)}50%{border-color:var(--color-primary);box-shadow:0 0 8px color-mix(in srgb, var(--color-primary) 50%, transparent);color:var(--color-primary)}}.header-actions[data-v-cd9d71d4]{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.user-name[data-v-cd9d71d4]{color:var(--color-text-muted);font-size:.875rem}.btn-ghost[data-v-cd9d71d4]{color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;padding:.4rem .75rem;font-size:.875rem;text-decoration:none;transition:color .15s}.btn-ghost[data-v-cd9d71d4]:hover{color:var(--color-text)}.btn-primary[data-v-cd9d71d4]{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);padding:.4rem .9rem;font-size:.875rem;text-decoration:none;transition:background .15s}.btn-primary[data-v-cd9d71d4]:hover{background:var(--color-primary-hover)}.theme-toggle-btn[data-v-cd9d71d4]{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:flex}.theme-toggle-btn[data-v-cd9d71d4]:hover{color:var(--color-text);border-color:var(--color-text-muted);background:color-mix(in srgb, var(--color-text) 8%, transparent)}.mobile-link[data-v-cd9d71d4]{align-items:center;gap:.3rem;display:flex}.hamburger-wrap[data-v-cd9d71d4]{display:none;position:relative}.hamburger-btn[data-v-cd9d71d4]{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.hamburger-btn[data-v-cd9d71d4]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.hamburger-menu[data-v-cd9d71d4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-md);z-index:200;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.menu-link[data-v-cd9d71d4]{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.menu-link[data-v-cd9d71d4]:last-child{border-bottom:none}.menu-link[data-v-cd9d71d4]:hover{background:color-mix(in srgb, var(--color-primary) 8%, transparent);color:var(--color-text)}.menu-link.router-link-active[data-v-cd9d71d4]{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.account-icon-btn[data-v-cd9d71d4]{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.account-icon-btn[data-v-cd9d71d4]:hover,.account-icon-btn.router-link-active[data-v-cd9d71d4]{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.bell-wrapper[data-v-cd9d71d4]{position:relative}.bell-btn[data-v-cd9d71d4]{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:color .15s;display:flex;position:relative}.bell-btn[data-v-cd9d71d4]:hover{color:var(--color-text)}.badge[data-v-cd9d71d4]{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown[data-v-cd9d71d4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);z-index:200;width:320px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}@media (width<=600px){.notif-dropdown[data-v-cd9d71d4]{width:auto;position:fixed;top:68px;left:.75rem;right:.75rem}}.notif-header[data-v-cd9d71d4]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.notif-title[data-v-cd9d71d4]{font-size:.875rem;font-weight:600}.mark-all-btn[data-v-cd9d71d4]{color:var(--color-primary,#3b82f6);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.mark-all-btn[data-v-cd9d71d4]:hover{text-decoration:underline}.notif-empty[data-v-cd9d71d4]{color:var(--color-text-muted);text-align:center;padding:1.25rem 1rem;font-size:.875rem}.notif-list[data-v-cd9d71d4]{max-height:320px;list-style:none;overflow-y:auto}.notif-item[data-v-cd9d71d4]{cursor:pointer;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;transition:background .12s}.notif-item[data-v-cd9d71d4]:last-child{border-bottom:none}.notif-item[data-v-cd9d71d4]:hover{background:#ffffff0a}.notif-item.unread[data-v-cd9d71d4]{border-left:3px solid #3b82f6;padding-left:calc(1rem - 3px)}.notif-message[data-v-cd9d71d4]{color:var(--color-text);font-size:.8125rem;line-height:1.4}.notif-time[data-v-cd9d71d4]{color:var(--color-text-muted);margin-top:.25rem;font-size:.75rem}.auth-menu-wrap[data-v-cd9d71d4]{display:none;position:relative}.auth-dropdown[data-v-cd9d71d4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:140px;box-shadow:var(--shadow-md);z-index:200;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}@media (width<=600px){.app-header[data-v-cd9d71d4]{gap:.5rem;padding:0 .75rem}.header-nav[data-v-cd9d71d4]{display:none}.hamburger-wrap[data-v-cd9d71d4]{display:block}.mobile-tab-btn[data-v-cd9d71d4]{color:var(--color-text-muted);border-radius:var(--radius-sm);border:1px solid var(--color-border);align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.mobile-tab-btn[data-v-cd9d71d4]:hover,.mobile-tab-btn.router-link-active[data-v-cd9d71d4]{color:var(--color-primary);border-color:var(--color-primary)}.user-name[data-v-cd9d71d4],.sign-out-btn[data-v-cd9d71d4]{display:none}.btn-ghost[data-v-cd9d71d4],.btn-primary[data-v-cd9d71d4]{padding:.3rem .5rem;font-size:.75rem}.header-actions[data-v-cd9d71d4]{gap:.4rem;margin-left:auto}.auth-desktop[data-v-cd9d71d4]{display:none}.auth-menu-wrap[data-v-cd9d71d4]{display:block}}.toast-container[data-v-d7abd7ea]{z-index:9999;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast[data-v-d7abd7ea]{border-radius:var(--radius-md);cursor:pointer;min-width:240px;max-width:360px;box-shadow:var(--shadow-md);align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.toast.success[data-v-d7abd7ea]{color:#bbf7d0;background:#166534}.toast.error[data-v-d7abd7ea]{color:#fecaca;background:#7f1d1d}.toast.info[data-v-d7abd7ea]{color:#bfdbfe;background:#1e3a5f}.toast.warning[data-v-d7abd7ea]{color:#fde68a;background:#78350f}.toast-enter-active[data-v-d7abd7ea],.toast-leave-active[data-v-d7abd7ea]{transition:all .25s}.toast-enter-from[data-v-d7abd7ea],.toast-leave-to[data-v-d7abd7ea]{opacity:0;transform:translate(40px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app-root{background-color:var(--color-bg);height:100%;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .2s,color .2s;overflow-x:hidden}body{overflow-y:hidden}.main-content{overscroll-behavior:contain;height:calc(100vh - 60px);overflow-y:auto}:root{--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-raised:#334155;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-accent:#06b6d4;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-border:#334155;--color-danger:#ef4444;--color-success:#22c55e;--color-warning:#f59e0b;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080}[data-theme=light]{--color-bg:#e8eef8;--color-surface:#f2f6fd;--color-surface-raised:#dce6f4;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-accent:#0284c7;--color-text:#1a2744;--color-text-muted:#5b6f8f;--color-border:#c4d3ea;--color-danger:#dc2626;--color-success:#16a34a;--color-warning:#d97706;--shadow-sm:0 1px 4px #1e3a781a;--shadow-md:0 4px 16px #1e3a7824}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}a{color:var(--color-primary);text-decoration:none}
