.page-content:has(> #registrationForm) { grid-template-rows: auto minmax(0, 1fr); }
#registrationForm { overflow: hidden; min-height: 0; }
#registrationForm .table-wrapper { height: 100%; overflow: auto; }
.page-content:has(> #registrationForm) > header { position: sticky; top: 0; z-index: 50; padding: 20px 24px; }
.page-content:has(> #registrationForm) h1 { margin: 0 0 10px; font-size: 28px; }
.registration-counts { margin-bottom: 12px; font-size: 14px; line-height: 1.5; }
.page-content:has(> #registrationForm) .header-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.page-content:has(> #registrationForm) .header-actions button,
.page-content:has(> #registrationForm) .button-link { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 35px; padding: 0 16px; border: 0; border-radius: 6px; font: bold 12px Arial, sans-serif; text-decoration: none; cursor: pointer; }
.page-content:has(> #registrationForm) button:disabled { opacity: .55; cursor: default; }
.registration-hint, .registration-notice { margin: 12px 0 0; font-size: 12px; line-height: 1.4; }
.registration-notice { color: #8b0000; }
.registration-table { border-collapse: separate; border-spacing: 0; table-layout: fixed; width: 946px; min-width: 946px; background: white; }
.registration-table.registration-bfs { width: 470px; min-width: 470px; }
.registration-name { width: 180px; }
.registration-profile { width: 110px; }
.registration-choice { width: 68px; }
.registration-table th, .registration-table td { box-sizing: border-box; padding: 6px; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; vertical-align: middle; text-align: center; background: #fff; }
.registration-table th { position: sticky; top: 0; z-index: 10; height: 48px; background: #e9e9e9; font-size: 13px; }
.registration-table th:first-child, .registration-table td:first-child { border-left: 1px solid #ccc; }
.registration-table td { height: 48px; }
.registration-table .registration-first, .registration-table .registration-last, .registration-table .registration-profil { position: sticky; z-index: 20; background: #f0f0f0; }
.registration-first { left: 0; }
.registration-last { left: 180px; }
.registration-profil { left: 360px; box-shadow: 4px 0 6px rgba(0,0,0,.12); }
.registration-table thead .registration-first, .registration-table thead .registration-last, .registration-table thead .registration-profil { z-index: 30; }
.registration-value { display: flex; align-items: center; justify-content: center; min-height: 34px; border: 1px solid #bbb; border-radius: 5px; font-size: 14px; padding: 3px; overflow-wrap: anywhere; }
.registration-table .profil-field { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.registration-table input[type="checkbox"] { width: 24px; height: 24px; }
.registration-empty { text-align: left !important; padding: 18px !important; font-size: 14px; }
@media (max-width: 540px) {
    .registration-table .registration-last, .registration-table .registration-profil { position: static; box-shadow: none; }
}
