.portal-root{--portal-side:248px;--portal-ink:#192f23;--portal-paper:#f4f6ef;color-scheme:light;}
.portal-root body{padding-left:var(--portal-side);background:var(--portal-paper);min-height:100dvh;}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:var(--portal-side);display:flex;flex-direction:column;background:var(--portal-ink);color:#e5eee5;padding:18px 12px 12px;z-index:70;overflow-y:auto;}
.portal-brand{display:flex;align-items:center;gap:8px;min-height:48px;}
.portal-brand>a{display:block;position:relative;flex:1;height:48px;overflow:hidden;}
.portal-brand img{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:auto;}
.portal-brand button{border:1px solid #4d6654;background:#284332;color:#e6f1dd;border-radius:8px;width:36px;height:40px;cursor:pointer;flex:none;}
.portal-caption{font-size:10px;letter-spacing:.19em;color:#c3d3c1;margin:14px 8px 22px;font-weight:750;}
.portal-sidebar nav{display:grid;gap:3px;}
.portal-sidebar nav a{color:#e7eee3;text-decoration:none;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;font-size:13px;line-height:1.25;min-height:38px;}
.portal-sidebar nav a:hover{background:#2e4936;}
.portal-sidebar nav a[aria-current=page]{background:#d7ee9d;color:#192f23;font-weight:750;}
.portal-nav-icon{display:inline-grid;place-items:center;width:23px;flex:none;font-size:12px;font-weight:750;}
.portal-sidebar__bottom{margin-top:auto;padding:24px 10px 2px;font-size:11px;overflow-wrap:anywhere;color:#c3d3c1;}
.portal-root .kop__merk,.portal-root .kop__modules{display:none;}
.portal-root .kop{padding:12px 26px;min-height:62px;background:#f4f6eff0;backdrop-filter:blur(12px);border-bottom:1px solid #dbe1d7;}
.portal-root .hoofd{max-width:none;margin:0;padding:28px;}
.portal-root .kop__pad{flex:1;}
.portal-root .subnav{padding-left:26px;}
.portal-home>h1{font-size:clamp(28px,3.2vw,44px);letter-spacing:-.045em;margin:8px 0 12px;color:#192f23;}
.bovenregel{font-size:11px;letter-spacing:.15em;font-weight:750;color:#456450;}
.portal-intro{color:#677262;max-width:76ch;line-height:1.6;margin-bottom:28px;}
.portal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;}
.portal-card{display:flex;flex-direction:column;gap:12px;min-height:170px;background:white;border:1px solid #dce3d6;border-radius:14px;padding:22px;color:#62705f;text-decoration:none;font-size:13px;line-height:1.5;}
.portal-card:hover{border-color:#708b65;box-shadow:0 4px 14px #183d1510;}
.portal-card__label{font-size:18px;font-weight:750;color:#1c3225;letter-spacing:-.02em;}
.portal-card__foot{display:flex;justify-content:space-between;margin-top:auto;font-size:12px;font-weight:700;color:#345e40;}
.portal-access-note{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#e8edde;border-radius:14px;margin-top:24px;padding:22px;}
.portal-access-note p{margin:0;color:#5d6e59;font-size:13px;}
.portal-access-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;}
.portal-people{display:grid;gap:12px;}
.portal-people input{width:100%;}
.portal-people [data-portal-users]{display:grid;gap:5px;}
.portal-person{display:block;text-align:left;padding:13px 15px;border:1px solid #dbe2d5;border-radius:10px;background:white;cursor:pointer;overflow-wrap:anywhere;font-size:13px;}
.portal-person[aria-pressed=true]{background:#e7f0d5;border-color:#799967;}
[data-portal-editor]{background:white;border:1px solid #dce3d6;border-radius:14px;padding:24px;min-width:0;}
.portal-access-table{width:100%;border-collapse:collapse;margin:20px 0;}
.portal-access-table th,.portal-access-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #e4e9df;font-size:13px;}
.portal-access-table input{width:18px;height:18px;accent-color:#355f41;cursor:pointer;}
.portal-access-table .portal-center{width:100px;text-align:center;}
.portal-history{margin-top:25px;border:1px solid #dce3d6;border-radius:10px;padding:18px;background:white;}
.portal-history-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e4e9df;font-size:13px;}
.portal-app{height:calc(100dvh - 63px);min-height:400px;}
.portal-app iframe{display:block;border:0;width:100%;height:100%;background:var(--portal-paper);}
.portal-collapsed{--portal-side:64px;}
.portal-collapsed .portal-brand>a,.portal-collapsed .portal-caption,.portal-collapsed .portal-nav-name{display:none;}
.portal-collapsed .portal-sidebar{padding:12px 6px;}
.portal-collapsed .portal-brand{justify-content:center;}
.portal-collapsed .portal-sidebar nav a{justify-content:center;padding:9px 7px;}
@media(max-width:850px){.portal-access-layout{grid-template-columns:1fr;}.portal-access-note{align-items:flex-start;flex-direction:column;}.portal-root .hoofd{padding:20px;}}
@media(max-width:600px){.portal-root{--portal-side:64px;}.portal-brand>a,.portal-caption,.portal-nav-name{display:none;}.portal-sidebar{padding:12px 6px;}.portal-brand{justify-content:center;}.portal-sidebar nav a{justify-content:center;padding:9px 7px;}.portal-root .kop{padding:10px 14px;}.portal-root .hoofd{padding:18px 14px;}.portal-access-table th,.portal-access-table td{padding:10px 3px;font-size:12px;}.portal-access-table .portal-center{width:58px;}[data-portal-editor]{padding:14px;}.portal-person{padding:10px;}}

.portal-link{margin:20px 0 28px}.portal-link-form{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:22px 0}.portal-link-form label{display:grid;gap:8px;font-size:13px}.portal-link-form input,.portal-link-form select{min-height:42px;min-width:190px}.portal-link-form p{flex-basis:100%;font-size:13px;color:#63735e}

/* Eén herkenbaar aanmeldscherm voor het gezamenlijke beheerportaal. */
.portal-login{--inkt:#192f23;--vlak:#fff;--papier:#f4f6ef;--zacht:#63735e;--lijn:rgba(25,47,35,.14);--lijn-sterk:#c2cdbd;min-height:100dvh;background:#f4f6ef;color:#192f23;display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(36px,7vw,110px);padding:clamp(32px,6vw,96px) max(32px,calc((100vw - 1160px)/2));}
.portal-login__intro{max-width:570px;}.portal-login__logo{display:block;width:256px;max-width:75%;height:auto;margin:-30px 0 28px;}
.portal-login__eyebrow{font-size:11px;letter-spacing:.18em;font-weight:750;color:#507047;margin:0 0 16px;}
.portal-login h1{font-size:clamp(36px,4vw,58px);line-height:1.08;letter-spacing:-.05em;max-width:12ch;margin:0 0 22px;}
.portal-login__lead{font-size:17px;line-height:1.65;max-width:44ch;color:#63735e;}
.portal-login__onderdelen{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:22px;}.portal-login__onderdelen li{display:flex;align-items:center;gap:16px;}.portal-login__onderdelen li>span{display:grid;place-items:center;width:43px;height:43px;flex:none;background:#e5eddb;color:#35563b;border-radius:12px;font-size:13px;font-weight:750;}.portal-login__onderdelen strong{font-size:14px;}.portal-login__onderdelen p{font-size:13px;color:#63735e;margin:5px 0 0;line-height:1.4;}
.portal-login__card{background:#fff;border:1px solid #dce3d6;border-radius:22px;padding:clamp(26px,3.2vw,44px);box-shadow:0 16px 55px #24351b08;max-width:500px;width:100%;justify-self:end;}
.portal-login__card h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 16px;}.portal-login__uitleg{font-size:14px;line-height:1.7;color:#63735e;margin-bottom:24px;}
.portal-login .portal-login__authentik{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:52px;padding:14px 18px;background:#ff8500;border-color:#ff8500;color:#192f23;font-size:14px;font-weight:750;border-radius:9px;}.portal-login .portal-login__authentik:hover{background:#f07b00;border-color:#f07b00;}.portal-login a:focus-visible,.portal-login summary:focus-visible{outline:3px solid #355f41;outline-offset:4px;}
.portal-login__veilig{font-size:11px;color:#63735e;margin:13px 0 28px;}.portal-login__alternative{border-top:1px solid #e0e6db;padding:17px 0;}.portal-login__alternative summary{font-size:13px;cursor:pointer;font-weight:650;line-height:1.4;}.portal-login__alternative[open] summary{margin-bottom:18px;}.portal-login__alternative .inlog__extra{margin-top:0;padding-top:0;border-top:0;}.portal-login__alternative .inlog__extra p{font-size:13px;line-height:1.6;color:#63735e;}.portal-login .knop{width:100%;min-height:46px;}.portal-login .veld label{font-size:13px;}.portal-login .veld input{background:white;color:#192f23;}.portal-login__footer{font-size:11px;color:#77836f;margin:24px 0 0;}
@media(max-width:760px){.portal-login{grid-template-columns:1fr;gap:30px;padding:24px 22px;align-content:center;}.portal-login__intro{max-width:500px;justify-self:center;width:100%;}.portal-login__logo{width:210px;margin:-16px 0 10px;}.portal-login h1{font-size:34px;max-width:none;margin-bottom:12px;}.portal-login__lead{font-size:14px;margin:0;}.portal-login__onderdelen{display:none;}.portal-login__intro>.portal-login__eyebrow{margin-bottom:12px;}.portal-login__card{justify-self:center;padding:26px;border-radius:16px;}.portal-login__card h2{font-size:27px;}}
