:root{--color-primary-50: #EFF6FF;--color-primary-100: #DBEAFE;--color-primary-200: #BFDBFE;--color-primary-300: #93C5FD;--color-primary-500: #2563EB;--color-primary-600: #1D4ED8;--color-primary-700: #1E40AF;--color-primary-900: #172554;--color-secondary-50: #F8FAFC;--color-secondary-100: #F1F5F9;--color-secondary-200: #E2E8F0;--color-secondary-300: #CBD5E1;--color-secondary-400: #94A3B8;--color-secondary-500: #64748B;--color-secondary-700: #334155;--color-accent-400: #22D3EE;--color-accent-500: #06B6D4;--color-accent-600: #0891B2;--color-success-50: #F0FDF4;--color-success-100: #DCFCE7;--color-success-500: #22C55E;--color-success-600: #16A34A;--color-success-700: #15803D;--color-warning-50: #FFFBEB;--color-warning-100: #FEF3C7;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-error-50: #FEF2F2;--color-error-100: #FEE2E2;--color-error-500: #EF4444;--color-error-600: #DC2626;--color-error-700: #B91C1C;--color-neutral-0: #FFFFFF;--color-neutral-50: #F8FAFF;--color-neutral-100: #F1F5F9;--color-neutral-200: #E2E8F0;--color-neutral-300: #CBD5E1;--color-neutral-400: #94A3B8;--color-neutral-500: #64748B;--color-neutral-700: #334155;--color-neutral-900: #0F172A;--color-text-primary: #172554;--color-text-secondary: #64748B;--color-text-inverse: #FFFFFF;--color-bg: #F8FAFF;--color-surface: #FFFFFF;--color-surface-hover: #F1F5F9;--color-border: #E2E8F0;--color-border-strong: #CBD5E1;--color-link: #2563EB;--color-link-hover: #1D4ED8;--font-sans: "Inter", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--fs-4xl: 2.25rem;--fs-5xl: 3rem;--fs-6xl: 3.75rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-base: 1.5;--space-0: 0;--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;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, .1), 0 1px 2px 0 rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .1);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -4px rgba(15, 23, 42, .1);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 8px 10px -6px rgba(15, 23, 42, .1);--shadow-2xl: 0 25px 50px -12px rgba(15, 23, 42, .25);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-base);color:var(--color-text-primary);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-link);font-weight:var(--fw-medium);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}h1,h2,h3,h4,h5,h6{line-height:var(--lh-tight);font-weight:var(--fw-bold);color:var(--color-text-primary)}h1{font-size:var(--fs-4xl)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}p{line-height:var(--lh-base)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input{font-family:inherit;font-size:inherit}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--space-4)}@media (min-width: 768px){.container{padding-inline:var(--space-6)}}@media (min-width: 1024px){.container{padding-inline:var(--space-8)}}.route-enter-active{transition:opacity var(--transition-base),transform var(--transition-base)}.route-leave-active{transition:opacity var(--transition-fast),transform var(--transition-fast)}.route-enter-from{opacity:0;transform:translateY(8px)}.route-leave-to{opacity:0;transform:translateY(-8px)}.header[data-v-d03fc5a6]{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:box-shadow var(--transition-base)}.header__inner[data-v-d03fc5a6]{display:flex;align-items:center;justify-content:space-between;height:64px;gap:var(--space-4)}.header__brand[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-weight:var(--fw-bold);font-size:var(--fs-lg);text-decoration:none;flex-shrink:0}.header__logo[data-v-d03fc5a6]{width:32px;height:32px;border-radius:var(--radius-md);flex-shrink:0}.header__name[data-v-d03fc5a6]{letter-spacing:.05em}.header__nav[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-1)}.header__link[data-v-d03fc5a6]{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--fw-medium);font-size:var(--fs-sm);text-decoration:none;transition:all var(--transition-fast)}.header__link[data-v-d03fc5a6]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.header__link--active[data-v-d03fc5a6]{color:var(--color-primary-500);background:var(--color-primary-50)}.header__actions[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header__login[data-v-d03fc5a6]{padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);background:var(--color-primary-500);color:var(--color-neutral-0);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-decoration:none;transition:background var(--transition-fast);min-height:40px;display:flex;align-items:center}.header__login[data-v-d03fc5a6]:hover{background:var(--color-primary-600);color:var(--color-neutral-0)}.header__user[data-v-d03fc5a6]{position:relative}.header__user-btn[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-lg);background:transparent;transition:background var(--transition-fast);min-height:40px}.header__user-btn[data-v-d03fc5a6]:hover{background:var(--color-surface-hover)}.header__avatar[data-v-d03fc5a6]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-500);color:var(--color-neutral-0);font-size:var(--fs-xs);font-weight:var(--fw-bold);flex-shrink:0}.header__user-name[data-v-d03fc5a6]{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__user-menu[data-v-d03fc5a6]{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:var(--z-dropdown)}.header__user-info[data-v-d03fc5a6]{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.header__user-email[data-v-d03fc5a6]{display:block;font-size:var(--fs-sm);color:var(--color-text-primary);font-weight:var(--fw-medium);word-break:break-all}.header__badge[data-v-d03fc5a6]{display:inline-block;margin-top:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-50);color:var(--color-primary-600);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.header__menu-item[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:transparent;transition:all var(--transition-fast)}.header__menu-item[data-v-d03fc5a6]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dropdown-enter-active[data-v-d03fc5a6],.dropdown-leave-active[data-v-d03fc5a6]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-enter-from[data-v-d03fc5a6],.dropdown-leave-to[data-v-d03fc5a6]{opacity:0;transform:translateY(-4px)}.header__mobile-section[data-v-d03fc5a6]{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.header__mobile-user[data-v-d03fc5a6]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.header__mobile-user-name[data-v-d03fc5a6]{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--color-text-primary)}.header__mobile-user-email[data-v-d03fc5a6]{font-size:var(--fs-xs);color:var(--color-text-secondary)}.header__mobile-signout[data-v-d03fc5a6]{display:block;width:100%;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);color:var(--color-error-600);font-size:var(--fs-sm);font-weight:var(--fw-medium);background:transparent;text-align:left;transition:background var(--transition-fast)}.header__mobile-signout[data-v-d03fc5a6]:hover{background:var(--color-error-50)}.header__toggle[data-v-d03fc5a6]{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text-primary);background:transparent;transition:background var(--transition-fast)}.header__toggle[data-v-d03fc5a6]:hover{background:var(--color-surface-hover)}.header__mobile-nav[data-v-d03fc5a6]{display:flex;flex-direction:column;padding:var(--space-2) var(--space-4) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header__mobile-link[data-v-d03fc5a6]{display:block;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:var(--fw-medium);font-size:var(--fs-base);text-decoration:none}.header__mobile-link[data-v-d03fc5a6]:hover,.header__mobile-link--active[data-v-d03fc5a6]{color:var(--color-primary-500);background:var(--color-primary-50)}.mobile-enter-active[data-v-d03fc5a6],.mobile-leave-active[data-v-d03fc5a6]{transition:opacity var(--transition-base),transform var(--transition-base)}.mobile-enter-from[data-v-d03fc5a6],.mobile-leave-to[data-v-d03fc5a6]{opacity:0;transform:translateY(-8px)}@media (max-width: 767px){.header__nav[data-v-d03fc5a6]{display:none}.header__toggle[data-v-d03fc5a6]{display:flex}}@media (min-width: 768px){.header__mobile-nav[data-v-d03fc5a6]{display:none}}.footer[data-v-14373bfb]{margin-top:auto;background:var(--color-neutral-900);padding:var(--space-12) var(--space-4) var(--space-6)}.footer__inner[data-v-14373bfb]{display:flex;flex-direction:column;gap:var(--space-6)}.footer__brand[data-v-14373bfb]{display:flex;align-items:center;gap:var(--space-3)}.footer__logo[data-v-14373bfb]{width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0}.footer__text[data-v-14373bfb]{display:flex;flex-direction:column;gap:var(--space-1)}.footer__name[data-v-14373bfb]{color:var(--color-neutral-0);font-weight:var(--fw-bold);font-size:var(--fs-lg);letter-spacing:.05em}.footer__tagline[data-v-14373bfb]{color:var(--color-neutral-400);font-size:var(--fs-sm)}.footer__nav[data-v-14373bfb]{display:flex;flex-wrap:wrap;gap:var(--space-4)}.footer__link[data-v-14373bfb]{color:var(--color-neutral-300);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-decoration:none;transition:color var(--transition-fast)}.footer__link[data-v-14373bfb]:hover{color:var(--color-neutral-0)}.footer__bottom[data-v-14373bfb]{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--color-secondary-700)}.footer__copyright[data-v-14373bfb]{color:var(--color-neutral-400);font-size:var(--fs-xs)}@media (min-width: 768px){.footer__inner[data-v-14373bfb]{flex-direction:row;align-items:center;justify-content:space-between}}@media (min-width: 1024px){.footer[data-v-14373bfb]{padding:var(--space-16) var(--space-4) var(--space-8)}}.app__main[data-v-3e6120c8]{flex:1}
