.app-header[data-v-6bedc8b0]{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e7eb}.header-content[data-v-6bedc8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:16px 24px}.header-left .page-title[data-v-6bedc8b0]{font-size:18px;font-weight:600;color:#1f2937;margin:0}.header-right[data-v-6bedc8b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:16px}.search-box[data-v-6bedc8b0]{position:relative;width:256px}.search-box .search-icon[data-v-6bedc8b0]{width:20px;height:20px;color:#9ca3af;position:absolute;left:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.search-box .search-input[data-v-6bedc8b0]{width:100%;padding:8px 12px 8px 40px;background:#f3f4f6;border:1px solid transparent;border-radius:8px;font-size:14px;color:#374151;outline:none;-webkit-transition:all .2s;transition:all .2s}.search-box .search-input[data-v-6bedc8b0]::-webkit-input-placeholder{color:#9ca3af}.search-box .search-input[data-v-6bedc8b0]::-moz-placeholder{color:#9ca3af}.search-box .search-input[data-v-6bedc8b0]:-ms-input-placeholder{color:#9ca3af}.search-box .search-input[data-v-6bedc8b0]::-ms-input-placeholder{color:#9ca3af}.search-box .search-input[data-v-6bedc8b0]::placeholder{color:#9ca3af}.search-box .search-input[data-v-6bedc8b0]:focus{border-color:#2563eb;background:#fff}.header-btn[data-v-6bedc8b0]{position:relative;padding:8px;color:#6b7280;background:transparent;border:none;border-radius:8px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.header-btn[data-v-6bedc8b0]:hover{color:#374151;background:#f3f4f6}.header-btn .btn-icon[data-v-6bedc8b0]{width:24px;height:24px}.header-btn .badge[data-v-6bedc8b0]{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:12px;font-weight:500;border-radius:9px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.sidebar[data-v-0c496412]{width:240px;background:#fff;border-right:1px solid #e5e7eb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:fixed;height:100vh;z-index:30}.logo-section[data-v-0c496412]{padding:20px;border-bottom:1px solid #f3f4f6}.logo-section .logo-wrapper[data-v-0c496412]{gap:12px}.logo-section .logo-icon[data-v-0c496412],.logo-section .logo-wrapper[data-v-0c496412]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.logo-section .logo-icon[data-v-0c496412]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.logo-section .logo-icon .logo-svg[data-v-0c496412]{width:20px;height:20px;color:#fff}.logo-section .logo-text[data-v-0c496412]{font-size:18px;font-weight:600;color:#1f2937}.nav-section[data-v-0c496412]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:16px 0}.nav-group[data-v-0c496412]{margin-bottom:20px}.nav-group .group-title[data-v-0c496412]{font-size:12px;font-weight:500;color:#9ca3af;letter-spacing:.5px;padding:0 24px;margin-bottom:8px}.nav-group .group-menu[data-v-0c496412]{list-style:none;padding:0;margin:0}.nav-item-group .nav-arrow[data-v-0c496412]{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.nav-item-group.open .nav-arrow[data-v-0c496412]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.nav-item[data-v-0c496412]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:10px 12px 10px 24px;border-radius:8px;font-size:14px;font-weight:500;color:#4b5563;text-decoration:none;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;position:relative}.nav-item[data-v-0c496412]:hover{background:#f3f4f6;color:#374151}.nav-item.active[data-v-0c496412]{background:#eff6ff;color:#2563eb}.nav-item .nav-icon[data-v-0c496412]{width:20px;height:20px;-ms-flex-negative:0;flex-shrink:0}.nav-item .nav-text[data-v-0c496412]{-webkit-box-flex:1;-ms-flex:1;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item .nav-arrow[data-v-0c496412]{width:16px;height:16px;color:#9ca3af;-ms-flex-negative:0;flex-shrink:0}.nav-item .nav-badge[data-v-0c496412]{position:absolute;right:12px;min-width:18px;height:18px;padding:0 4px;background:#ef4444;color:#fff;font-size:12px;font-weight:500;border-radius:9px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.nav-submenu[data-v-0c496412]{list-style:none;padding:4px 0;margin:0}.nav-submenu .nav-subitem[data-v-0c496412]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:8px 12px 8px 57px;border-radius:8px;font-size:13px;color:#6b7280;text-decoration:none;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.nav-submenu .nav-subitem[data-v-0c496412]:hover{background:#f9fafb;color:#2563eb}.nav-submenu .nav-subitem.active[data-v-0c496412]{background:#eff6ff;color:#2563eb}.nav-submenu .nav-subitem.active .sub-dot[data-v-0c496412]{background:#2563eb}.nav-submenu .nav-subitem .sub-dot[data-v-0c496412]{width:6px;height:6px;border-radius:50%;background:#d1d5db;-ms-flex-negative:0;flex-shrink:0}.nav-submenu .nav-subitem .sub-dot[data-v-0c496412]:hover{background:#93c5fd}.user-section[data-v-0c496412]{padding:16px;border-top:1px solid #f3f4f6}.user-section .user-info[data-v-0c496412]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.user-section .user-avatar[data-v-0c496412]{-ms-flex-negative:0;flex-shrink:0}.user-section .user-avatar[data-v-0c496412] .el-avatar{background:linear-gradient(135deg,#60a5fa,#2563eb)}.user-section .user-avatar[data-v-0c496412] .el-avatar .el-avatar__text{color:#fff;font-weight:600;font-size:16px}.user-section .user-details[data-v-0c496412]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.user-section .user-details .user-name[data-v-0c496412]{font-size:14px;font-weight:500;color:#1f2937;margin:0 0 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-section .user-details .user-role[data-v-0c496412]{font-size:12px;color:#9ca3af;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-section .logout-btn[data-v-0c496412]{padding:6px;color:#9ca3af;background:transparent;border:none;border-radius:6px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.user-section .logout-btn[data-v-0c496412]:hover{color:#ef4444;background:#fef2f2}.user-section .logout-btn .logout-icon[data-v-0c496412]{width:20px;height:20px}.sidebar[data-v-0c496412]::-webkit-scrollbar{width:6px}.sidebar[data-v-0c496412]::-webkit-scrollbar-track{background:transparent}.sidebar[data-v-0c496412]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sidebar[data-v-0c496412]::-webkit-scrollbar-thumb:hover{background:#9ca3af}.layout-main[data-v-62b77a83],.layout-wrapper[data-v-62b77a83]{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100vh}.layout-main[data-v-62b77a83]{width:calc(100vw - 248px);margin-left:240px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.layout-content[data-v-62b77a83]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:24px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow-y:auto}.move-enter-active[data-v-62b77a83],.move-leave-active[data-v-62b77a83]{-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.move-enter[data-v-62b77a83],.move-leave[data-v-62b77a83]{opacity:0}