.sidebar[data-v-6d8e0632]{width:260px;min-height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;transition:background-color .2s ease,border-color .2s ease}.brand[data-v-6d8e0632]{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.15rem 1.25rem .95rem;border-bottom:1px solid var(--border-subtle)}.brand-logo-wrapper[data-v-6d8e0632]{display:flex;align-items:center;width:100%}.brand-logo-img[data-v-6d8e0632]{height:28px;width:auto;max-width:155px;object-fit:contain}.brand-tagline[data-v-6d8e0632]{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--color-primary);text-transform:uppercase;padding:.15rem .45rem;background:#6366f114;border:1px solid rgba(99,102,241,.16);border-radius:4px}.nav-menu[data-v-6d8e0632]{flex:1;padding:1rem .75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.nav-section-label[data-v-6d8e0632]{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--text-dim);padding:.75rem .5rem .25rem}.nav-item[data-v-6d8e0632]{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:var(--radius-md);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .15s ease;border-left:3px solid transparent}.nav-item[data-v-6d8e0632]:hover{background:var(--bg-surface-hover);color:var(--text-main)}.nav-item.active[data-v-6d8e0632]{background:#4f46e514;color:var(--color-primary);border-left:3px solid var(--color-primary);font-weight:700}html.dark .nav-item.active[data-v-6d8e0632]{background:linear-gradient(90deg,#6366f133,#6366f10d);color:#fff}.nav-item .icon[data-v-6d8e0632]{font-size:1rem}.sidebar-footer[data-v-6d8e0632]{padding:.85rem 1rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface)}.user-chip[data-v-6d8e0632]{display:flex;align-items:center;gap:.6rem;overflow:hidden}.user-avatar[data-v-6d8e0632]{width:32px;height:32px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.user-info[data-v-6d8e0632]{display:flex;flex-direction:column}.user-name[data-v-6d8e0632]{font-size:.8rem;font-weight:600;color:var(--text-main);line-height:1.2}.role-badge[data-v-6d8e0632]{font-size:.65rem;font-weight:700;color:var(--color-primary)}.logout-btn[data-v-6d8e0632]{padding:.4rem;background:transparent;border:1px solid transparent;color:var(--text-dim)}.logout-btn[data-v-6d8e0632]:hover{color:var(--color-danger);background:var(--badge-bg-danger)}.logout-btn svg[data-v-6d8e0632]{width:18px;height:18px}.navbar[data-v-23e4688c]{height:64px;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;flex-shrink:0;transition:background-color .2s ease,border-color .2s ease}.breadcrumb[data-v-23e4688c]{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.text-dim[data-v-23e4688c]{color:var(--text-dim)}.separator[data-v-23e4688c]{color:var(--border-active)}.active-title[data-v-23e4688c]{color:var(--text-main);font-weight:700;font-size:.95rem}.navbar-right[data-v-23e4688c]{display:flex;align-items:center;gap:.75rem}.engine-badge[data-v-23e4688c]{display:flex;align-items:center;gap:.5rem;background:var(--badge-bg-active);border:1px solid var(--badge-border-active);color:var(--badge-text-active);padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.725rem;font-weight:700;letter-spacing:.04em}.pulse-dot[data-v-23e4688c]{width:7px;height:7px;background-color:var(--color-success);border-radius:50%;box-shadow:0 0 8px var(--color-success);animation:pulse-23e4688c 1.8s infinite}@keyframes pulse-23e4688c{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(.95);opacity:.8}}.role-chip[data-v-23e4688c]{display:flex;align-items:center;gap:.4rem;background:#6366f114;border:1px solid rgba(99,102,241,.2);color:var(--color-primary);padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.725rem;font-weight:700}.chip-dot[data-v-23e4688c]{width:6px;height:6px;background-color:var(--color-primary);border-radius:50%}.theme-toggle-btn[data-v-23e4688c]{width:34px;height:34px;padding:0;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.sun-icon[data-v-23e4688c]{color:#fbbf24}.moon-icon[data-v-23e4688c]{color:#475569}.btn-sm[data-v-23e4688c]{padding:.35rem .75rem;font-size:.775rem}.btn-sm svg[data-v-23e4688c]{width:14px;height:14px}.app-layout[data-v-9c12e382]{display:flex;min-height:100vh;width:100vw;overflow:hidden}.main-wrapper[data-v-9c12e382]{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;background-color:var(--bg-primary)}.page-content[data-v-9c12e382]{flex:1;overflow-y:auto;padding:1.75rem;background-color:var(--bg-primary)}.login-layout[data-v-9c12e382]{min-height:100vh;width:100vw}.fade-enter-active[data-v-9c12e382],.fade-leave-active[data-v-9c12e382]{transition:opacity .15s ease}.fade-enter-from[data-v-9c12e382],.fade-leave-to[data-v-9c12e382]{opacity:0}:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-surface: #ffffff;--bg-surface-hover: #f1f5f9;--border-subtle: #e2e8f0;--border-active: #cbd5e1;--border-highlight: #4f46e5;--text-main: #0f172a;--text-muted: #475569;--text-dim: #94a3b8;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-accent: #0891b2;--color-success: #059669;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #2563eb;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 14px -2px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 28px -4px rgba(15, 23, 42, .12);--shadow-glow: 0 0 20px -2px rgba(79, 70, 229, .15);--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--badge-bg-active: #ecfdf5;--badge-text-active: #047857;--badge-border-active: #a7f3d0;--badge-bg-dim: #f1f5f9;--badge-text-dim: #475569;--badge-border-dim: #e2e8f0;--badge-bg-warning: #fffbeb;--badge-text-warning: #b45309;--badge-border-warning: #fde68a;--badge-bg-danger: #fef2f2;--badge-text-danger: #b91c1c;--badge-border-danger: #fecaca}html.dark{--bg-primary: #07090e;--bg-secondary: #0d121d;--bg-surface: #131b2e;--bg-surface-hover: #1a243d;--border-subtle: #1e293b;--border-active: #334155;--border-highlight: #6366f1;--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-accent: #06b6d4;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px -2px rgba(99, 102, 241, .25);--badge-bg-active: rgba(16, 185, 129, .12);--badge-text-active: #34d399;--badge-border-active: rgba(16, 185, 129, .25);--badge-bg-dim: rgba(100, 116, 139, .12);--badge-text-dim: #94a3b8;--badge-border-dim: rgba(100, 116, 139, .25);--badge-bg-warning: rgba(245, 158, 11, .12);--badge-text-warning: #fbbf24;--badge-border-warning: rgba(245, 158, 11, .25);--badge-bg-danger: rgba(239, 68, 68, .15);--badge-text-danger: #f87171;--badge-border-danger: rgba(239, 68, 68, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-active);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-highlight)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:.875rem;padding:.5rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .15s ease-in-out;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;box-shadow:0 2px 8px #4f46e559}.btn-primary:hover:not(:disabled){opacity:.95;box-shadow:0 4px 14px #4f46e573;transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-main);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-active)}.btn-danger{background:var(--badge-bg-danger);border-color:var(--badge-border-danger);color:var(--badge-text-danger)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-success{background:var(--badge-bg-active);border-color:var(--badge-border-active);color:var(--badge-text-active)}.btn-success:hover:not(:disabled){opacity:.9}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.725rem;font-weight:700;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.badge-active,.badge-optimal,.badge-success{background:var(--badge-bg-active);color:var(--badge-text-active);border:1px solid var(--badge-border-active)}.badge-inactive,.badge-dim{background:var(--badge-bg-dim);color:var(--badge-text-dim);border:1px solid var(--badge-border-dim)}.badge-warning,.badge-expensive{background:var(--badge-bg-warning);color:var(--badge-text-warning);border:1px solid var(--badge-border-warning)}.badge-danger,.badge-loss{background:var(--badge-bg-danger);color:var(--badge-text-danger);border:1px solid var(--badge-border-danger)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.input-field{width:100%;padding:.625rem .875rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);font-family:inherit;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.input-field:focus{border-color:var(--border-highlight);box-shadow:0 0 0 3px #6366f126}.table-container{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.data-table th{background:var(--bg-secondary);color:var(--text-muted);font-weight:700;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);text-transform:uppercase;font-size:.725rem;letter-spacing:.05em;white-space:nowrap}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease,background-color .15s ease}.data-table th.sortable:hover{color:var(--color-primary);background:var(--bg-surface-hover)}.sort-icon{display:inline-block;margin-left:.35rem;font-size:.75rem;color:var(--text-dim);vertical-align:middle}.data-table th.sortable:hover .sort-icon,.data-table th.active-sort .sort-icon{color:var(--color-primary);font-weight:700}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.font-mono{font-family:var(--font-mono)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .25s cubic-bezier(.16,1,.3,1) forwards}
