.app-layout { min-height: 100vh; } .menu-sidebar { position: fixed; left: 0; top: 0; bottom: 0; z-index: 100; overflow: auto; overflow-x: hidden; box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05); } .sidebar-logo { height: 64px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 16px; background: #001529; color: #fff; font-size: 16px; font-weight: 600; overflow: hidden; white-space: nowrap; .sidebar-logo-img { height: 32px; width: auto; flex-shrink: 0; } } .app-header { background: #fff; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); position: sticky; top: 0; z-index: 99; } .header-left { display: flex; align-items: center; } .expert-mode-toggle { display: flex; align-items: center; gap: 8px; .expert-mode-label { font-size: 13px; color: #666; } } .header-trigger { font-size: 18px; cursor: pointer; padding: 0 16px; transition: color 0.3s; &:hover { color: #1890ff; } } .header-right { display: flex; align-items: center; gap: 16px; } .user-info { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.3; .user-id { color: #666; font-size: 13px; } .key-id { color: #999; font-size: 13px; } } .content-area { margin-left: 240px; transition: margin-left 0.2s; min-height: calc(100vh - 64px); background: #f0f2f5; } :host-context(.ant-layout-sider-collapsed) + nz-layout .content-area, nz-layout:has(.ant-layout-sider-collapsed) .content-area { margin-left: 80px; } // Handle collapsed state with sibling selector :host { display: block; .ant-layout-sider-collapsed ~ nz-layout .content-area { margin-left: 80px; } }