/* M298 ledenprofiel - sluit aan op bestaande groene/blauwe 1Nijmegen portalstijl */
:root{--m298-green:#0b6b4f;--m298-green-dark:#07543f;--m298-blue:#12608a;--m298-bg:#f4f7f6;--m298-line:#dce7e3;--m298-text:#18312a;--m298-muted:#60736d;--m298-warn:#fff5d9}
*{box-sizing:border-box}.m298-body{margin:0;background:var(--m298-bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--m298-text)}
.m298-shell{max-width:1180px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 0 32px rgba(0,0,0,.06)}
.m298-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 26px;border-bottom:1px solid var(--m298-line);background:#fff}
.m298-brand{font-size:25px;font-weight:900;color:var(--m298-green);text-decoration:none}.m298-header p{margin:2px 0 0;color:var(--m298-muted)}
.m298-head-right{text-align:right;display:flex;gap:16px;align-items:center}.m298-head-right a,.m298-back a{color:var(--m298-green);font-weight:700;text-decoration:none}
.m298-body main{padding:22px 26px 44px}.m298-back{margin-bottom:14px}
.m298-profile-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px;padding:6px;background:#edf5f2;border-radius:14px}
.m298-profile-tabs a{padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800;color:var(--m298-green-dark)}
.m298-profile-tabs a:hover,.m298-profile-tabs a.is-active{background:var(--m298-green);color:#fff}
.m298-tab-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.m298-page{max-width:1000px}.m298-page-head h1{margin:0 0 18px;font-size:30px}.m298-page h2{font-size:20px}
.m298-form fieldset,.m298-locked,.m298-preview{border:1px solid var(--m298-line);border-radius:16px;padding:18px;margin:0 0 18px;background:#fff}
.m298-form legend{font-weight:900;color:var(--m298-green-dark);padding:0 8px}
.m298-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.m298-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.m298-grid label.m298-wide{grid-column:1/-1}
.m298-grid input,.m298-grid textarea,.m298-grid select,.m298-admin-table input,.m298-admin-table select,.m298-admin-table textarea{width:100%;border:1px solid #bfd1cb;border-radius:9px;padding:10px 11px;font:inherit;background:#fff;color:var(--m298-text)}
.m298-grid textarea,.m298-admin-table textarea{resize:vertical}.m298-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.m298-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:650!important}.m298-check input{width:auto!important;margin-top:4px}.m298-important{font-size:17px}
.m298-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.m298-actions button,.m298-primary{border:0;border-radius:10px;background:var(--m298-green);color:#fff;font-weight:850;padding:11px 16px;text-decoration:none;cursor:pointer}
.m298-secondary{border:1px solid var(--m298-green);border-radius:10px;color:var(--m298-green);font-weight:800;padding:10px 15px;text-decoration:none}
.m298-note{color:var(--m298-muted);font-size:14px;line-height:1.45}.m298-flash{padding:12px 14px;border-radius:10px;background:#e9f7ef;border:1px solid #b7dfc7;margin:0 0 18px;font-weight:750}
.m298-warning{padding:14px;border-radius:12px;background:var(--m298-warn);border:1px solid #e9ca71;margin-bottom:18px}.m298-empty{color:var(--m298-muted)}
.m298-locked{background:#f7fbfa}.m298-locked dl{display:grid;grid-template-columns:180px 1fr;gap:8px 16px}.m298-locked dt{font-weight:800}.m298-locked dd{margin:0}
.m298-workgroups{display:grid;gap:10px;margin:0 0 16px}.m298-workgroups article{display:grid;grid-template-columns:1fr auto;gap:8px 15px;border:1px solid var(--m298-line);border-radius:13px;padding:14px}.m298-workgroups h3{margin:0}.m298-workgroups p{margin:4px 0 0;color:var(--m298-muted)}.m298-workgroups small{grid-column:1/-1;color:var(--m298-muted)}
.m298-status{align-self:start;border-radius:999px;background:#e7f3ef;color:var(--m298-green-dark);padding:5px 9px;font-size:12px;font-weight:850}
.m298-preview{display:flex;gap:16px;align-items:flex-start;margin-top:20px}.m298-preview img{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#fff}.m298-preview strong{display:block;font-size:20px}.m298-preview span{color:var(--m298-green);font-weight:800}
.m298-admin-shell{max-width:1240px;margin:25px auto;padding:0 20px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--m298-text)}
.m298-admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.m298-admin-head a{color:var(--m298-green);font-weight:800;text-decoration:none}
.m298-admin-table{width:100%;border-collapse:separate;border-spacing:0 8px}.m298-admin-table th{text-align:left;font-size:12px;color:var(--m298-muted);padding:0 5px}.m298-admin-table td{vertical-align:top;padding:4px}.m298-admin-table tr{background:#f8fbfa}
.m298-admin-table td:first-child{border-radius:10px 0 0 10px}.m298-admin-table td:last-child{border-radius:0 10px 10px 0}
.m298-admin-link-card{border:1px solid #cfe1db;border-radius:14px;background:#f3faf7;padding:14px 16px;margin:18px 0}.m298-admin-link-card a{font-weight:850;color:var(--m298-green);text-decoration:none}
@media(max-width:760px){.m298-header{padding:15px;align-items:flex-start}.m298-head-right{flex-direction:column;gap:4px;align-items:flex-end}.m298-body main{padding:18px 15px 35px}.m298-grid,.m298-checkgrid{grid-template-columns:1fr}.m298-grid label.m298-wide{grid-column:auto}.m298-locked dl{grid-template-columns:1fr}.m298-locked dd{margin-bottom:8px}.m298-admin-table{display:block;overflow-x:auto}.m298-preview{flex-direction:column}}

/* M299_UNIFIED_PORTAL_START
   Eén ledenportaal-shell voor Mijn gegevens, Extra informatie, Werkgroepen en Websiteprofiel.
   Alleen presentatie; geen auth/data-authority wijzigingen.
*/
:root{
  --m299-green:#35a84a;--m299-green-dark:#08735e;--m299-navy:#0b3854;
  --m299-bg:#f3f5f4;--m299-card:#fff;--m299-line:#d6e0e2;--m299-input:#c7d7da;
  --m299-text:#0b2c3a;--m299-muted:#607884;--m299-soft:#f1f6f5;--m299-soft-green:#eaf6ee;
}
.m298-profile-tabs{display:contents!important}
.m298-profile-tabs a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 14px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--m299-text)!important;font-weight:800!important;text-decoration:none!important;
  white-space:nowrap;
}
.m298-profile-tabs a:hover{color:var(--m299-green-dark)!important;background:#f4f8f6!important}
.m298-tab-wrap{margin:0!important;padding:0!important}

.m299-body{margin:0;background:var(--m299-bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--m299-text)}
.m299-app{width:min(1080px,calc(100% - 36px));margin:16px auto;background:#fff;border:1px solid var(--m299-line);border-radius:16px;overflow:hidden;min-height:calc(100vh - 32px)}
.m299-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;border-bottom:1px solid var(--m299-line);background:#fff}
.m299-brand{display:flex;align-items:center;gap:8px;color:#071f32;text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-.3px}
.m299-brandmark{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:6px;background:var(--m299-green);color:#fff;font-size:19px;font-weight:950}
.m299-account{text-align:right;color:#3f6478;line-height:1.2;font-size:13px}.m299-account span,.m299-account small{display:block}.m299-account small{margin-top:2px}

.m299-mainnav{display:flex;align-items:stretch;gap:0;min-height:48px;border-bottom:1px solid var(--m299-line);background:#fbfcfc;padding-left:6px}
.m299-mainnav-link{display:flex;align-items:center;padding:0 14px;color:#102d3d;text-decoration:none;font-weight:850;font-size:14px;border-bottom:3px solid transparent}
.m299-mainnav-link:hover{background:#f1f6f4;color:var(--m299-green-dark)}
.m299-mainnav-link.is-active{color:var(--m299-green);border-bottom-color:var(--m299-navy);background:#fff}
.m299-logout{margin:4px 4px 4px auto;display:flex;align-items:center;padding:0 15px;background:#eef3f4;color:#0d2c3c;text-decoration:none;font-weight:900}
.m299-logout:hover{background:#e2ebed}

.m299-main{padding:24px}.m299-page{max-width:none!important}.m299-pagehead{margin:0 0 18px}
.m299-pagehead h1{margin:0 0 4px;font-size:28px;line-height:1.15;letter-spacing:-.4px;color:#092939}
.m299-pagehead p{margin:0;color:var(--m299-muted);font-size:15px;line-height:1.5;max-width:900px}
.m299-footer{text-align:center;padding:0 20px 18px;color:#6e8290;font-size:11px}

.m299-info,.m299-readonly-banner{display:flex;gap:12px;align-items:flex-start;border-left:4px solid var(--m299-green);background:var(--m299-soft-green);padding:12px 14px;margin:0 0 16px;border-radius:9px}
.m299-info strong,.m299-info span{display:block}.m299-info span{margin-top:2px;color:#4f6974;font-size:13px}
.m299-readonly-banner strong{display:block}.m299-readonly-banner p{margin:3px 0 0;color:#4f6974;font-size:13px}.m299-lock{font-size:18px;color:var(--m299-green-dark)}

.m299-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.m299-section-wide{grid-column:1/-1}
.m299-card,.m298-form fieldset.m299-card{margin:0;border:1px solid var(--m299-line);border-radius:12px;padding:16px;background:#fff}
.m299-card legend,.m298-form fieldset.m299-card legend{font-size:15px;font-weight:900;color:#083d33;padding:0 7px}
.m299-cardhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.m299-cardhead h2{margin:0;font-size:18px}.m299-cardhead p{margin:3px 0 0;color:var(--m299-muted);font-size:13px;line-height:1.4}

.m299-form .m298-grid{gap:11px 16px}
.m299-form .m298-grid label{gap:5px;font-size:13px;color:#092939}
.m299-form .m298-grid input,.m299-form .m298-grid textarea,.m299-form .m298-grid select{
  border:1px solid var(--m299-input);border-radius:8px;padding:9px 10px;min-height:38px;background:#fff;color:#102d3d;
}
.m299-form .m298-grid input:focus,.m299-form .m298-grid textarea:focus{
  outline:2px solid rgba(53,168,74,.16);border-color:var(--m299-green)
}
.m299-form .m298-checkgrid{gap:8px 14px}.m299-form .m298-check{font-size:13px!important}

.m299-savebar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:13px 14px;border:1px solid var(--m299-line);border-radius:10px;background:#f7faf9}
.m299-savebar strong,.m299-savebar span{display:block}.m299-savebar span{margin-top:2px;color:var(--m299-muted);font-size:12px}
.m299-savebar button{border:0;border-radius:8px;background:var(--m299-green);color:#fff;font-weight:900;padding:10px 15px;cursor:pointer}
.m299-savebar button:hover{background:#2b963e}.m299-save-actions{display:flex;gap:9px;align-items:center}

.m299-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
.m299-summary{border:1px solid var(--m299-line);border-radius:11px;padding:14px;background:#fff}
.m299-summary span{display:block;color:var(--m299-muted);font-size:12px;font-weight:750;margin-bottom:5px}
.m299-summary strong{font-size:18px;color:#092939}
.m299-workgroup-section{margin-top:0}.m299-workgroup-section .m298-workgroups{margin-bottom:0}
.m299-card-actions{margin-top:14px;padding-top:13px;border-top:1px solid #e5ecee}
.m299-empty{display:flex;flex-direction:column;gap:3px;padding:20px;border-radius:9px;background:#f7faf9;color:#47626e}
.m299-empty strong{color:#173847}

.m299-website-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.m299-website-main{display:grid;gap:14px}.m299-website-main .m299-form{display:grid;gap:14px}
.m299-official dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;margin:0}
.m299-official dt{font-weight:850;color:#294b59}.m299-official dd{margin:0;color:#102d3d}
.m299-badge{border-radius:999px;background:#edf3f4;padding:5px 9px;color:#496471;font-size:11px;font-weight:900}

.m299-publish-switch{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;padding:12px;border-radius:9px;background:var(--m299-soft-green);font-weight:400!important}
.m299-publish-switch input{width:auto!important;margin-top:4px}
.m299-publish-switch strong,.m299-publish-switch small{display:block}.m299-publish-switch strong{font-size:14px}.m299-publish-switch small{margin-top:3px;color:#58717c;font-size:12px}

.m299-preview-panel{position:sticky;top:16px;border:1px solid var(--m299-line);border-radius:12px;background:#fff;overflow:hidden}
.m299-preview-head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--m299-line);background:#f7faf9;font-size:12px;font-weight:900}
.m299-preview-head strong{border-radius:999px;padding:4px 8px;font-size:10px}.m299-preview-head .is-live{background:#e5f5e9;color:#16742c}.m299-preview-head .is-hidden{background:#edf1f2;color:#60747e}
.m299-person-preview{padding:18px;text-align:center}.m299-person-preview img,.m299-avatar-placeholder{width:88px;height:88px;border-radius:50%;margin:0 auto 11px;object-fit:cover}
.m299-avatar-placeholder{display:grid;place-items:center;background:#eaf5ee;color:var(--m299-green-dark);font-size:24px;font-weight:950}
.m299-person-preview h2{margin:0;font-size:20px}.m299-preview-role{margin-top:3px;color:var(--m299-green-dark);font-size:13px;font-weight:850}
.m299-preview-tagline{display:block;margin-top:12px}.m299-person-preview p{font-size:13px;line-height:1.45;color:#546d78}
.m299-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.m299-chips span{padding:4px 7px;border-radius:999px;background:#eef5f3;font-size:10px;font-weight:800;color:#31594d}
.m299-preview-note{margin:0;padding:10px 12px;border-top:1px solid var(--m299-line);color:#687d87;font-size:10px;line-height:1.4}

.m298-secondary{display:inline-flex;align-items:center;border:1px solid #b8cbd0!important;border-radius:8px!important;color:#173a4a!important;background:#fff!important;font-weight:850!important;padding:9px 12px!important;text-decoration:none!important}
.m298-secondary:hover{background:#f3f7f7!important}
.m298-flash{border-radius:9px!important;margin-bottom:14px!important}.m298-warning{border-radius:9px!important;margin-bottom:14px!important}

@media(max-width:900px){
  .m299-section-grid,.m299-summary-grid,.m299-website-grid{grid-template-columns:1fr}
  .m299-section-wide{grid-column:auto}.m299-preview-panel{position:static}
}
@media(max-width:720px){
  .m299-app{width:100%;margin:0;border-radius:0;border-left:0;border-right:0}
  .m299-topbar{padding:13px 14px}.m299-brand{font-size:21px}.m299-account{font-size:11px}
  .m299-mainnav{overflow-x:auto}.m299-mainnav-link{padding:0 11px;font-size:12px}.m299-logout{padding:0 11px}
  .m299-main{padding:18px 14px}.m299-pagehead h1{font-size:25px}
  .m299-savebar{align-items:stretch;flex-direction:column}.m299-save-actions{justify-content:space-between}
  .m299-official dl{grid-template-columns:1fr}.m299-official dd{margin-bottom:6px}
}
/* M299_UNIFIED_PORTAL_END */

/* M300_SINGLE_SHELL_START
   Definitieve portaal-normalisatie:
   - één font: Arial
   - één vaste desktop-shell
   - alleen inhoud scrolt
   - scrollbarruimte blijft stabiel
   - één kleuren-/vormtaal voor oude en nieuwe LP-content
*/
html{
  height:100%;
  overflow-y:scroll;
  scrollbar-gutter:stable;
  background:#f2f4f3;
}
body.m299-body,
body.m299-body *{
  box-sizing:border-box;
  font-family:Arial,Helvetica,sans-serif!important;
}
body.m299-body{
  height:100%;
  margin:0!important;
  overflow:hidden;
  background:#f2f4f3!important;
  color:#102d3d!important;
  font-size:14px;
  line-height:1.45;
}

/* Eén vaste buitenmaat: tabs veranderen nooit de plaats van het venster. */
.m299-app.m300-fixed-app{
  width:min(1080px,calc(100vw - 36px))!important;
  height:calc(100vh - 32px)!important;
  min-height:640px!important;
  margin:16px auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d6e0e2!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

/* Header: op alle vijf schermen exact dezelfde maat. */
.m299-topbar{
  flex:0 0 60px!important;
  min-height:60px!important;
  height:60px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  border-bottom:1px solid #d6e0e2!important;
  background:#fff!important;
}
.m299-brand{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:23px!important;
  font-weight:800!important;
  color:#092939!important;
  letter-spacing:0!important;
}
.m299-brandmark{
  width:27px!important;height:27px!important;border-radius:6px!important;
  background:#35a84a!important;color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:19px!important;font-weight:800!important;
}
.m299-account{
  font-family:Arial,Helvetica,sans-serif!important;
  color:#476574!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.m299-account span{font-weight:400!important}
.m299-account small{font-size:11px!important;color:#476574!important}

/* Eén tabrij; actieve tab verandert geen font-weight en dus geen breedte. */
.m299-mainnav{
  flex:0 0 48px!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 4px!important;
  display:flex!important;
  align-items:stretch!important;
  background:#fafcfc!important;
  border-bottom:1px solid #d6e0e2!important;
  overflow:visible!important;
}
.m299-mainnav-link,
.m299-logout{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
}
.m299-mainnav-link{
  display:flex!important;align-items:center!important;
  min-height:47px!important;
  padding:0 13px!important;
  color:#102d3d!important;
  background:transparent!important;
  border:0!important;
  border-bottom:3px solid transparent!important;
  border-radius:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.m299-mainnav-link:hover{
  color:#08735e!important;background:#f2f7f5!important;
}
.m299-mainnav-link.is-active{
  color:#35a84a!important;
  background:#fff!important;
  border-bottom-color:#0b3854!important;
  font-weight:700!important;
}
.m299-logout{
  margin:5px 0 5px auto!important;
  min-height:38px!important;
  padding:0 14px!important;
  display:flex!important;align-items:center!important;
  color:#102d3d!important;
  background:#eef3f4!important;
  border-radius:0!important;
  text-decoration:none!important;
}
.m299-logout:hover{background:#e2ebed!important}

/* Dit is het enige bewegende vlak. Het buitenvenster blijft staan. */
.m299-main.m300-scrollpane{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable!important;
  padding:24px!important;
  background:#fff!important;
}
.m299-page{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
.m299-pagehead{
  min-height:61px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
.m299-pagehead h1,
.m300-legacy-content h1{
  margin:0 0 5px!important;
  padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:0!important;
  color:#092939!important;
}
.m299-pagehead p,
.m300-legacy-content > p:first-of-type{
  margin:0!important;
  color:#607884!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
}

/* Footer staat altijd op dezelfde plek. */
.m299-footer{
  flex:0 0 30px!important;
  min-height:30px!important;
  height:30px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-top:0!important;
  color:#6e8290!important;
  background:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
}

/* Eén vormtaal voor kaarten uit beide renderers. */
.m299-card,
.m299-summary,
.m300-legacy-content fieldset,
.m300-legacy-content .card,
.m300-legacy-content [class*="panel"],
.m300-legacy-content [class*="box"]{
  background:#fff!important;
  border:1px solid #d6e0e2!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.m299-card,
.m300-legacy-content fieldset{
  padding:16px!important;
}
.m299-card legend,
.m300-legacy-content legend{
  color:#083d33!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
}

/* Alle tekst in oude Mijn gegevens/verzoeken naar dezelfde maat/kleur. */
.m300-legacy-content,
.m300-legacy-content p,
.m300-legacy-content span,
.m300-legacy-content label,
.m300-legacy-content dt,
.m300-legacy-content dd,
.m300-legacy-content li{
  font-family:Arial,Helvetica,sans-serif!important;
  color:#102d3d;
}
.m300-legacy-content h2,
.m299-card h2{
  font-family:Arial,Helvetica,sans-serif!important;
  color:#092939!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.m300-legacy-content label,
.m299-form label{
  font-size:13px!important;
  font-weight:700!important;
}

/* Eén input-/readonlyvorm. */
.m299-form input,
.m299-form textarea,
.m299-form select,
.m300-legacy-content input,
.m300-legacy-content textarea,
.m300-legacy-content select{
  min-height:38px!important;
  border:1px solid #c7d7da!important;
  border-radius:8px!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#102d3d!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
}
.m300-legacy-content input[readonly],
.m300-legacy-content input:disabled,
.m299-form input[readonly],
.m299-form input:disabled{
  background:#f1f4f5!important;
  color:#607884!important;
}
.m299-form input:focus,
.m299-form textarea:focus,
.m300-legacy-content input:focus,
.m300-legacy-content textarea:focus{
  outline:2px solid rgba(53,168,74,.14)!important;
  border-color:#35a84a!important;
}

/* Eén knopfamilie. */
.m299-savebar button,
.m300-legacy-content button,
.m300-legacy-content input[type="submit"],
.m300-legacy-content .btn,
.m300-legacy-content a.button{
  border:0!important;
  border-radius:8px!important;
  background:#35a84a!important;
  color:#fff!important;
  min-height:38px!important;
  padding:9px 14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.m299-savebar button:hover,
.m300-legacy-content button:hover,
.m300-legacy-content input[type="submit"]:hover{
  background:#2b963e!important;
}

/* Oude extra geïnjecteerde profielnav nooit meer zichtbaar: er is maar één tabrij. */
.m298-profile-tabs,
.m298-tab-wrap{
  display:none!important;
}

/* Browser-scrollbar en inhoudsscrollbar behouden vaste ruimte. */
.m300-scrollpane{
  scrollbar-gutter:stable!important;
}
.m300-scrollpane::-webkit-scrollbar{width:12px}
.m300-scrollpane::-webkit-scrollbar-track{background:#f4f6f6}
.m300-scrollpane::-webkit-scrollbar-thumb{background:#c8d4d7;border-radius:8px;border:3px solid #f4f6f6}

/* Desktopvorm blijft vast; mobiel mag weer normaal document-scrollen. */
@media(max-width:720px){
  html{overflow-y:auto!important}
  body.m299-body{height:auto!important;min-height:100%!important;overflow:auto!important}
  .m299-app.m300-fixed-app{
    width:100%!important;
    height:auto!important;
    min-height:100vh!important;
    margin:0!important;
    border-left:0!important;border-right:0!important;border-radius:0!important;
  }
  .m299-mainnav{overflow-x:auto!important;overflow-y:hidden!important}
  .m299-mainnav-link{padding:0 11px!important;font-size:12px!important}
  .m299-main.m300-scrollpane{overflow:visible!important;padding:18px 14px!important}
  .m299-footer{height:32px!important;min-height:32px!important}
}
/* M300_SINGLE_SHELL_END */

/* M301_PORTAAL_LOGO_LOGIN_START
   M301: logo-vervanging, extra legacy-normalisatie en uniforme login-/logoutketen.
*/
.m301-brand{display:flex!important;align-items:center!important;text-decoration:none!important;min-width:0}
.m301-brand-logo{display:block!important;height:36px!important;width:auto!important;max-width:260px!important;object-fit:contain!important}
.m301-topbar{padding:0 20px!important}
.m301-fixed-app .m299-account{margin-left:auto!important}
.m301-legacy-page{max-width:100%!important}
.m301-legacy-page > h1:first-child{display:none!important}
.m301-legacy-page > p:first-of-type{margin:0 0 18px!important;color:#607884!important;font-size:14px!important;line-height:1.45!important}
.m301-legacy-page.is-root > p:first-of-type,
.m301-legacy-page.is-verzoeken > p:first-of-type{max-width:920px!important}
.m301-legacy-page h2{font-size:16px!important;font-weight:700!important;color:#092939!important}
.m301-legacy-page .notice,
.m301-legacy-page .warning,
.m301-legacy-page .alert,
.m301-legacy-page .m298-warning,
.m301-legacy-page .m298-flash,
.m301-legacy-page .flash,
.m301-legacy-page .success{border-radius:10px!important}
.m301-legacy-page form{max-width:100%!important}
.m301-legacy-page textarea{min-height:56px!important}
.m301-legacy-page .m298-secondary,
.m301-legacy-page a.button-secondary{display:inline-flex!important;align-items:center!important}
.m301-legacy-page > section,
.m301-legacy-page > article,
.m301-legacy-page > form > fieldset,
.m301-legacy-page .card,
.m301-legacy-page .panel,
.m301-legacy-page .box{border-radius:12px!important}
body.m301-login-body{margin:0;min-height:100vh;background:#eef2f1;font-family:Arial,Helvetica,sans-serif;color:#092939;display:grid;place-items:center;padding:28px}
.m301-login-card{width:min(470px,100%);background:#fff;border:1px solid #d6e0e2;border-radius:22px;padding:28px;box-shadow:none}
.m301-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.m301-login-brand img{height:36px;width:auto;max-width:240px;object-fit:contain}
.m301-login-brand h1{margin:0;font-size:24px;line-height:1.1}
.m301-login-copy{margin:0 0 20px;color:#294b59;line-height:1.45}
.m301-login-error{border:1px solid #ffc7d0;background:#fff0f2;color:#a4001d;border-radius:10px;padding:12px 14px;margin:0 0 14px;font-weight:700}
.m301-login-form{display:grid;gap:14px}
.m301-login-form label{display:grid;gap:8px;font-weight:700;color:#092939}
.m301-login-form input{width:100%;min-height:46px;border:1px solid #c7d7da;border-radius:10px;padding:12px 14px;font:inherit;color:#102d3d;background:#fff}
.m301-login-form input:focus{outline:2px solid rgba(53,168,74,.14);border-color:#35a84a}
.m301-login-form button{border:0;border-radius:10px;background:#35a84a;color:#fff;min-height:42px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer}
.m301-login-form button:hover{background:#2b963e}
.m301-login-foot{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.m301-login-foot a{color:#0f62a8;text-decoration:none;font-weight:700}
.m301-login-foot p{margin:0;color:#486179;line-height:1.4}
@media(max-width:560px){body.m301-login-body{padding:16px}.m301-login-card{padding:20px}.m301-login-brand{align-items:flex-start;flex-direction:column;gap:10px}.m301-login-brand img{height:34px;max-width:220px}}
/* M301_PORTAAL_LOGO_LOGIN_END */

/* M302_LOGIN_LOGO_START */
.m301-brand-logo{height:42px!important;width:auto!important;max-width:280px!important;object-fit:contain!important}
.m301-login-brand img{height:44px!important;width:auto!important;max-width:260px!important;object-fit:contain!important}
.m302-login-card{width:min(470px,100%)}
.m302-login-brand{margin-bottom:18px!important}
.m302-login-brand h1{margin:0!important}
.m302-login-form{margin-top:6px}
.m302-login-foot{margin-top:18px!important;gap:8px!important}
/* M302_LOGIN_LOGO_END */

/* M354_SELFSERVICE_BLUE: lichtblauw = uitsluitend door het lid in het ledenportaal wijzigbaar. */
.m354-selfservice-only{background:#eef7ff!important;border-color:#b9d9ee!important}.m354-selfservice-only h2:after{content:' · alleen lid';font-size:11px;font-weight:800;color:#39769a}
