.grm-inlog{display:flex;align-items:flex-start;justify-content:center;min-height:70vh;padding:48px 20px 72px;background:#F5F7FA;font-family:"Inter",Inter,sans-serif}
.grm-inlog *{box-sizing:border-box}

.grm-inlog__kaart{width:100%;max-width:520px;background:#fff;border:1px solid var(--grm-line-soft,#eaeff5);border-radius:16px;padding:32px 30px;box-shadow:0 4px 24px rgba(4,30,66,.07)}

.grm-inlog__logo{display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;color:#041E42;font-family:"Inter Tight",sans-serif;font-weight:800;font-size:19px;text-decoration:none}
.grm-inlog__logo svg{width:auto;height:30px;display:block}
.grm-inlog__logo b{color:#103A63}

.grm-inlog__kaart h1{margin:0 0 18px;font-family:"Inter Tight",sans-serif;font-size:26px;font-weight:800;color:#041E42;letter-spacing:-.01em}

.grm-inlog__rollen{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.grm-inlog__rol{
  display:flex;flex-direction:column;align-items:flex-start;
  padding:18px 16px 16px;border:1.5px solid var(--grm-line-soft,#eaeff5);border-radius:14px;
  background:#fff;color:var(--grm-ink-700,#33424f);text-decoration:none;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;
}
.grm-inlog__rol:hover{border-color:#103A63;background:#fff;box-shadow:0 10px 26px -14px rgba(4,30,66,.4);transform:translateY(-2px)}
.grm-inlog__rol-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:11px;margin-bottom:11px;
  background:#EDF2F8;color:#103A63;font-size:23px;
}
.grm-inlog__rol-titel{display:block;font-size:16px;font-weight:800;color:#041E42;line-height:1.25}
.grm-inlog__rol-prijs{
  display:inline-flex;align-items:baseline;gap:4px;margin:6px 0 10px;
  font-size:18px;font-weight:800;color:#103A63;line-height:1;
}
.grm-inlog__rol-prijs small{font-size:11.5px;font-weight:600;color:var(--grm-ink-400,#7A8794)}
.grm-inlog__rol-prijs--gratis{color:var(--grm-success,#103A63)}
.grm-inlog__rol-wat{
  display:block;margin-bottom:10px;padding-bottom:10px;
  border-bottom:1px solid var(--grm-sky-50,#edf2f8);width:100%;
  font-size:13.5px;font-weight:700;color:#041E42;line-height:1.4;
}
.grm-inlog__rol-lijst{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px;width:100%}
.grm-inlog__rol-lijst li{position:relative;padding-left:18px;font-size:12.5px;line-height:1.45;color:#55636E}
.grm-inlog__rol-lijst li::before{
  content:"check";position:absolute;left:0;top:1px;
  font-family:'Material Symbols Rounded';font-size:13px;color:var(--grm-success,#103A63);
  font-weight:400;font-style:normal;line-height:1.35;
  letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;
  font-variation-settings:'FILL' 0,'wght' 600,'GRAD' 0,'opsz' 24;
}
.grm-inlog__rol-knop{
  margin-top:auto;width:100%;
  display:inline-flex;align-items:center;justify-content:center;
  padding:9px 12px;border-radius:9px;
  background:#103A63;color:#fff;font-size:13px;font-weight:700;line-height:1.2;text-align:center;
}
.grm-inlog__rol:hover .grm-inlog__rol-knop{background:var(--grm-success-text,#0b2a49)}
.grm-inlog__rol.is-actief{border-color:#103A63;background:#EDF2F8}

.grm-inlog__uitleg{margin:0 0 22px;font-size:14px;line-height:1.55;color:#55636E}

.grm-inlog__form label{display:block;margin-bottom:14px;font-size:13.5px;font-weight:600;color:var(--grm-ink-700,#33424f)}
.grm-inlog__form input[type=text],
.grm-inlog__form input[type=email],
.grm-inlog__form input[type=password]{display:block;width:100%;margin-top:6px;height:46px;padding:0 13px;border:1px solid #D7DEE7;border-radius:10px;background:#fff;font-family:inherit;font-size:15px;color:#041E42;transition:border-color .15s,box-shadow .15s}
.grm-inlog__form input:focus{outline:0;border-color:#1668C7;box-shadow:0 0 0 3px rgba(22,104,199,.14)}
.grm-inlog__form .login-remember{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-weight:500;color:#55636E}
.grm-inlog__form .login-remember label{display:flex;align-items:center;gap:8px;margin:0;font-size:13.5px}
.grm-inlog__form .login-remember input{width:16px;height:16px;margin:0;accent-color:#103A63}
.grm-inlog__form .login-submit{margin:0}
.grm-inlog__form input[type=submit]{width:100%;height:48px;border:0;border-radius:10px;background:#103A63;color:#fff;font-family:inherit;font-size:15.5px;font-weight:700;cursor:pointer;transition:background .16s}
.grm-inlog__form input[type=submit]:hover{background:#1668C7}

.grm-inlog__vergeten{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:600;color:#1668C7;text-decoration:none}
.grm-inlog__vergeten:hover{color:#103A63;text-decoration:underline}

.grm-inlog__scheiding{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:var(--grm-ink-400,#7A8794);font-size:12.5px}
.grm-inlog__scheiding::before,.grm-inlog__scheiding::after{content:"";flex:1;height:1px;background:var(--grm-line-soft,#eaeff5)}

.grm-inlog__nieuw{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:13px 18px;border:1.5px solid #103A63;border-radius:10px;
  background:#fff;color:#103A63;
  font-size:14.5px;font-weight:800;line-height:1.2;text-decoration:none;
  transition:background .15s,color .15s,box-shadow .15s,transform .12s;
}
.grm-inlog__nieuw:hover{background:#103A63;color:#fff;box-shadow:0 8px 20px -10px rgba(4,30,66,.5);transform:translateY(-1px)}
.grm-inlog__nieuw .material-symbols-rounded{font-size:19px}

.grm-inlog__klein{margin:20px 0 0;font-size:12px;line-height:1.55;color:var(--grm-ink-400,#7A8794)}
.grm-inlog__klein a{color:#55636E;text-decoration:underline}
.grm-inlog__klein a:hover{color:#103A63}

@media (max-width:520px){
  .grm-inlog{padding:24px 14px 48px}
  .grm-inlog__kaart{padding:24px 20px;border-radius:14px}
  .grm-inlog__kaart h1{font-size:23px}
  .grm-inlog__rollen{grid-template-columns:1fr}
}

/* De oude inlogopzet zette een paginabrede gradient met een groene stop erin
   (#073829) en daarbovenop nog een tweede kaart, waardoor het beeld van een
   inlogscherm in een inlogscherm ontstond. Groen is geen merkkleur en die
   dubbele omlijsting hoort er niet; beide worden hier uitgezet. */
.grm-inlog .grm-portal--narrow,
.grm-portal--narrow:has(.grm-inlog__kaart){background:none!important;padding:0!important;min-height:0!important;width:auto!important;margin-left:0!important;margin-right:0!important}

.grm-inlog__fout{margin:0 0 16px;padding:11px 14px;border:1px solid var(--grm-danger-50,var(--grm-danger-50,#FBD5D2));border-radius:10px;background:var(--grm-canvas,#f5f7fa);color:var(--grm-danger-text,#8A1C1C);font-size:13.5px}
.grm-inlog__form label{position:relative}

.grm-branche-pick__subs{margin-top:18px;padding-top:16px;border-top:1px solid var(--grm-line,#D7DEE7)}
.grm-branche-pick__subs h3{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:0 0 4px;font-size:16px;font-weight:800;color:var(--grm-ink,#041E42)}
.grm-branche-pick__subs h3 small{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--grm-accent,#1668C7);padding:2px 8px;border-radius:99px}
.grm-branche-pick__subs-uitleg{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:var(--grm-ink-500,#55636E)}
.grm-branche-pick__subgrid{display:flex;flex-wrap:wrap;gap:8px}
.grm-branche-pick__sub{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--grm-line,#D7DEE7);border-radius:999px;background:#fff;font-size:13.5px;font-weight:600;color:var(--grm-ink-700,#33424F);cursor:pointer;transition:border-color .14s,background .14s,color .14s}
.grm-branche-pick__sub:hover{border-color:var(--grm-accent,#1668C7);color:var(--grm-brand,#103A63)}
.grm-branche-pick__sub:has(input:checked){background:var(--grm-brand,#103A63);border-color:var(--grm-brand,#103A63);color:#fff}
.grm-branche-pick__sub input{accent-color:var(--grm-accent,#1668C7)}
.grm-inlog__wissel{margin:16px 0 0;text-align:center;font-size:13.5px;color:var(--grm-ink-500,#55636E)}
.grm-inlog__wissel a{color:var(--grm-brand,#103A63);font-weight:700}

.grm-stappen{display:block;margin-top:4px}
.grm-stappen__balk{
  display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;
  list-style:none;margin:0 0 24px;padding:0;counter-reset:none;
}
.grm-stappen__balk li{
  display:flex;align-items:center;gap:8px;min-width:0;
  padding-top:11px;border-top:3px solid var(--grm-line,#D7DEE7);
  color:var(--grm-ink-500,#55636E);font-size:13px;font-weight:600;
  transition:border-color .18s,color .18s;
}
.grm-stappen__balk li.is-actief,
.grm-stappen__balk li.is-klaar{border-top-color:var(--grm-brand,#103A63);color:var(--grm-ink,#041E42)}
.grm-stappen__nr{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:var(--grm-line,#D7DEE7);color:var(--grm-ink-500,#55636E);
  font-size:12px;font-weight:800;line-height:1;
}
.grm-stappen__balk li.is-actief .grm-stappen__nr,
.grm-stappen__balk li.is-klaar .grm-stappen__nr{background:var(--grm-brand,#103A63);color:#fff}
.grm-stappen__titel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.grm-stap{display:none}
.grm-stap.is-actief{display:block;animation:grm-stap-in .22s ease}
@keyframes grm-stap-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.grm-stap__kop{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:0 0 5px;font-size:19px;font-weight:800;color:var(--grm-ink,#041E42);line-height:1.25}
.grm-stap__badge{
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;background:var(--grm-accent,#1668C7);padding:2px 8px;border-radius:99px;
}
.grm-stap__sub{margin:0 0 16px;font-size:13.5px;line-height:1.55;color:var(--grm-ink-500,#55636E)}

.grm-stappen__nav{display:flex;gap:10px;align-items:center;margin-top:20px}
.grm-stappen__terug{margin-right:auto}
.grm-stappen__nav .material-symbols-rounded{font-size:18px}
.grm-stappen__volgende[disabled]{opacity:.45;cursor:not-allowed}
.grm-stappen__nav button[hidden]{display:none}

@media(max-width:560px){
  .grm-stappen__titel{display:none}
  .grm-stappen__balk{gap:8px}
  .grm-stappen__nav{flex-direction:column-reverse;align-items:stretch}
  .grm-stappen__nav button{width:100%;justify-content:center}
  .grm-stappen__terug{margin-right:0}
}

.grm-stap__teller{margin:12px 0 0;font-size:13px;font-weight:700;color:var(--grm-ink-500,#55636E)}
.grm-stap__groep{margin-bottom:18px}
.grm-stap__groep:last-child{margin-bottom:0}
.grm-stap__groep-kop{
  display:flex;align-items:center;gap:8px;margin:0 0 9px;
  font-size:14px;font-weight:800;color:var(--grm-ink,#041E42);
}
.grm-stap__groep-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%}

.grm-inlog__kaart h1.grm-stap__kop{
  margin:0 0 5px;font-family:inherit;font-size:19px;font-weight:800;
  color:var(--grm-ink,#041E42);letter-spacing:normal;
}
@media(max-width:560px){.grm-inlog__kaart h1.grm-stap__kop{font-size:18px}}

.grm-inlog__form .login-submit button[type=submit]{width:100%;height:48px;border:0;border-radius:10px;background:#103A63;color:#fff;font-family:inherit;font-size:15.5px;font-weight:700;cursor:pointer;transition:background .15s ease}
.grm-inlog__form .login-submit button[type=submit]:hover{background:#1668C7}
.grm-inlog__form .login-submit .grm-inlog__gratis{margin-top:10px;height:46px;background:#fff;color:#103A63;border:1.5px solid #D7DEE7;font-size:14.5px}
.grm-inlog__form .login-submit .grm-inlog__gratis:hover{background:var(--grm-canvas,#f5f7fa);border-color:#1668C7;color:#1668C7}
.grm-inlog__gratis-uitleg{display:block;margin-top:9px;font-size:13px;line-height:1.55;color:#55636E;text-align:center}

.grm-inlog__fout{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--grm-danger-50,var(--grm-danger-50,#FBD5D2));border-left:4px solid var(--grm-danger,#dc2626);border-radius:10px;background:var(--grm-canvas,#f5f7fa);color:var(--grm-danger-text,var(--grm-danger-text,#8A1C1C));font-size:14px;line-height:1.5;text-align:left}
.grm-inlog__fout .material-symbols-rounded{flex:0 0 auto;font-size:20px;color:var(--grm-danger,#dc2626)}

.grm-inlog__goed{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--grm-line,#D7DEE7);border-left:4px solid var(--grm-accent,#1668C7);border-radius:10px;background:var(--grm-brand-50,#EDF2F8);color:var(--grm-brand,#103A63);font-size:14px;line-height:1.5;text-align:left}
.grm-inlog__goed .material-symbols-rounded{flex:0 0 auto;font-size:20px;color:var(--grm-accent,#1668C7)}

.grm-ww-code{letter-spacing:.35em;text-transform:uppercase;font-weight:800;text-align:center;font-size:19px !important}
.grm-inlog__veldhint{display:block;margin-top:6px;font-size:12px;font-weight:400;color:var(--grm-ink-500,#55636E)}
