.app-sidebar[data-v-b6586ec9]{width:var(--sidebar-width);background:var(--color-sidebar);height:100vh;transition:width var(--transition-slow);z-index:100;flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar--collapsed[data-v-b6586ec9]{width:var(--sidebar-collapsed-width)}.sidebar-logo[data-v-b6586ec9]{height:var(--header-height);padding:0 var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff0f;flex-shrink:0;display:flex}.sidebar-logo__icon[data-v-b6586ec9]{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-logo__icon img[data-v-b6586ec9]{width:100%;height:100%;display:block}.sidebar-logo__text[data-v-b6586ec9]{font-size:var(--font-size-lg);color:#fff;white-space:nowrap;letter-spacing:.02em;font-weight:700}.sidebar-menu[data-v-b6586ec9]{padding:var(--space-3) var(--space-2);flex:1;overflow:hidden auto}.sidebar-close[data-v-b6586ec9]{color:#fff;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:24px;display:none}.sidebar-menu[data-v-b6586ec9] .n-menu{background:0 0}.sidebar-menu[data-v-b6586ec9] .n-menu-item-content{border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar-menu[data-v-b6586ec9] .n-menu-item-content--selected{font-weight:600}.fade-enter-active[data-v-b6586ec9],.fade-leave-active[data-v-b6586ec9]{transition:opacity var(--transition-base)}.fade-enter-from[data-v-b6586ec9],.fade-leave-to[data-v-b6586ec9]{opacity:0}@media (width<=768px){.sidebar-logo[data-v-b6586ec9]{gap:8px}.sidebar-close[data-v-b6586ec9]{display:block}.app-sidebar[data-v-b6586ec9]{box-shadow:var(--shadow-lg);position:fixed;left:0;transform:translate(0)}.app-sidebar--collapsed[data-v-b6586ec9]{width:var(--sidebar-width);transform:translate(-100%)}}.app-header[data-v-0d473e6c]{height:var(--header-height);background:var(--color-header);border-bottom:1px solid var(--color-border-light);padding:0 var(--space-6);z-index:90;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left[data-v-0d473e6c]{align-items:center;gap:var(--space-4);min-width:0;display:flex}.header-breadcrumb[data-v-0d473e6c]{font-size:var(--font-size-sm)}.header-right[data-v-0d473e6c]{align-items:center;gap:var(--space-1);display:flex}.header-notify[data-v-0d473e6c]{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.header-icon-btn[data-v-0d473e6c]{border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.header-icon-btn[data-v-0d473e6c]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.header-icon-btn[data-v-0d473e6c]:active{background:var(--color-bg-active)}.header-user[data-v-0d473e6c]{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);margin-left:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.header-user[data-v-0d473e6c]:hover{background:var(--color-bg-hover)}.header-user__name[data-v-0d473e6c]{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.header-user__arrow[data-v-0d473e6c]{color:var(--color-text-tertiary)}.notify-panel[data-v-0d473e6c]{gap:var(--space-3);flex-direction:column;display:flex}.notify-panel__header[data-v-0d473e6c]{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.notify-panel__title[data-v-0d473e6c]{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.notify-panel__list[data-v-0d473e6c]{gap:var(--space-2);flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.notify-panel__empty[data-v-0d473e6c]{padding:var(--space-6) 0}.notify-item[data-v-0d473e6c]{text-align:left;border:1px solid var(--color-border-light);background:var(--color-bg-page);border-radius:var(--radius-md);width:100%;padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.notify-item[data-v-0d473e6c]:hover{background:var(--color-bg-hover)}.notify-item--unread[data-v-0d473e6c]{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border-light));background:color-mix(in srgb, var(--color-primary) 6%, var(--color-bg-page))}.notify-item__top[data-v-0d473e6c]{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.notify-item__time[data-v-0d473e6c]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);flex-shrink:0}.notify-item__title[data-v-0d473e6c]{font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-1);font-weight:600}.notify-item__body[data-v-0d473e6c]{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}@media (width<=768px){.app-header[data-v-0d473e6c]{padding:0 var(--space-4)}.header-breadcrumb[data-v-0d473e6c],.header-user__name[data-v-0d473e6c]{display:none}}.main-layout[data-v-4f37fbc4]{background:var(--color-bg-page);min-height:100vh;display:flex}.main-layout__content[data-v-4f37fbc4]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-layout__main[data-v-4f37fbc4]{padding:var(--space-6);flex:1;overflow:hidden auto}@media (width<=768px){.main-layout__main[data-v-4f37fbc4]{padding:var(--space-4)}}:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-active:#1d4ed8;--color-primary-light:#eff6ff;--color-primary-muted:#dbeafe;--color-success:#10b981;--color-success-light:#ecfdf5;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-error:#ef4444;--color-error-light:#fef2f2;--color-info:#06b6d4;--color-info-light:#ecfeff;--color-purple:#8b5cf6;--color-purple-light:#f5f3ff;--color-orange:#f97316;--color-orange-light:#fff7ed;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-disabled:#cbd5e1;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-divider:#e2e8f0;--color-bg-page:#f8fafc;--color-bg-card:#fff;--color-bg-hover:#f1f5f9;--color-bg-active:#e2e8f0;--color-sidebar:#1e293b;--color-sidebar-hover:#334155;--color-sidebar-active:#3b82f6;--color-header:#fff;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-card:var(--shadow-md);--shadow-card-hover:var(--shadow-lg);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--sidebar-width:240px;--sidebar-collapsed-width:64px;--header-height:56px;--content-max-width:none;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-border:#334155;--color-border-light:#1e293b;--color-bg-page:#0f172a;--color-bg-card:#1e293b;--color-bg-hover:#334155;--color-header:#1e293b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.ds-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base), transform var(--transition-base)}.ds-card:hover{box-shadow:var(--shadow-card-hover)}.ds-card--interactive:hover{transform:translateY(-2px)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-disabled);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}
