.sidebar[data-v-9c70fa8d]{width:var(--sidebar-w);flex-shrink:0;min-height:100vh;background:var(--color-sidebar);color:var(--color-sidebar-text);padding:1.25rem 0;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06)}.brand[data-v-9c70fa8d]{display:flex;align-items:center;gap:.75rem;padding:0 1rem 1.25rem;margin:0 .75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark[data-v-9c70fa8d]{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary) 0%,#7c3aed 100%);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:-.02em}.brand-text[data-v-9c70fa8d]{display:flex;flex-direction:column;gap:.125rem;min-width:0}.brand-title[data-v-9c70fa8d]{font-size:.875rem;font-weight:600;color:var(--color-sidebar-active);line-height:1.2}.brand-sub[data-v-9c70fa8d]{font-size:.6875rem;opacity:.65}.nav ul[data-v-9c70fa8d]{list-style:none;margin:0;padding:0 .5rem}.nav li[data-v-9c70fa8d]{padding:.625rem .875rem;margin-bottom:.125rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:background .15s ease,color .15s ease}.nav li[data-v-9c70fa8d]:hover:not(.nav-divider){background:var(--color-sidebar-hover-bg);color:var(--color-sidebar-active)}.nav li.active[data-v-9c70fa8d]{background:#6366f140;color:var(--color-sidebar-active);font-weight:500}.nav-divider[data-v-9c70fa8d]{height:1px;padding:0!important;margin:.5rem .5rem .75rem!important;background:#ffffff14!important;cursor:default!important;pointer-events:none}.logout[data-v-9c70fa8d]:hover{background:#dc262633!important;color:#fecaca!important}.nav-foot[data-v-9c70fa8d]{opacity:.95}.nav-label[data-v-9c70fa8d]{display:block}.header[data-v-96f79899]{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem 0 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header-left[data-v-96f79899]{display:flex;align-items:center;gap:.75rem;min-width:0}.header-left h1[data-v-96f79899]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-btn[data-v-96f79899]{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);cursor:pointer;transition:background .15s ease,border-color .15s ease}.toggle-btn[data-v-96f79899]:hover{background:var(--color-surface);border-color:#cbd5e1}.toggle-icon[data-v-96f79899]{display:block;width:1rem;height:2px;background:var(--color-text-secondary);border-radius:1px;box-shadow:0 -5px 0 var(--color-text-secondary),0 5px 0 var(--color-text-secondary)}.user-info[data-v-96f79899]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.avatar[data-v-96f79899]{width:2rem;height:2rem;border-radius:999px;background:var(--color-primary-muted);color:var(--color-primary);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.name[data-v-96f79899]{font-weight:500;color:var(--color-text);max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-container[data-v-f120c002]{display:flex;min-height:100vh}.main-content[data-v-f120c002]{flex:1;display:flex;flex-direction:column;min-width:0;width:calc(100% - var(--sidebar-w));transition:width .2s ease}.main-content.full-width[data-v-f120c002]{width:100%}.content[data-v-f120c002]{flex:1;padding:0;background:var(--color-page-bg);display:flex;flex-direction:column;min-height:0}.login-wrapper[data-v-f120c002]{flex:1;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;background:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(99,102,241,.25),transparent),var(--color-page-bg)}:root{--color-primary: #4f46e5;--color-primary-hover: #6366f1;--color-primary-muted: #e0e7ff;--color-danger: #dc2626;--color-danger-hover: #ef4444;--color-success: #16a34a;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-surface: #ffffff;--color-surface-elevated: #f8fafc;--color-page-bg: #f1f5f9;--color-sidebar: #0f172a;--color-sidebar-text: #94a3b8;--color-sidebar-active: #ffffff;--color-sidebar-hover-bg: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -2px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--header-h: 56px;--sidebar-w: 220px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-page-bg);-webkit-font-smoothing:antialiased}#app{min-height:100%}.ui-input,.ui-select{width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.4;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}.ui-input:hover,.ui-select:hover{border-color:#cbd5e1}.ui-input:focus,.ui-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted)}.ui-input:read-only{background:var(--color-surface-elevated);color:var(--color-text-muted);cursor:default}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:#cbd5e1;color:var(--color-text)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff;box-shadow:none}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover);color:#fff}.btn-ghost{background:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--color-surface-elevated)}.view-root{min-height:calc(100vh - var(--header-h));padding:1.25rem 1.5rem}.view-panel{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden}.view-panel__header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#fafbfc 0%,var(--color-surface) 100%)}.view-panel__header h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;color:var(--color-text);letter-spacing:-.02em}.view-panel__body{padding:0}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}
