.sidebar[data-v-cf95abf1]{width:var(--sidebar-width);background:var(--bg-white);height:100vh;color:var(--text-primary);transition:width var(--transition-normal);z-index:100;border-right:1px solid var(--border-color);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed[data-v-cf95abf1]{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .logo-text[data-v-cf95abf1],.sidebar.collapsed .menu-label[data-v-cf95abf1]{opacity:0;width:0}.sidebar-logo[data-v-cf95abf1]{height:var(--header-height);border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:0 20px;display:flex}.sidebar-logo .logo-icon[data-v-cf95abf1]{background:linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color-hover) 100%);border-radius:var(--radius-md);color:#fff;width:40px;height:40px;transition:background var(--transition-normal);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo .logo-text[data-v-cf95abf1]{color:var(--text-primary);white-space:nowrap;transition:all var(--transition-normal);font-size:16px;font-weight:700}.sidebar-menu[data-v-cf95abf1]{flex:1;padding:16px 12px;overflow-y:auto}.sidebar-footer[data-v-cf95abf1]{border-top:1px solid var(--border-color);padding:16px}.sidebar-footer .logout-item[data-v-cf95abf1]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.sidebar-footer .logout-item[data-v-cf95abf1]:hover{color:var(--danger-color);background:#ef44441a}.sidebar-footer .logout-item .menu-icon[data-v-cf95abf1]{text-align:center;flex-shrink:0;width:24px}.sidebar-footer .logout-item .menu-label[data-v-cf95abf1]{white-space:nowrap;transition:all var(--transition-normal);font-size:14px;font-weight:500}.header[data-v-20f74bf6]{height:var(--header-height);background:var(--bg-white);border-bottom:1px solid var(--border-color);z-index:50;box-shadow:var(--shadow-sm);color:var(--text-primary);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.header-left[data-v-20f74bf6]{align-items:center;gap:16px;display:flex}.header-left .collapse-btn[data-v-20f74bf6]{background:var(--bg-light);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);color:var(--text-secondary);border:none;justify-content:center;align-items:center;font-size:18px;display:flex}.header-left .collapse-btn[data-v-20f74bf6]:hover{background:var(--border-color);color:var(--text-primary)}.header-left .breadcrumb[data-v-20f74bf6]{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.header-left .breadcrumb .current[data-v-20f74bf6]{color:var(--text-primary);font-weight:500}.header-right[data-v-20f74bf6]{align-items:center;gap:12px;display:flex}.header-right .header-btn[data-v-20f74bf6]{border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;display:flex;position:relative}.header-right .header-btn[data-v-20f74bf6]:hover{background:var(--bg-light);color:var(--text-primary)}.header-right .header-btn .badge[data-v-20f74bf6]{background:var(--danger-color);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.header-right .user-info[data-v-20f74bf6]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;max-width:200px;padding:6px 14px;display:flex}.header-right .user-info[data-v-20f74bf6]:hover{background:var(--bg-light)}.header-right .user-info .user-name[data-v-20f74bf6]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.theme-panel[data-v-20f74bf6]{width:200px;padding:12px}.theme-panel-title[data-v-20f74bf6]{color:var(--text-secondary);margin-bottom:10px;font-size:12px;font-weight:500}.theme-swatches[data-v-20f74bf6]{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.swatch[data-v-20f74bf6]{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;transition:all .15s}.swatch[data-v-20f74bf6]:hover{transform:scale(1.15)}.swatch.active[data-v-20f74bf6]{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-white) inset}.lang-panel[data-v-20f74bf6]{flex-direction:column;min-width:120px;padding:4px 0;display:flex}.lang-item[data-v-20f74bf6]{text-align:left;cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:8px 16px;font-size:14px;transition:background .15s}.lang-item[data-v-20f74bf6]:hover{background:var(--bg-light)}.lang-item.active[data-v-20f74bf6]{color:var(--primary-color);font-weight:500}.user-menu[data-v-20f74bf6]{min-width:160px;padding:4px 0}.user-menu-header[data-v-20f74bf6]{border-bottom:1px solid var(--border-color);margin-bottom:4px;padding:10px 16px}.user-menu-header .user-menu-name[data-v-20f74bf6]{color:var(--text-primary);font-size:14px;font-weight:600}.user-menu-header .user-menu-role[data-v-20f74bf6]{color:var(--text-secondary);margin-top:2px;font-size:12px}.user-menu-item[data-v-20f74bf6]{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;padding:8px 16px;font-size:14px;transition:background .15s;display:block}.user-menu-item[data-v-20f74bf6]:hover{background:var(--bg-light)}.user-menu-item.logout[data-v-20f74bf6]{color:var(--danger-color)}.notification-panel[data-v-20f74bf6]{width:320px;max-height:400px}.notification-header[data-v-20f74bf6]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-header h4[data-v-20f74bf6]{color:var(--text-primary);font-size:14px;font-weight:600}.notification-header .text-btn[data-v-20f74bf6]{color:var(--primary-color);cursor:pointer;background:0 0;border:none;font-size:12px}.notification-header .text-btn[data-v-20f74bf6]:hover{text-decoration:underline}.notification-list[data-v-20f74bf6]{max-height:320px;overflow-y:auto}.notification-item[data-v-20f74bf6]{border-bottom:1px solid var(--border-color);gap:12px;padding:12px 16px;transition:background .15s;display:flex}.notification-item[data-v-20f74bf6]:hover{background:var(--bg-light)}.notification-item[data-v-20f74bf6]:last-child{border-bottom:none}.notification-icon[data-v-20f74bf6]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.notification-icon.info[data-v-20f74bf6]{background:var(--primary-color-soft);color:var(--primary-color)}.notification-icon.success[data-v-20f74bf6]{color:var(--success-color);background:#22c55e1a}.notification-icon.warning[data-v-20f74bf6]{color:var(--warning-color);background:#f59e0b1a}.notification-content[data-v-20f74bf6]{flex:1;min-width:0}.notification-title[data-v-20f74bf6]{color:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:500}.notification-text[data-v-20f74bf6]{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.notification-time[data-v-20f74bf6]{color:var(--text-light);font-size:11px}.fade-enter-active[data-v-bd00df30],.fade-leave-active[data-v-bd00df30]{transition:opacity .2s}.fade-enter-from[data-v-bd00df30],.fade-leave-to[data-v-bd00df30]{opacity:0}#app{min-height:100vh}:root,[data-theme-color=blue]{--primary-color:#3b82f6;--primary-color-hover:#60a5fa;--primary-color-pressed:#2563eb;--primary-color-soft:#3b82f61a}[data-theme-color=purple]{--primary-color:#8b5cf6;--primary-color-hover:#a78bfa;--primary-color-pressed:#7c3aed;--primary-color-soft:#8b5cf61a}[data-theme-color=green]{--primary-color:#22c55e;--primary-color-hover:#4ade80;--primary-color-pressed:#16a34a;--primary-color-soft:#22c55e1a}[data-theme-color=orange]{--primary-color:#f59e0b;--primary-color-hover:#fbbf24;--primary-color-pressed:#d97706;--primary-color-soft:#f59e0b1a}[data-theme-color=red]{--primary-color:#ef4444;--primary-color-hover:#f87171;--primary-color-pressed:#dc2626;--primary-color-soft:#ef44441a}[data-theme-color=cyan]{--primary-color:#06b6d4;--primary-color-hover:#22d3ee;--primary-color-pressed:#0891b2;--primary-color-soft:#06b6d41a}[data-theme-color=pink]{--primary-color:#ec4899;--primary-color-hover:#f472b6;--primary-color-pressed:#db2777;--primary-color-soft:#ec48991a}:root,[data-theme-mode=light]{--sidebar-width:260px;--sidebar-collapsed-width:80px;--header-height:64px;--success-color:#22c55e;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#3b82f6;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--border-color:#e5e7eb;--bg-light:#f9fafb;--bg-white:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;--transition-normal:.3s ease}[data-theme-mode=dark]{--success-color:#22c55e;--warning-color:#f59e0b;--danger-color:#ef4444;--info-color:#3b82f6;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-light:#6b7280;--border-color:#2a2a2a;--bg-light:#121212;--bg-white:#1e1e1e;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;transition:background-color .3s,color .3s}body{color:var(--text-primary);background:var(--bg-light);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}[data-theme-mode=dark] ::-webkit-scrollbar-thumb{background:#404040}[data-theme-mode=dark] ::-webkit-scrollbar-thumb:hover{background:#525252}.app-container{min-height:100vh;display:flex}.main-content{min-width:0;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-normal);background:var(--bg-light);flex:1}.main-content.collapsed{margin-left:var(--sidebar-collapsed-width)}.page-content{box-sizing:border-box;min-width:0;max-width:100%;padding:24px}.page-header{margin-bottom:24px}.page-header h1{color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:700}.page-header p{color:var(--text-secondary);font-size:14px}.card{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.card-header .card-action{gap:8px;display:flex}.card-body{padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast);align-items:flex-start;gap:16px;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.stat-card .stat-info{flex:1}.stat-card .stat-info .stat-title{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.stat-card .stat-info .stat-value{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.2}.stat-card .stat-info .stat-unit{color:var(--text-secondary);font-size:14px;font-weight:400}.stat-card .stat-info .stat-trend{align-items:center;gap:4px;margin-top:8px;font-size:13px;display:flex}.stat-card .stat-info .stat-trend.positive{color:var(--success-color)}.stat-card .stat-info .stat-trend.negative{color:var(--danger-color)}.stat-card .stat-info .stat-trend.neutral{color:var(--text-secondary)}.tag{border-radius:9999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.tag.tag-primary{background:var(--primary-color-soft);color:var(--primary-color)}.tag.tag-success{color:var(--success-color);background:#22c55e1a}.tag.tag-warning{color:var(--warning-color);background:#f59e0b1a}.tag.tag-danger{color:var(--danger-color);background:#ef44441a}.tag.tag-info{background:var(--primary-color-soft);color:var(--primary-color)}.grid-2{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=1024px){.grid-2{grid-template-columns:1fr}}.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=1200px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.grid-3{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s forwards fadeIn}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-sm{font-size:13px}.text-muted{color:var(--text-secondary)}@media (width<=768px){.main-content{margin-left:0}}
