## Why

Contract documents render the employee's position from `contract_position` (`Field::$defaultKeyByCodes['employee_position']`), not from the live position. When an employee is created with an empty `contract_position`, the position on their contracts prints blank. This happens through Excel import whenever the "Vị trí HĐ" cell is empty, and through the create API whenever the client sends the key as `null` or `""`. Today the create API only falls back to the position when the key is omitted entirely.

## What Changes

- Create API (`POST /admin/employees`): when `contract_position` is blank (missing, `null`, empty, or whitespace-only), set it to the name of the employee's first assigned position. Previously this fallback applied only when the key was absent.
- Employee Excel import (`POST /admin/employees/import`): trim the "Vị trí HĐ" cell. When it is blank, set `contract_position` to the resolved position name. This is the same position that gets assigned to the employee, including the default position used when the "Vị trí" cell is empty or unknown.
- The update API is unchanged. Clearing `contract_position` on update still stores it as blank, with no fallback, and stays independent of the current position.
- The bulk update import (`updateMulti`) is out of scope because it does not handle `contract_position`.

## Capabilities

### New Capabilities

_None._

### Modified Capabilities

- `employee-contract-position`: adds a requirement that `contract_position` defaults to the assigned position's name when it is blank at employee creation (create API and Excel import). It also states explicitly that update does not apply this default.

## Impact

- Code: `app/Http/Controllers/Api/V1/Admin/EmployeeController.php`, in `store()` (contract position default) and `import()` (building the employee data).
- API: no contract changes. `contract_position` remains `nullable|string|max:191`. The only behaviour change is on create, when the field is sent as blank.
- Data: no migration. Existing employees are not touched.
- Contracts: newly created employees get a non-empty `employee_position` on generated contract documents.
