*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background:var(--color-bg-page)}#app{width:100%;height:100vh;overflow:hidden;background:var(--color-bg-page)}html{background:var(--color-bg-page)}.message-container[data-v-50eaf0f1]{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:10000;min-width:300px;max-width:500px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;animation:slideDown-50eaf0f1 .3s ease}.message-content[data-v-50eaf0f1]{display:flex;align-items:center;gap:12px;width:100%}.message-icon[data-v-50eaf0f1]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.message-icon svg[data-v-50eaf0f1]{width:100%;height:100%;stroke:currentColor}.message-text[data-v-50eaf0f1]{flex:1;font-size:14px;line-height:1.5;color:#333}.message-container.success .message-icon[data-v-50eaf0f1]{color:var(--color-primary)}.message-container.error .message-icon[data-v-50eaf0f1]{color:#f56c6c}.message-container.warning .message-icon[data-v-50eaf0f1]{color:#e6a23c}.message-container.info .message-icon[data-v-50eaf0f1]{color:#409eff}@keyframes slideDown-50eaf0f1{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.message-fade-enter-active[data-v-50eaf0f1],.message-fade-leave-active[data-v-50eaf0f1]{transition:opacity .3s ease}.message-fade-enter-from[data-v-50eaf0f1],.message-fade-leave-to[data-v-50eaf0f1]{opacity:0}.pn-panel[data-v-3cf4f236]{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:460px;background:#fff;border-radius:12px;border:1px solid #ebeef5;box-shadow:0 8px 28px #0f172a1f;display:flex;flex-direction:column;overflow:hidden;z-index:1200;animation:pnDropIn-3cf4f236 .18s ease}@keyframes pnDropIn-3cf4f236{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pn-header[data-v-3cf4f236]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid #eef0f4;flex-shrink:0}.pn-title[data-v-3cf4f236]{margin:0 0 2px;font-size:15px;font-weight:600;color:#303133}.pn-subtitle[data-v-3cf4f236]{margin:0;font-size:12px;color:#909399}.pn-link-btn[data-v-3cf4f236]{border:none;background:none;color:#409eff;font-size:12px;cursor:pointer;white-space:nowrap;padding:2px 0}.pn-body[data-v-3cf4f236]{flex:1;min-height:0;max-height:320px;overflow-y:auto;padding:8px 10px}.pn-body[data-v-3cf4f236]::-webkit-scrollbar{width:5px}.pn-body[data-v-3cf4f236]::-webkit-scrollbar-thumb{background:#dcdfe6;border-radius:3px}.pn-empty[data-v-3cf4f236]{padding:32px 12px;text-align:center;color:#909399;font-size:13px}.pn-list[data-v-3cf4f236]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pn-item[data-v-3cf4f236]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid #eef0f4;background:#fff}.pn-item.unread[data-v-3cf4f236]{background:#f0f7ff;border-color:#d9ecff}.pn-item-dot[data-v-3cf4f236]{width:6px;height:6px;border-radius:50%;background:#dcdfe6;margin-top:6px;flex-shrink:0}.pn-item.unread .pn-item-dot[data-v-3cf4f236]{background:#f56c6c}.pn-item-main[data-v-3cf4f236]{flex:1;min-width:0}.pn-item-top[data-v-3cf4f236]{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.pn-branch[data-v-3cf4f236]{font-size:13px;font-weight:600;color:#303133;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.pn-category[data-v-3cf4f236]{padding:1px 6px;border-radius:4px;font-size:11px;background:#f4f4f5;color:#606266;flex-shrink:0}.pn-status[data-v-3cf4f236]{padding:1px 6px;border-radius:4px;font-size:11px;flex-shrink:0}.pn-status.is-pending[data-v-3cf4f236]{background:#fdf6ec;color:#e6a23c}.pn-status.is-approved[data-v-3cf4f236]{background:#ecf5ff;color:#409eff}.pn-item-desc[data-v-3cf4f236]{font-size:12px;color:#606266;line-height:1.4;margin-bottom:4px}.pn-item-meta[data-v-3cf4f236]{display:flex;align-items:center;gap:10px;font-size:11px;color:#909399}.pn-time[data-v-3cf4f236]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn-action-btn[data-v-3cf4f236]{padding:4px 10px;border:none;border-radius:6px;background:#409eff;color:#fff;font-size:12px;cursor:pointer;flex-shrink:0;margin-top:2px}.pn-footer[data-v-3cf4f236]{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid #eef0f4;flex-shrink:0}.pn-btn[data-v-3cf4f236]{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:none}.pn-btn-default[data-v-3cf4f236]{background:#fff;color:#606266;border:1px solid #dcdfe6}.loading-icon[data-v-80698386]{animation:spin-80698386 1s linear infinite}@keyframes spin-80698386{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-item.loading[data-v-80698386]{cursor:not-allowed;opacity:.7}.notify-wrapper[data-v-80698386]{position:relative}.logo-text-collapsed[data-v-be7163a3]{font-size:16px;font-weight:600;color:var(--color-primary);display:none}.sidebar-container.collapsed .logo-text-collapsed[data-v-be7163a3]{display:block}.collapse-btn[data-v-be7163a3]{height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .2s;flex-shrink:0}.collapse-btn[data-v-be7163a3]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.collapse-btn svg[data-v-be7163a3]{width:18px;height:18px;stroke:currentColor}.header-left[data-v-7910c19e]{display:flex;align-items:center;gap:8px}.store-badge[data-v-7910c19e]{font-size:14px;font-weight:500;padding:4px 12px;background:var(--color-primary-bg);border-radius:var(--radius-md);color:var(--color-primary)}.hq-tag[data-v-7910c19e]{font-size:12px;padding:2px 8px;border-radius:4px;background:#fff7e6;color:#d48806}.loading-icon[data-v-7910c19e]{animation:spin-7910c19e 1s linear infinite}@keyframes spin-7910c19e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.menu-item.loading[data-v-7910c19e]{cursor:not-allowed;opacity:.7}.dialog-overlay[data-v-da9647fb]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-container[data-v-da9647fb]{background:#fff;border-radius:12px;width:90%;max-width:420px;box-shadow:0 8px 32px #0003;overflow:hidden;animation:dialogScale-da9647fb .3s ease}@keyframes dialogScale-da9647fb{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialog-header[data-v-da9647fb]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.dialog-title[data-v-da9647fb]{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1a1a1a}.title-icon[data-v-da9647fb]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.title-icon svg[data-v-da9647fb]{width:18px;height:18px;stroke:currentColor}.title-icon.success[data-v-da9647fb]{background:var(--color-primary-light);color:var(--color-primary)}.title-icon.error[data-v-da9647fb]{background:#ffebee;color:#f56c6c}.title-icon.warning[data-v-da9647fb]{background:#fff3e0;color:#e6a23c}.title-icon.info[data-v-da9647fb]{background:#e3f2fd;color:#409eff}.dialog-close[data-v-da9647fb]{width:32px;height:32px;border:none;background:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;transition:all .3s ease;padding:0}.dialog-close[data-v-da9647fb]:hover{background:#f5f5f5;color:#333}.dialog-close svg[data-v-da9647fb]{width:18px;height:18px;stroke:currentColor}.dialog-body[data-v-da9647fb]{padding:24px}.dialog-message[data-v-da9647fb]{font-size:14px;line-height:1.6;color:#666;margin:0}.dialog-footer[data-v-da9647fb]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa}.btn[data-v-da9647fb]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:80px}.btn-cancel[data-v-da9647fb]{background:#fff;color:#666;border:1px solid #dcdfe6}.btn-cancel[data-v-da9647fb]:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-confirm[data-v-da9647fb]{color:#fff}.btn-confirm.success[data-v-da9647fb]{background:var(--color-primary)}.btn-confirm.success[data-v-da9647fb]:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #1677ff4d}.btn-confirm.error[data-v-da9647fb]{background:#f56c6c}.btn-confirm.error[data-v-da9647fb]:hover{background:#e55a5a;box-shadow:0 4px 12px #f56c6c4d}.btn-confirm.warning[data-v-da9647fb]{background:#e6a23c}.btn-confirm.warning[data-v-da9647fb]:hover{background:#d4941f;box-shadow:0 4px 12px #e6a23c4d}.btn-confirm.info[data-v-da9647fb]{background:#409eff}.btn-confirm.info[data-v-da9647fb]:hover{background:#66b1ff;box-shadow:0 4px 12px #409eff4d}.dialog-fade-enter-active[data-v-da9647fb],.dialog-fade-leave-active[data-v-da9647fb]{transition:opacity .3s ease}.dialog-fade-enter-from[data-v-da9647fb],.dialog-fade-leave-to[data-v-da9647fb]{opacity:0}:root{--color-primary: #1677ff;--color-primary-hover: #4096ff;--color-primary-active: #0958d9;--color-primary-light: #e6f4ff;--color-primary-bg: rgba(22, 119, 255, .08);--color-primary-shadow: rgba(22, 119, 255, .18);--color-success: #52c41a;--color-success-bg: #f6ffed;--color-warning: #faad14;--color-warning-bg: #fffbe6;--color-danger: #ff4d4f;--color-danger-bg: #fff2f0;--color-text-primary: #262626;--color-text-regular: #595959;--color-text-secondary: #8c8c8c;--color-text-placeholder: #bfbfbf;--color-border: #f0f0f0;--color-border-base: #d9d9d9;--color-bg-page: #fcfcfc;--color-bg-card: #ffffff;--color-bg-sidebar: #ffffff;--color-bg-hover: #f5f5f5;--color-bg-icon: #f0f2f5;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .03), 0 1px 6px rgba(0, 0, 0, .04);--shadow-dropdown: 0 6px 16px rgba(0, 0, 0, .08);--shadow-active: 0 4px 14px var(--color-primary-shadow);--sidebar-width: 220px;--header-height: 56px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}.page-container{width:100%;height:100%;display:flex;flex-direction:column;padding:24px;background:var(--color-bg-page);box-sizing:border-box}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-title{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.header-actions{display:flex;gap:12px}.content-body{flex:1;overflow-y:auto}.data-section{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}.search-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.search-input,.search-select{padding:8px 12px;border:1px solid var(--color-border-base);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:#fff;transition:border-color .2s,box-shadow .2s}.search-input{flex:1;min-width:180px;max-width:320px}.search-input:focus,.search-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}.btn{padding:8px 16px;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:all .2s;line-height:1.5}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-default{background:#fff;color:var(--color-text-regular);border:1px solid var(--color-border-base)}.btn-default:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background:var(--color-danger);color:#fff}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background:#fafafa}.data-table th{padding:12px 16px;text-align:left;font-weight:500;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text-regular)}.data-table tbody tr:hover{background:#fafafa}.status-badge.active,.status-badge.shipped,.status-badge.completed,.status-badge.approved{background:var(--color-success-bg);color:var(--color-success)}.status-badge.inactive,.status-badge.rejected,.status-badge.cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.pending,.status-badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;padding:0}.btn-link:hover{color:var(--color-primary-hover)}.btn-link.danger{color:var(--color-danger)}.empty-state{text-align:center;padding:48px 20px;color:var(--color-text-secondary)}.loading-container{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--color-text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background:#fff;border-radius:var(--radius-lg);width:90%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-dropdown)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-border)}.modal-title{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary)}.modal-body{padding:24px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border)}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-input,.form-textarea,.form-select{width:100%;padding:8px 12px;border:1px solid var(--color-border-base);border-radius:var(--radius-md);font-size:14px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}.app-layout .content-area,.app-layout .content-body,.app-layout .page-container{scrollbar-width:none;-ms-overflow-style:none}.app-layout .content-area::-webkit-scrollbar,.app-layout .content-body::-webkit-scrollbar,.app-layout .page-container::-webkit-scrollbar{display:none;width:0;height:0}.app-sidebar{width:var(--sidebar-width);background:var(--color-bg-sidebar);height:100%;overflow-y:auto;display:flex;flex-direction:column;transition:width .3s;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}.app-sidebar.collapsed{width:72px}.app-sidebar .sidebar-logo{height:var(--header-height);min-height:var(--header-height);padding:0 16px;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;box-sizing:border-box}.app-sidebar .logo{display:flex;align-items:center;gap:10px;min-width:0;line-height:1}.app-sidebar .logo-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;overflow:hidden;background:transparent;box-shadow:0 2px 8px #1677ff38}.app-sidebar .logo-icon svg,.app-sidebar .logo-image{width:100%;height:100%;border-radius:8px;object-fit:cover;display:block}.app-sidebar .logo-text{font-size:16px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.app-sidebar.collapsed .sidebar-logo{justify-content:center;padding:0 8px}.app-sidebar.collapsed .logo{justify-content:center;width:100%}.app-sidebar .menu-list{padding:16px 10px 24px;flex:1}.app-sidebar .menu-item-wrapper{margin-bottom:10px}.app-sidebar .menu-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 2px;cursor:pointer;transition:all .25s ease;color:var(--color-text-regular);border-radius:var(--radius-lg);position:relative}.app-sidebar .menu-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.app-sidebar .menu-item.disabled{opacity:.45;cursor:not-allowed;color:#909399}.app-sidebar .menu-item.disabled:hover{background:transparent;color:#909399}.app-sidebar .menu-gray-tag{margin-left:auto;padding:1px 6px;font-size:11px;line-height:16px;color:#909399;background:#f4f4f5;border-radius:4px;flex-shrink:0}.app-sidebar .menu-item.active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:500;box-shadow:var(--shadow-active)}.app-sidebar .menu-icon-box{width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-bg-icon);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s ease;position:relative}.app-sidebar .menu-item.active .menu-icon-box{background:var(--color-primary-light)}.app-sidebar .menu-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color .25s ease}.app-sidebar .menu-item:hover .menu-icon{color:var(--color-text-primary)}.app-sidebar .menu-item.active .menu-icon{color:var(--color-primary)}.app-sidebar .menu-icon svg{width:100%;height:100%;stroke:currentColor;fill:none}.app-sidebar .menu-notify-badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger, #f56c6c);border-radius:8px;border:2px solid var(--color-sidebar-bg, #fff);color:#fff;font-size:10px;font-weight:600;line-height:12px;text-align:center;box-sizing:border-box;pointer-events:none;z-index:1}.app-sidebar .menu-text{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar .menu-arrow{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--color-text-placeholder);transition:transform .25s;flex-shrink:0}.app-sidebar .menu-arrow svg{width:12px;height:12px;stroke:currentColor}.app-sidebar .menu-arrow.expanded svg{transform:rotate(90deg)}.app-sidebar .submenu-container{padding:7px 0 11px 15px;margin:5px 10px 11px 31px}.app-sidebar .submenu-item{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 8px;cursor:pointer;transition:all .2s;color:var(--color-text-secondary);font-size:13px;border-radius:var(--radius-md);margin:5px 0}.app-sidebar .submenu-icon-box{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--color-bg-icon);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.app-sidebar .submenu-item:hover .submenu-icon-box,.app-sidebar .submenu-item.active .submenu-icon-box{background:var(--color-primary-light)}.app-sidebar .submenu-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color .2s ease}.app-sidebar .submenu-icon svg{width:100%;height:100%;stroke:currentColor;fill:none}.app-sidebar .submenu-item:hover .submenu-icon,.app-sidebar .submenu-item.active .submenu-icon{color:var(--color-primary)}.app-sidebar .submenu-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar .submenu-item:hover{color:var(--color-primary);background:var(--color-primary-bg)}.app-sidebar .submenu-item.active{color:var(--color-primary);font-weight:500;background:var(--color-primary-bg)}.app-sidebar.collapsed .menu-item{justify-content:center;padding:10px}.app-sidebar.collapsed .menu-text,.app-sidebar.collapsed .menu-arrow{display:none}.app-sidebar.collapsed .menu-icon-box{margin:0}.app-sidebar::-webkit-scrollbar{display:none;width:0;height:0}.app-layout{width:100%;height:100vh;display:flex;background:var(--color-bg-page);overflow:hidden}.app-layout .right-container{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-layout .app-header{height:var(--header-height);min-height:var(--header-height);background:var(--color-bg-card);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;box-sizing:border-box}.app-layout .header-left{display:flex;align-items:center;gap:16px;min-width:0}.app-layout .header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-layout .header-btn-outline{padding:6px 16px;border:1px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;color:var(--color-primary);font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.app-layout .header-btn-outline:hover{background:var(--color-primary-bg)}.app-layout .header-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all .2s;position:relative;border:none;background:transparent}.app-layout .header-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.app-layout .header-icon-btn svg{width:18px;height:18px;stroke:currentColor}.app-layout .notification-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger, #f56c6c);border-radius:8px;border:2px solid #fff;color:#fff;font-size:10px;font-weight:600;line-height:12px;text-align:center;box-sizing:border-box;pointer-events:none}.app-layout .user-info-wrapper{position:relative;margin-left:8px}.app-layout .user-info{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px 4px 4px;border-radius:var(--radius-md);transition:background .2s}.app-layout .user-info:hover{background:var(--color-bg-hover)}.app-layout .user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.app-layout .user-avatar .avatar-img{width:100%;height:100%;object-fit:cover;display:block}.app-layout .avatar-text{color:#fff;font-weight:500;font-size:14px}.app-layout .user-name{font-size:14px;color:var(--color-text-primary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-layout .dropdown-icon{width:14px;height:14px;color:var(--color-text-secondary);stroke:currentColor;transition:transform .2s;flex-shrink:0}.app-layout .dropdown-icon.rotate{transform:rotate(180deg)}.app-layout .user-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);min-width:160px;padding:4px 0;z-index:1001;animation:menuSlideDown .2s ease}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-layout .user-menu .menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .2s;font-size:14px;color:var(--color-text-primary)}.app-layout .user-menu .menu-item:hover{background:var(--color-bg-hover);color:var(--color-primary)}.app-layout .user-menu .menu-item svg{width:16px;height:16px;stroke:currentColor}.app-layout .user-menu .menu-item:last-child{color:var(--color-danger)}.app-layout .user-menu .menu-item:last-child:hover{background:var(--color-danger-bg);color:var(--color-danger)}.app-layout .user-menu .menu-divider{height:1px;background:var(--color-border);margin:4px 0}.app-layout .content-area{flex:1;overflow-y:auto;background:var(--color-bg-page)}
