.sidebar[data-v-cb830f8d]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);display:flex;flex-direction:column;z-index:var(--z-sidebar);transition:width var(--transition-base);overflow:hidden}.sidebar.collapsed[data-v-cb830f8d]{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header[data-v-cb830f8d]{justify-content:center;padding:var(--space-5) 0}.sidebar.collapsed .sidebar-logo[data-v-cb830f8d]{justify-content:center;gap:0}.sidebar.collapsed .sidebar-nav[data-v-cb830f8d]{padding:var(--space-3) var(--space-2)}.sidebar.collapsed .nav-link[data-v-cb830f8d]{justify-content:center;height:40px;padding:var(--space-2)}.sidebar.collapsed .sidebar-toggle[data-v-cb830f8d]{padding:var(--space-4) 0}.sidebar-header[data-v-cb830f8d]{display:flex;align-items:center;padding:var(--space-5) var(--space-5);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.06);min-height:var(--topbar-height)}.sidebar-logo[data-v-cb830f8d]{display:flex;align-items:center;gap:var(--space-3)}.logo-icon[data-v-cb830f8d]{color:var(--color-primary-400);flex-shrink:0}.logo-text[data-v-cb830f8d]{font-size:var(--text-xl);font-weight:700;color:#fff;white-space:nowrap;letter-spacing:-.02em}.sidebar-nav[data-v-cb830f8d]{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2)}.nav-list[data-v-cb830f8d]{list-style:none;display:flex;flex-direction:column;gap:2px}.nav-link[data-v-cb830f8d]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-sidebar);transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:500;text-align:left}.nav-link[data-v-cb830f8d]:hover{background:var(--bg-sidebar-hover);color:var(--color-neutral-200)}.nav-link.active[data-v-cb830f8d]{background:var(--bg-sidebar-active);color:var(--text-sidebar-active)}.nav-icon[data-v-cb830f8d]{flex-shrink:0}.nav-label[data-v-cb830f8d]{white-space:nowrap;overflow:hidden}.nav-chevron[data-v-cb830f8d]{margin-left:auto;opacity:.5;transition:transform var(--transition-fast);flex-shrink:0}.nav-chevron.rotated[data-v-cb830f8d]{transform:rotate(180deg)}.nav-children[data-v-cb830f8d]{list-style:none;padding-left:var(--space-6);margin-top:2px;display:flex;flex-direction:column;gap:1px}.nav-child-link[data-v-cb830f8d]{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:6px var(--space-3);border-radius:var(--radius-md);color:var(--text-sidebar);font-size:var(--text-sm);text-align:left;transition:all var(--transition-fast)}.nav-child-link[data-v-cb830f8d]:hover{color:var(--color-neutral-200);background:var(--bg-sidebar-hover)}.nav-child-link.active[data-v-cb830f8d]{color:var(--text-sidebar-active)}.child-dot[data-v-cb830f8d]{width:6px;height:6px;border-radius:50%;background:var(--color-neutral-600);flex-shrink:0;transition:background var(--transition-fast)}.nav-child-link.active .child-dot[data-v-cb830f8d]{background:var(--color-primary-400);box-shadow:0 0 6px #10b98180}.sidebar-toggle[data-v-cb830f8d]{display:flex;align-items:center;justify-content:center;padding:var(--space-4);color:var(--text-sidebar);border-top:1px solid rgba(255,255,255,.06);transition:color var(--transition-fast)}.sidebar-toggle[data-v-cb830f8d]:hover{color:#fff}.fade-text-enter-active[data-v-cb830f8d],.fade-text-leave-active[data-v-cb830f8d]{transition:opacity .15s ease}.fade-text-enter-from[data-v-cb830f8d],.fade-text-leave-to[data-v-cb830f8d]{opacity:0}.slide-down-enter-active[data-v-cb830f8d],.slide-down-leave-active[data-v-cb830f8d]{transition:all .2s ease;overflow:hidden}.slide-down-enter-from[data-v-cb830f8d],.slide-down-leave-to[data-v-cb830f8d]{opacity:0;max-height:0}.slide-down-enter-to[data-v-cb830f8d],.slide-down-leave-from[data-v-cb830f8d]{max-height:500px}@media(max-width:1024px){.sidebar[data-v-cb830f8d]{width:min(var(--sidebar-width),86vw);transform:translate(-100%);transition:transform var(--transition-base),width var(--transition-base);box-shadow:var(--shadow-xl)}.sidebar.mobile-open[data-v-cb830f8d],.sidebar.collapsed.mobile-open[data-v-cb830f8d]{width:min(var(--sidebar-width),86vw);transform:translate(0)}.sidebar.collapsed .sidebar-header[data-v-cb830f8d]{justify-content:flex-start;padding:var(--space-5)}.sidebar.collapsed .sidebar-logo[data-v-cb830f8d]{justify-content:flex-start;gap:var(--space-3)}.sidebar.collapsed .sidebar-nav[data-v-cb830f8d]{padding:var(--space-3) var(--space-2)}.sidebar.collapsed .nav-link[data-v-cb830f8d]{justify-content:flex-start;height:auto;padding:var(--space-2) var(--space-3)}.sidebar-toggle[data-v-cb830f8d]{display:none}}.topbar[data-v-3e7a99d5]{position:fixed;top:0;right:0;left:var(--current-sidebar-width);height:var(--topbar-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-6);z-index:var(--z-topbar);transition:left var(--transition-base);backdrop-filter:blur(12px);min-width:0}.topbar-left[data-v-3e7a99d5]{display:flex;align-items:center;gap:var(--space-4);min-width:0}.topbar-right[data-v-3e7a99d5]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.topbar-btn[data-v-3e7a99d5]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast)}.topbar-btn[data-v-3e7a99d5]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.breadcrumb-list[data-v-3e7a99d5]{display:flex;align-items:center;gap:var(--space-1);list-style:none;min-width:0;overflow:hidden}.breadcrumb-item[data-v-3e7a99d5]{display:flex;align-items:center;gap:var(--space-1);min-width:0}.breadcrumb-separator[data-v-3e7a99d5]{color:var(--text-tertiary)}.breadcrumb-link[data-v-3e7a99d5]{font-size:var(--text-sm);color:var(--text-tertiary)}.breadcrumb-link[data-v-3e7a99d5]:hover{color:var(--color-primary-600)}.breadcrumb-current[data-v-3e7a99d5]{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-btn[data-v-3e7a99d5]{position:relative}.notification-badge[data-v-3e7a99d5]{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.user-menu[data-v-3e7a99d5]{display:flex;align-items:center;gap:var(--space-3);margin-left:var(--space-3);padding-left:var(--space-3);border-left:1px solid var(--border-color)}.user-avatar[data-v-3e7a99d5]{width:34px;height:34px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));display:flex;align-items:center;justify-content:center;color:#fff}.user-info[data-v-3e7a99d5]{display:flex;flex-direction:column}.user-name[data-v-3e7a99d5]{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);line-height:1.2}.user-role[data-v-3e7a99d5]{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:capitalize}@media(max-width:1024px){.topbar[data-v-3e7a99d5]{left:0;padding:0 var(--space-4);width:100%}}@media(max-width:768px){.topbar-right>.topbar-btn[data-v-3e7a99d5]:not(.notification-btn),.user-menu[data-v-3e7a99d5]{display:none}.user-info[data-v-3e7a99d5],.breadcrumb[data-v-3e7a99d5]{display:none}}.app-shell[data-v-3e120bb7]{min-height:100vh;--current-sidebar-width: var(--sidebar-width)}.app-shell.sidebar-collapsed[data-v-3e120bb7]{--current-sidebar-width: var(--sidebar-collapsed-width)}.main-content[data-v-3e120bb7]{margin-left:var(--current-sidebar-width);margin-top:var(--topbar-height);width:calc(100% - var(--current-sidebar-width));min-width:0;min-height:calc(100vh - var(--topbar-height));transition:margin-left var(--transition-base),width var(--transition-base);background:var(--bg-secondary)}.sidebar-backdrop[data-v-3e120bb7]{display:none}@media(max-width:1024px){.app-shell[data-v-3e120bb7],.app-shell.sidebar-collapsed[data-v-3e120bb7]{--current-sidebar-width: 0px}.main-content[data-v-3e120bb7]{width:100%;margin-left:0}.sidebar-backdrop[data-v-3e120bb7]{position:fixed;inset:0;display:block;background:#0f172a73;z-index:calc(var(--z-sidebar) - 1)}}.auth-layout[data-v-efd90889]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-sidebar);position:relative;overflow:hidden}.auth-bg[data-v-efd90889]{position:absolute;inset:0;overflow:hidden}.auth-bg-pattern[data-v-efd90889]{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(20,184,166,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(20,184,166,.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(59,130,246,.08) 0%,transparent 50%)}.auth-container[data-v-efd90889]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);padding:var(--space-8);width:100%;max-width:440px}.auth-brand[data-v-efd90889]{text-align:center}.brand-icon[data-v-efd90889]{color:var(--color-primary-400);margin-bottom:var(--space-3)}.brand-name[data-v-efd90889]{font-size:var(--text-3xl);font-weight:800;color:#fff;letter-spacing:-.03em}.brand-description[data-v-efd90889]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-400)}.auth-card[data-v-efd90889]{width:100%;background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-xl)}.fade-enter-active[data-v-71891564],.fade-leave-active[data-v-71891564]{transition:opacity .2s ease}.fade-enter-from[data-v-71891564],.fade-leave-to[data-v-71891564]{opacity:0}:root{--color-primary-50: #ecfdf5;--color-primary-100: #d1fae5;--color-primary-200: #a7f3d0;--color-primary-300: #6ee7b7;--color-primary-400: #34d399;--color-primary-500: #10b981;--color-primary-600: #059669;--color-primary-700: #047857;--color-primary-800: #065f46;--color-primary-900: #064e3b;--color-primary-950: #022c22;--color-accent-400: #fbbf24;--color-accent-500: #f59e0b;--color-accent-600: #d97706;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-neutral-950: #020617;--color-success: #22c55e;--color-success-bg: #f0fdf4;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-danger: #ef4444;--color-danger-bg: #fef2f2;--color-info: #3b82f6;--color-info-bg: #eff6ff;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-sidebar: #052e16;--bg-sidebar-hover: #14532d;--bg-sidebar-active: rgba(16, 185, 129, .2);--border-color: #e2e8f0;--border-color-light: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverse: #ffffff;--text-sidebar: #94a3b8;--text-sidebar-active: #10b981;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--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: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--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, .05);--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--topbar-height: 64px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-sidebar: 40;--z-topbar: 30;--z-modal: 50;--z-dropdown: 45;--z-tooltip: 60}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-sidebar: #022c22;--bg-sidebar-hover: #052e16;--border-color: #334155;--border-color-light: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-inverse: #0f172a;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary)}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}code,pre{font-family:var(--font-mono)}.page{padding:var(--space-6) var(--space-8);max-width:1440px}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);line-height:var(--leading-tight)}.page-header .page-description{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.page-content{display:flex;flex-direction:column;gap:var(--space-6)}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page{padding:var(--space-4)}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1.5}.badge-success{color:#166534;background:var(--color-success-bg)}.badge-warning{color:#92400e;background:var(--color-warning-bg)}.badge-danger{color:#991b1b;background:var(--color-danger-bg)}.badge-info{color:#1e40af;background:var(--color-info-bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;line-height:1.5;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--color-primary-600);color:#fff}.btn-primary:hover{background:var(--color-primary-700);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-neutral-700)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideInLeft .3s ease-out}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}
