anchor.diff:                'This will change how the account is displayed in the list.'),
             TextField(
               controller: _issuerController,
  -            decoration: const InputDecoration(labelText: 'Issuer'),
  +            enabled: issuerRemaining > 0,
  +            maxLength: issuerRemaining > 0 ? issuerRemaining : null,
  +            decoration: const InputDecoration(
  +              labelText: 'Issuer',
  +              helperText: '',
  +            ),
  +            onChanged: (value) {
  +              setState(() {}); // Update maxLength
  +            },
             ),
             TextField(
               controller: _nameController,
  -            decoration: const InputDecoration(
  +            enabled: nameRemaining > 0,
  +            maxLength: nameRemaining > 0 ? nameRemaining : null,
  +            decoration: InputDecoration(
                 labelText: 'Account name *',
  +              helperText: '',
  +              errorText: isValid ? null : 'Your account must have a name',
               ),
               onChanged: (value) {
  -              setState(() {
  -                _isValid = value.trim().isNotEmpty;
  -              });
  +              setState(() {}); // Update maxLength, isValid
               },
             ),
           ],
  
positive.code:         ? '${credential.issuer} (${credential.name})'
          : credential.name;
  
      return AlertDialog(
        title: Text('Rename $label?'),
        content: Column(
  
negative.code:           child: const Text('Cancel'),
          ),
          ElevatedButton(
            onPressed: isValid
                ? () async {
                    final issuer = _issuerController.text.trim();
                    final name = _nameController.text.trim();
  