/* Laadbalk bij navigatie en formulierverzending; verschijnt pas na een korte vertraging zodat snelle pagina's niet flitsen */
    .app-loading { position:fixed; top:0; left:0; right:0; height:4px; z-index:60; overflow:hidden; pointer-events:none; }
    .app-loading[hidden] { display:none; }
    :root { --impersonation-height: 0px; }
    .impersonation-banner { position:sticky; top:0; z-index:15; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px clamp(20px,4vw,48px); border-bottom:1px solid #c7d7fe; background:linear-gradient(135deg,#f5f8ff 0%,#eef2ff 100%); color:#2b3a6b; }
    .impersonation-banner-body { display:flex; align-items:center; gap:10px; min-width:0; }
    .impersonation-badge { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; padding:4px 10px; border-radius:999px; background:var(--brand); color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
    .impersonation-copy { min-width:0; }
    .impersonation-copy strong { display:block; font-size:13px; line-height:1.35; }
    .impersonation-copy p { margin:1px 0 0; font-size:12px; color:#5b6b96; }
    .impersonation-banner form { margin:0; flex:0 0 auto; }
    @media (max-width:760px) { .impersonation-banner { display:block; padding:12px 18px; } .impersonation-banner form { margin-top:10px; } .impersonation-banner form button { width:100%; } }
    .app-loading::before { content:""; position:absolute; top:0; bottom:0; left:-40%; width:40%; background:var(--brand); border-radius:0 4px 4px 0; animation:app-loading-slide 1.1s cubic-bezier(.4,0,.2,1) infinite; }
    @keyframes app-loading-slide { 0% { left:-40%; } 100% { left:100%; } }
    .auth-card-heading { margin-bottom:20px; } .auth-card-heading .eyebrow { margin-bottom:4px !important; } .auth-card .field { margin-top:16px; } .auth-card .field:first-of-type { margin-top:0; } .auth-card .field label { margin-top:0; } .auth-captcha { padding:14px; margin-top:20px; border:1px solid var(--line); border-radius:10px; background:var(--subtle); } .auth-captcha-intro { margin:0 0 8px; color:var(--muted); font-size:13px; } .auth-captcha img.captcha { display:block; width:190px; height:auto; margin:2px 0 10px; border:1px solid var(--line); border-radius:6px; background:#fff; } .auth-captcha input[type="text"] { background:#fff; }     .auth-card.auth-card-register { max-width:560px; } .auth-form-register { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; } .auth-form-register .auth-captcha,.auth-form-register .auth-terms,.auth-form-register .form-actions { grid-column:1 / -1; } .auth-form-register .form-actions { margin-top:8px; } .auth-form-register .field { margin-top:0; } .auth-terms,.invite-terms { margin-top:14px; padding:13px 14px; border:1px solid var(--line); border-radius:10px; background:var(--subtle); } .auth-terms .checkbox-field,.invite-terms .checkbox-field { margin:0; font-size:13px; font-weight:500; color:var(--muted); } .auth-terms .checkbox-field input,.invite-terms .checkbox-field input { margin-top:3px; } .auth-terms .checkbox-field a,.invite-terms .checkbox-field a { color:var(--brand); font-weight:700; }
    .auth-layout.auth-layout-register { grid-template-columns:minmax(0,1fr) minmax(480px,560px); max-width:1100px; }
