.app-nav[data-v-1a85a903]{display:flex;flex-direction:column;gap:2px}.app-nav__link[data-v-1a85a903]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);text-decoration:none;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-default)}.app-nav__link[data-v-1a85a903]:hover{color:var(--color-text)}.app-nav__link.router-link-exact-active[data-v-1a85a903]{background:var(--color-bg-muted);color:var(--color-text);font-weight:var(--font-semibold)}.app-nav__icon[data-v-1a85a903]{flex-shrink:0;opacity:.7}.app-nav__link.router-link-exact-active .app-nav__icon[data-v-1a85a903]{opacity:1}.user-menu[data-v-645528fd]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1)}.user-menu__avatar[data-v-645528fd]{width:30px;height:30px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-600));color:#fff;font-weight:var(--font-semibold);font-size:var(--text-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu__info[data-v-645528fd]{flex:1;min-width:0}.user-menu__name[data-v-645528fd]{font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__email[data-v-645528fd]{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu__logout[data-v-645528fd]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:none;cursor:pointer;color:var(--color-text-muted);flex-shrink:0;transition:color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.user-menu__logout[data-v-645528fd]:hover{background:var(--color-error-50);color:var(--color-error-500)}.toast-container[data-v-e69267cd]{position:fixed;bottom:var(--space-4);right:var(--space-4);top:auto;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:360px}.toast[data-v-e69267cd]{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid;font-size:var(--text-base);cursor:pointer;animation:slide-in-e69267cd .2s ease-out}.toast--success[data-v-e69267cd]{border-left-color:var(--color-success-500);color:var(--color-success-700)}.toast--error[data-v-e69267cd]{border-left-color:var(--color-error-500);color:var(--color-error-700)}.toast--info[data-v-e69267cd]{border-left-color:var(--color-info-500);color:var(--color-info-700)}@keyframes slide-in-e69267cd{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.theme-toggle[data-v-68893ecc]{display:flex;padding:3px;background:var(--color-bg-muted);border-radius:var(--radius-lg)}.theme-toggle__btn[data-v-68893ecc]{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:5px 0;border:none;border-radius:calc(var(--radius-lg) - 2px);background:transparent;cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.theme-toggle__btn[data-v-68893ecc]:hover{color:var(--color-text-secondary)}.theme-toggle__btn--active[data-v-68893ecc]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.theme-toggle__label[data-v-68893ecc]{display:none}@media(min-width:768px){.theme-toggle__label[data-v-68893ecc]{display:inline}}.locale-switcher[data-v-366de597]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2)}.locale-switcher__icon[data-v-366de597]{color:var(--color-text-muted);flex-shrink:0}.locale-switcher__select[data-v-366de597]{flex:1;border:none;background:transparent;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1) 0}.locale-switcher__select[data-v-366de597]:focus{outline:none}.shell[data-v-1b405b9a]{display:flex;flex-direction:column;min-height:100vh}.shell__header[data-v-1b405b9a]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:var(--z-sticky)}.shell__hamburger[data-v-1b405b9a]{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}.shell__hamburger-line[data-v-1b405b9a]{width:18px;height:1.5px;background:var(--color-text-secondary);border-radius:1px;transition:transform var(--duration-slow) var(--ease-default),opacity var(--duration-slow) var(--ease-default);transform-origin:center}.shell__hamburger--open .shell__hamburger-line[data-v-1b405b9a]:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.shell__hamburger--open .shell__hamburger-line[data-v-1b405b9a]:nth-child(2){opacity:0}.shell__hamburger--open .shell__hamburger-line[data-v-1b405b9a]:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.shell__brand[data-v-1b405b9a]{font-weight:var(--font-bold);font-size:var(--text-md);letter-spacing:-.01em;flex:1;color:var(--color-text)}.shell__sidebar[data-v-1b405b9a]{display:none}.shell__sidebar-brand[data-v-1b405b9a]{font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:-.02em;padding:0 var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3);color:var(--color-text)}.shell__sidebar-bottom[data-v-1b405b9a]{margin-top:auto;padding:var(--space-3);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.shell__mobile-bottom[data-v-1b405b9a]{margin-top:auto;padding:var(--space-3);border-top:1px solid var(--color-border)}.shell__mobile-overlay[data-v-1b405b9a]{position:fixed;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay)}.shell__mobile-menu[data-v-1b405b9a]{width:260px;height:100%;background:var(--color-surface);padding:var(--space-4) var(--space-2);transform:translate(0);transition:transform var(--duration-slow) var(--ease-out)}.overlay-enter-active[data-v-1b405b9a]{transition:opacity var(--duration-slow) var(--ease-out)}.overlay-enter-active .shell__mobile-menu[data-v-1b405b9a]{transition:transform var(--duration-slow) var(--ease-out)}.overlay-leave-active[data-v-1b405b9a]{transition:opacity var(--duration-normal) var(--ease-default)}.overlay-leave-active .shell__mobile-menu[data-v-1b405b9a]{transition:transform var(--duration-normal) var(--ease-default)}.overlay-enter-from[data-v-1b405b9a]{opacity:0}.overlay-enter-from .shell__mobile-menu[data-v-1b405b9a]{transform:translate(-100%)}.overlay-leave-to[data-v-1b405b9a]{opacity:0}.overlay-leave-to .shell__mobile-menu[data-v-1b405b9a]{transform:translate(-100%)}.shell__main[data-v-1b405b9a]{flex:1;min-width:0}.shell__loading[data-v-1b405b9a]{display:flex;align-items:center;justify-content:center;min-height:100vh}.shell__loading-brand[data-v-1b405b9a]{font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-text-muted);animation:pulse-1b405b9a 2s ease-in-out infinite}@keyframes pulse-1b405b9a{0%,to{opacity:1}50%{opacity:.4}}@media(min-width:768px){.shell[data-v-1b405b9a]{flex-direction:row}.shell__header[data-v-1b405b9a]{display:none}.shell__sidebar[data-v-1b405b9a]{display:flex;flex-direction:column;width:240px;background:var(--color-bg-subtle);box-shadow:1px 0 0 0 var(--color-border);padding:var(--space-4) var(--space-2);flex-shrink:0;min-height:100vh;position:sticky;top:0;align-self:flex-start}}:root{--color-gray-50: #fafafa;--color-gray-100: #f4f4f5;--color-gray-200: #e4e4e7;--color-gray-300: #d4d4d8;--color-gray-400: #a1a1aa;--color-gray-500: #71717a;--color-gray-600: #52525b;--color-gray-700: #3f3f46;--color-gray-800: #27272a;--color-gray-900: #18181b;--color-gray-950: #09090b;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-success-50: #f0fdf4;--color-success-500: #22c55e;--color-success-700: #15803d;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-700: #b91c1c;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-700: #b45309;--color-info-50: #eff6ff;--color-info-500: #3b82f6;--color-info-700: #1d4ed8;--color-bg: #ffffff;--color-bg-subtle: var(--color-gray-50);--color-bg-muted: var(--color-gray-100);--color-surface: #ffffff;--color-border: var(--color-gray-200);--color-border-hover: var(--color-gray-300);--color-text: var(--color-gray-900);--color-text-secondary: var(--color-gray-500);--color-text-muted: var(--color-gray-400);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Monaco, "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--duration-fast: .1s;--duration-normal: .15s;--duration-slow: .25s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--z-dropdown: 50;--z-sticky: 30;--z-overlay: 40;--z-modal: 100;--z-toast: 200}[data-theme=dark]{color-scheme:dark;--color-gray-50: #18181b;--color-gray-100: #1f1f23;--color-gray-200: #2e2e33;--color-gray-300: #3f3f46;--color-gray-400: #71717a;--color-gray-500: #a1a1aa;--color-gray-600: #d4d4d8;--color-gray-700: #e4e4e7;--color-gray-800: #f4f4f5;--color-gray-900: #fafafa;--color-gray-950: #ffffff;--color-bg: #0c0c0e;--color-bg-subtle: #141416;--color-bg-muted: #1c1c20;--color-surface: #161618;--color-border: #2e2e33;--color-border-hover: #3f3f46;--color-text: #ececef;--color-text-secondary: #a1a1aa;--color-text-muted: #63636b;--color-primary-50: rgba(59, 130, 246, .1);--color-primary-100: rgba(59, 130, 246, .18);--color-primary-200: #3b82f6;--color-primary-400: #60a5fa;--color-primary-500: #4e94f8;--color-primary-600: #60a5fa;--color-primary-700: #93c5fd;--color-success-50: rgba(34, 197, 94, .1);--color-success-500: #4ade80;--color-success-700: #86efac;--color-error-50: rgba(239, 68, 68, .1);--color-error-500: #f87171;--color-error-700: #fca5a5;--color-warning-50: rgba(245, 158, 11, .1);--color-warning-500: #fbbf24;--color-warning-700: #fde68a;--color-info-50: rgba(59, 130, 246, .1);--color-info-500: #60a5fa;--color-info-700: #93c5fd;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .6), 0 2px 4px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .7), 0 4px 6px -4px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .8), 0 8px 10px -6px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);transition:background-color .2s ease,color .2s ease}input,select,textarea,button,a{transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}
