User blueprints and panel permissions

Maybe check out the guide for an intro: Permissions | Kirby CMS

Your indentation above is not correct, permissions should be on the same level as the title.

So

permissions:
  access:
    panel: false

creates users with no Panel access.

sort of, you can assign different blueprint folders per user role like this:

index.php

<?php

require __DIR__ . '/kirby/bootstrap.php';

$kirby = new Kirby();
$user  = $kirby->user();

if ($user && $user->role() == 'candidate') {
   $kirby = new Kirby([
       'roots' => [
           'blueprints' => __DIR__ . '/site/blueprints/candidate',
       ],
   ]);

} elseif ($user && $user->role() == 'sponsor') {
   $kirby = new Kirby([
       'roots' => [
           'blueprints' => __DIR__ . '/site/blueprints/sponsor',
       ],
   ]);
}

echo $kirby->render();

Note that this procedure produces some overhead as it loads everything twice. Hopefully, we will have a better way to achieve this in the future, but for the moment, that’s probably the only option.

You can prohibit access to the settings page completely:

permissions:
  access:
    settings: false

But then the user won’t be able to define language, either.

You can add new Panel views, yes: https://getkirby.com/docs/reference/plugins/extensions/panel-views