:root{
  --iz-zeekraal:#46962b;/* Zeekraal: de signatuurkleur (bol, knoppen, actieve tab) */
  --iz-antraciet:#242b38;/* Antraciet: tekst en donkere vlakken */
  --iz-mint-light:#edf5ea;/* Mint Light: steunkleur voor vlakken */
  --iz-wit-blauw:#f2f8fa;/* Wit-blauw: steunkleur, pagina-achtergrond */
  --iz-boei:#fbba00;/* Boei: accent (stipjes, tags), nooit als vlak */
  --iz-mint:#a6d6cc;/* Mint: accent */
  --iz-rand:#e4e8ec;/* Subtiele rand voor kaarten */
  --iz-rand-groen:#e2ecdf;/* Groenige rand/scheidingslijn */
  --iz-grijs:#5b6470;/* Secundaire tekst */
  --iz-gevaar:#c0392b;/* Waarschuwing/verwijderen */
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Barlow',sans-serif;background:var(--iz-wit-blauw);color:var(--iz-antraciet);font-size:15px;line-height:1.4}
body.access-locked{overflow:hidden}
body.access-locked .hdr,body.access-locked .nav-tools,body.access-locked .home-wrap,body.access-locked .app{filter:blur(3px);pointer-events:none;user-select:none}
.access-gate{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(36,43,56,.96)}
.access-card{width:100%;max-width:390px;background:#fff;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:28px;box-shadow:0 18px 50px rgba(0,0,0,.24)}
.access-brand{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--iz-zeekraal);margin-bottom:8px}
.access-card h1{font-size:26px;line-height:1.1;margin-bottom:8px;color:var(--iz-antraciet)}
.access-card p{font-size:14px;color:#666;margin-bottom:18px}
.access-card label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#555;margin-bottom:6px}
.access-card input{width:100%;border:1.5px solid #dce6e0;border-radius:7px;padding:10px 11px;font-family:'Barlow',sans-serif;font-size:16px;color:var(--iz-antraciet);background:#fff;outline:none;margin-bottom:8px}
.access-card input:focus{border-color:var(--iz-zeekraal);box-shadow:0 0 0 3px rgba(70,150,43,.14)}
.access-card .b{width:100%;justify-content:center;margin-top:8px}
.access-msg{min-height:18px;font-size:13px;font-weight:700;color:var(--iz-gevaar)}
.access-card .access-ms{gap:9px;padding:11px 15px;font-size:14px}
.access-card .access-ms:disabled{opacity:.55;cursor:default;filter:none}
.hdr-account{display:flex;align-items:center;gap:8px}
.hdr-account-name{font-size:12px;font-weight:600;color:rgba(255,255,255,.9);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-account-out{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px;font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,transform .2s}
.hdr-account-out:hover{background:rgba(255,255,255,.1)}.hdr-account-out:active{transform:scale(.97)}
.hdr{position:sticky;top:0;z-index:100;overflow:hidden;background:var(--iz-antraciet);padding:14px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hdr>*{position:relative;z-index:1}
.hdr>.hdr-bol{position:absolute;z-index:0;right:-60px;top:-110px;width:220px;height:220px;border-radius:50%;background:#fff;opacity:.05;pointer-events:none}
.logo-txt{color:#ffffff00;font-size:20px;font-weight:900}.logo-txt span{color:#eafb00}
.logo-sub{color:rgba(255,255,255,.7);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.hdr-logo-link{display:flex;align-items:center;text-decoration:none;flex-shrink:0;opacity:.9;transition:opacity .15s}
.hdr-logo-link:hover{opacity:1}
.hdr-logo-img{height:36px;width:auto;display:block;filter:brightness(0) invert(1)}
.hdr-logo-fallback{align-items:center}
.hdr-divider{width:1px;height:34px;background:rgba(255,255,255,.2);flex-shrink:0}
.hdr-brand{display:flex;align-items:center;gap:12px}
.hdr-mark{width:46px;height:46px;flex-shrink:0}
.hdr-brand-txt{display:flex;flex-direction:column;justify-content:center}
.hdr-brand-name{font-family:'Barlow',sans-serif;font-weight:900;font-size:25px;color:#fff;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.hdr-brand-name span{color:var(--iz-boei)}
.hdr-brand-by{font-family:'Barlow',sans-serif;font-weight:600;font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.04em;margin-top:4px}
.hdr-proj{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;flex:1;overflow:hidden;padding:0 4px}
.hdr-proj:not(:empty)::before{content:"Project";font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.hdr-proj-name{font-family:'Barlow',sans-serif;font-weight:700;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(255,255,255,.1);border-radius:999px;padding:5px 14px 5px 28px;width:max-content;max-width:100%;position:relative}
.hdr-proj-name::before{content:"";position:absolute;left:12px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--iz-zeekraal)}
.hdr-proj-tags{display:flex;gap:4px;flex-wrap:wrap}
.hdr-proj-tag{font-size:10px;font-weight:600;color:rgba(255,255,255,.8);background:rgba(255,255,255,.1);border-radius:999px;padding:1px 9px;white-space:nowrap}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0}
.ps{background:rgba(0,0,0,.2);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:7px;padding:8px 12px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:600;cursor:pointer}
.b{background:var(--iz-antraciet);color:#fff;border:none;border-radius:7px;padding:9px 15px;font-family:'Barlow',sans-serif;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.b:hover{filter:brightness(1.15)}
.b.d{background:var(--iz-gevaar)}.b.o{background:rgba(0,0,0,.18);border:1.5px solid rgba(255,255,255,.4);color:#fff}
.b.y{background:var(--iz-boei);color:var(--iz-antraciet)}.b.dk{background:var(--iz-antraciet)}.b.tc{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.5);color:#fff}
.nav-tools{display:flex;gap:6px;background:#fff;border-bottom:1px solid var(--iz-rand);padding:10px 28px;flex-wrap:wrap}
.nav-btn{background:none;border:none;font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;color:var(--iz-grijs);padding:9px 18px;cursor:pointer;border-radius:999px;transition:background .15s,color .15s,transform .2s}
.nav-btn:hover{background:var(--iz-mint-light);color:var(--iz-zeekraal)}.nav-btn:active{transform:scale(.97)}
.nav-btn.on{background:var(--iz-zeekraal);color:#fff}
.app.ehp-hide{display:none}
.ehp-grp .verg-tbl th.scen-h{background:#eaf3f9;color:#1f6694;border-bottom-color:#bcdcef}
.fgr{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.fgr label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#555;flex:1;min-width:0;line-height:1.35}
.fgr input{width:92px;border:1.5px solid #dce6e0;border-radius:6px;padding:5px 8px;font:600 13px 'Barlow',sans-serif;color:var(--iz-antraciet);text-align:right;background:#fff;outline:none}
.fgr input:focus{border-color:#2c7fb8}
.fgr select{width:112px;border:1.5px solid #dce6e0;border-radius:6px;padding:5px 6px;font:600 12px 'Barlow',sans-serif;color:var(--iz-antraciet);background:#fff;outline:none;cursor:pointer}
.fgr select:focus{border-color:#2c7fb8}
.fgr-combo{display:flex;gap:4px;align-items:center}
.fgr-mode-sel{border:1.5px solid #dce6e0;border-radius:5px;padding:4px 5px;font:600 11px 'Barlow',sans-serif;color:var(--iz-antraciet);background:#fff;outline:none;cursor:pointer}
.fgr-mode-sel:focus{border-color:#2c7fb8}
.ehp-flow{background:#fff;border-radius:10px;border:1px solid var(--iz-rand-groen);padding:13px 16px;margin-bottom:12px}
.ehp-flow svg{display:block;width:100%;height:auto;touch-action:none;user-select:none}
.ehp-flow [data-node]{cursor:grab}
.ehp-flow [data-node]:active{cursor:grabbing}
.ehp-party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-top:6px}
.ehp-party-grid .ehp-party-card{padding:16px 18px;margin-bottom:0}
.ehp-party-grid .ehp-bar{height:12px}
.ehp-party-card{background:#fff;border:1px solid var(--iz-rand-groen);border-radius:10px;padding:13px 16px;margin-bottom:10px;page-break-inside:avoid}
.ehp-party-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.ehp-party-name{font-weight:800;font-size:15px;color:var(--iz-antraciet)}
.ehp-savings-pos{color:var(--iz-zeekraal);font-weight:800}
.ehp-savings-neg{color:var(--iz-gevaar);font-weight:800}
.ehp-cmp-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}
.ehp-cmp-tbl th,.ehp-cmp-tbl td{padding:6px 10px;border-bottom:1px solid #f3f7f4;text-align:right}
.ehp-cmp-tbl th:first-child,.ehp-cmp-tbl td:first-child{text-align:left}
.ehp-cmp-tbl thead th{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px;background:#f7fbf5;font-weight:800}
.ehp-cmp-tbl tr.ehp-total td{font-weight:800;border-top:1.5px solid var(--iz-rand-groen);border-bottom:none}
.ehp-cmp-tbl tr.ehp-save td{font-weight:800;background:#f7fbf5}
.ehp-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#f0f4f0;margin:3px 0 6px}
.ehp-bar span{display:block;height:100%}
.ehp-bar-lbl{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-top:1px}
.app{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 46px)}
.sb{background:#fff;border-right:1px solid var(--iz-rand-groen);padding:14px 16px;overflow-y:auto;max-height:calc(100vh - 74px);position:sticky;top:74px}
.st{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:var(--iz-zeekraal);margin-bottom:8px}
.sb > div + div{border-top:1px solid #eef2ec;padding-top:12px}
#ehpEditor > div + div, #finCfgWrap > div + div{border-top:1px solid #eef2ec;padding-top:12px}
.cl{display:flex;flex-direction:column;gap:4px}
.ci{background:#f7fbf5;border:1.5px solid var(--iz-rand-groen);border-radius:8px;padding:9px 11px}
.ci.s{border-color:var(--iz-zeekraal);background:var(--iz-mint-light)}
.cn{font-weight:700;font-size:14px;display:flex;align-items:center;gap:5px}
.cm{font-size:12px;color:#888;margin-top:2px}
.dt{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.ck{width:14px;height:14px;border:2px solid #c0d4ba;border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;cursor:pointer}
.ck.on{background:var(--iz-zeekraal);border-color:var(--iz-zeekraal)}
.ck.on::after{content:'';width:6px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.ct{padding:16px;overflow-y:auto}
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--iz-rand-groen);margin-bottom:14px;flex-wrap:wrap}
.tab{background:none;border:none;padding:8px 13px;font-family:'Barlow',sans-serif;font-size:14px;font-weight:700;color:#999;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.tab.on{color:var(--iz-zeekraal);border-bottom-color:var(--iz-zeekraal)}
.pn{display:none}.pn.on{display:block}
.cd{background:#fff;border-radius:10px;border:1px solid var(--iz-rand-groen);padding:13px 16px;margin-bottom:12px}
.ct2{font-size:12px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ac{width:24px;height:3px;background:var(--iz-boei);border-radius:2px;flex-shrink:0}
.kg{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin-bottom:12px}
.kb{background:#fff;border-radius:8px;border:1px solid var(--iz-rand-groen);padding:12px 14px}
.kl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#999;margin-bottom:3px}
.kv{font-size:18px;font-weight:900;color:var(--iz-antraciet);line-height:1}
.ku{font-size:12px;color:#aaa;margin-top:1px}
.kb.red .kv{color:var(--iz-gevaar)}.kb.grn .kv{color:var(--iz-zeekraal)}
.ov-kpi-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.ov-kpi-row{display:flex;gap:14px;align-items:stretch}
.ov-sec{display:flex;flex-direction:column;gap:6px}
.ov-sec-lbl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#2c302e;padding-left:1px}
.ov-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px;flex:1}
.ov-sec-gen{align-self:flex-start}
.ov-sec-gen .kb{padding:7px 10px}
.ov-sec-piek{flex:1}
.ov-sec-piek .kb{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 14px}
.ov-sec-piek .kv{font-size:50px}
.ov-row-lg .kb{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px 16px}
.ov-row-lg .kv{font-size:26px}
.fg{display:flex;flex-direction:column;gap:3px}
.fg label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#555}
.fg input,.fg select,.fg textarea{border:1.5px solid #dce6e0;border-radius:6px;padding:6px 8px;font-family:'Barlow',sans-serif;font-size:13px;color:var(--iz-antraciet);background:#fff;outline:none}
.fg input:focus,.fg select:focus{border-color:var(--iz-zeekraal)}
.fg textarea{resize:vertical;min-height:50px;font-size:11px}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.drop{border:2px dashed var(--iz-zeekraal);border-radius:8px;padding:14px;text-align:center;background:#fafcfa}
.drop.ov{background:var(--iz-mint-light)}
.dtt{font-weight:700;font-size:13px;margin-bottom:3px}
.dts{font-size:10px;color:#999;margin-bottom:8px}
.dbtn{background:var(--iz-zeekraal);color:#fff;border:none;border-radius:6px;padding:6px 14px;font-family:'Barlow',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
.pls{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px;justify-content:center}
.pl{background:var(--iz-mint-light);border:1px solid var(--iz-zeekraal);border-radius:12px;padding:2px 8px;font-size:12px;font-weight:700;color:var(--iz-zeekraal)}
.tr{display:flex;gap:3px;background:var(--iz-wit-blauw);border-radius:6px;padding:3px;margin-bottom:8px}
.tg{flex:1;border:none;background:transparent;border-radius:5px;padding:4px;font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer;color:#888}
.tg.on{background:#fff;color:var(--iz-antraciet)}
.cw{position:relative;width:100%}
/* Hover van de gestapelde grafieken (stackHover in charts/jaarprofiel.js) */
.sh-line{position:absolute;width:1px;background:rgba(36,43,56,.55);pointer-events:none;display:none}
.sh-tip{position:absolute;z-index:5;min-width:220px;max-width:340px;background:rgba(36,43,56,.94);color:#fff;border-radius:6px;padding:8px 10px;font-family:'Barlow',sans-serif;font-size:12px;line-height:1.35;pointer-events:none;display:none;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.sh-t{font-weight:800;margin-bottom:4px}
.sh-h{margin-top:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.sh-r{display:flex;align-items:center;gap:6px}
.sh-r .ld{border:1px solid rgba(255,255,255,.5)}
.sh-n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-p{width:34px;text-align:right;color:rgba(255,255,255,.7)}
.sh-net b{color:#fff}
.bdg{display:inline-block;padding:2px 6px;border-radius:8px;font-size:11px;font-weight:700}
.br{background:#fdf0ee;color:var(--iz-gevaar)}.bg{background:var(--iz-mint-light);color:var(--iz-zeekraal)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;padding:7px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#999;border-bottom:2px solid var(--iz-rand-groen)}
.tbl td{padding:7px 10px;border-bottom:1px solid #f3f7f4;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.lg{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.li{display:flex;align-items:center;gap:4px;font-size:12px;color:#666}
.ld{width:9px;height:9px;border-radius:2px;flex-shrink:0}
.li-tog{cursor:pointer;user-select:none;padding:1px 6px;border-radius:9px;transition:background .12s,opacity .12s}
.li-tog:hover{background:#eef2ec}
.li-off{opacity:.32;text-decoration:line-through}
.nf{position:fixed;bottom:16px;right:16px;background:var(--iz-antraciet);color:#fff;padding:9px 14px;border-radius:8px;font-size:12px;font-weight:600;z-index:1600;transform:translateY(60px);transition:transform .3s;border-left:4px solid var(--iz-zeekraal)}
.nf.on{transform:translateY(0)}
.mbg{position:fixed;inset:0;background:rgba(36,43,56,.45);z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px}
.mo{background:#fff;border-radius:12px;width:100%;max-width:570px;padding:18px;max-height:90vh;overflow-y:auto}
.mh{font-size:16px;font-weight:900;margin-bottom:13px;display:flex;align-items:center;justify-content:space-between}
.mx{background:none;border:none;font-size:18px;cursor:pointer;color:#888}
.sp-mo{max-width:900px;display:flex;flex-direction:column}
.sp-top{display:flex;gap:6px;margin-bottom:6px}
.sp-top input{flex:1;min-width:0;border:1.5px solid #dce6e0;border-radius:6px;padding:7px 9px;font-family:'Barlow',sans-serif;font-size:13px;outline:none}
.sp-top input:focus{border-color:var(--iz-zeekraal)}
.sp-status{font-size:12px;color:#555;min-height:16px;margin-bottom:6px}
.sp-status.sp-fout{color:var(--iz-gevaar);font-weight:700}
.sp-lijst{max-height:52vh;overflow:auto;border:1px solid var(--iz-rand-groen);border-radius:8px}
.sp-tab{width:100%;border-collapse:collapse;font-size:12px}
.sp-tab th{position:sticky;top:0;background:#f4f8f2;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#555;padding:6px 8px;border-bottom:1px solid var(--iz-rand-groen)}
.sp-tab td{padding:5px 8px;border-bottom:1px solid #f0f3ef;vertical-align:middle}
.sp-tab tr.sp-geen td,.sp-tab tr.sp-al td{color:#aaa}
.sp-tab select{max-width:260px;font-family:'Barlow',sans-serif;font-size:12px;border:1px solid #dce6e0;border-radius:5px;padding:2px 4px}
.sp-ean{font-family:monospace;font-size:11px;white-space:nowrap}
.sp-warn{color:#c87f0a;font-weight:700;cursor:help}
.sp-mut{color:#999;font-size:12px}
.sp-los{margin-top:8px;font-size:12px}
.sp-los summary{cursor:pointer;font-weight:700;color:#555;padding:4px 0}
.sp-los>div{max-height:22vh;overflow:auto;padding:4px 2px}
.sp-losrij{display:block;padding:2px 0}
.sp-voet{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}
.sp-voet .b:disabled{opacity:.5;cursor:default;filter:none}
.sp-save{font-size:11px;font-weight:700;color:#fff;white-space:nowrap;display:flex;align-items:center;gap:6px;margin-right:8px;background:rgba(255,255,255,.08);border-radius:999px;padding:4px 12px}
.sp-save.sp-rood{color:#fff;background:var(--iz-gevaar)}
.sp-save.sp-oranje{color:#fff;background:#c87f0a}
.sp-hbtn{background:rgba(255,255,255,.18);color:inherit;border:1px solid rgba(255,255,255,.45);border-radius:5px;padding:2px 8px;font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;cursor:pointer}
.sp-foutbalk{background:#fdecea;border-bottom:2px solid var(--iz-gevaar);color:#8e2418;font-size:13px;font-weight:600;padding:8px 24px;line-height:1.7}
.sp-foutbalk .sp-hbtn{background:var(--iz-gevaar);color:#fff;border-color:var(--iz-gevaar)}
.sp-ban{background:var(--iz-mint-light);border:1px solid var(--iz-zeekraal);border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sp-ban .b{padding:6px 11px;font-size:12px}
.sp-ban .b:disabled{opacity:.5;cursor:default}
.sp-noot{font-size:12px;color:#555;background:#f4f8f2;border:1px dashed var(--iz-zeekraal);border-radius:8px;padding:10px 12px}
.sp-conf-tekst{font-size:14px;color:#333;margin-bottom:12px}
.sp-conf-knoppen{display:flex;flex-direction:column;gap:8px}
.sp-conf-knoppen .b{flex-direction:column;align-items:flex-start;white-space:normal;text-align:left}
.sp-conf-knoppen .b span{font-size:11px;font-weight:500;opacity:.85}
.sp-migr-ov{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0}
.sp-migr-ov .b{padding:4px 9px;font-size:11px}
.sp-migr-ov .b:disabled{opacity:.5;cursor:default}
.sp-migr-uit{font-size:13px;margin-top:10px}
.sp-fouttekst{color:var(--iz-gevaar);font-weight:700}
.sh{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--iz-zeekraal);margin:10px 0 6px}
.ib{background:var(--iz-mint-light);border-left:3px solid var(--iz-zeekraal);padding:9px 12px;font-size:13px;color:#3a7d23;margin:4px 0 9px;border-radius:0 4px 4px 0;line-height:1.5}
.ib2{background:var(--iz-wit-blauw);border-left:3px solid var(--iz-mint);padding:9px 12px;font-size:13px;color:#555;margin:4px 0 9px;border-radius:0 4px 4px 0;line-height:1.5}
/* Optimalisatie */
.tab-sep{width:1px;background:var(--iz-rand-groen);margin:6px 4px;flex-shrink:0}
.tab-optim{color:#b35a00}
.tab-optim.on{color:#e67e22;border-bottom-color:#e67e22}
.ac-opt{background:#e67e22}
.opt-add-bar{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.opt-add-bar .b{background:#e67e22}
.opt-add-bar .b:hover{filter:brightness(1.1)}
.opt-asset{background:#fff;border:1.5px solid #f5c89a;border-radius:10px;margin-bottom:10px;overflow:hidden}
.opt-asset-header{background:#fdf3ea;border-bottom:1px solid #f5c89a;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:12px;color:#8a3e00}
.opt-asset-body{padding:12px 14px}
.opt-remove{background:none;border:none;cursor:pointer;font-size:15px;color:var(--iz-gevaar);padding:0 2px;line-height:1}
.opt-param-row{display:grid;gap:8px;margin-bottom:8px}
.opt-param-row.cols-3{grid-template-columns:1fr 1fr 1fr}
.opt-param-row.cols-2{grid-template-columns:1fr 1fr}
.opt-log-toggle{background:none;border:1px solid #f5c89a;border-radius:5px;color:#b35a00;font-family:'Barlow',sans-serif;font-size:10px;font-weight:700;cursor:pointer;padding:4px 9px;margin-top:8px}
.opt-log{background:#fdf9f5;border:1px solid #f5c89a;border-radius:6px;padding:10px 12px;margin-top:8px;font-size:10px;color:#4a3000;line-height:1.6}
.opt-log h4{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#b35a00;margin:8px 0 3px}
.opt-log h4:first-child{margin-top:0}
.opt-log pre{background:#fff8f2;border:1px solid #f5c89a;border-radius:4px;padding:6px 9px;font-family:monospace;font-size:10px;color:#4a2000;overflow-x:auto;white-space:pre-wrap;margin:3px 0}
.opt-log table{width:100%;border-collapse:collapse;font-size:10px;margin:4px 0}
.opt-log table th{text-align:left;font-weight:800;text-transform:uppercase;font-size:9px;color:#b35a00;border-bottom:1px solid #f5c89a;padding:2px 5px}
.opt-log table td{padding:2px 5px;border-bottom:1px solid #fef0e6}
.opt-log table tr:last-child td{border-bottom:none}
.opt-warn{background:#fff3cd;border-left:3px solid var(--iz-boei);padding:5px 8px;border-radius:0 4px 4px 0;font-size:10px;color:#7a5500;margin:6px 0}
.opt-note{background:var(--iz-wit-blauw);border-left:3px solid var(--iz-mint);padding:5px 8px;border-radius:0 4px 4px 0;font-size:10px;color:#2c6e70;margin:6px 0}
.opt-empty{text-align:center;padding:28px;color:#bbb;font-size:12px;border:2px dashed #f5c89a;border-radius:8px;margin-bottom:10px}
.kb.org .kv{color:#e67e22}
.kb.org{border-color:#f5c89a}
.kb.kb-wrap{min-width:0}
.kb-wrap .kv{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
/* Overschrijdingen heatmap */
.hm-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:6px}
@media(max-width:900px){.hm-wrap{grid-template-columns:1fr}}
.hm-block{min-width:0}
.hm-h{font-size:13px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.hm{display:grid;grid-template-columns:32px repeat(12,1fr);grid-auto-rows:16px;gap:1px;font-family:'Barlow',sans-serif;font-size:11px;color:#888;overflow-x:auto}
.hm .hm-corner,.hm .hm-mh,.hm .hm-yh{background:transparent;display:flex;align-items:center;justify-content:center;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.4px;min-width:0;overflow:hidden;white-space:nowrap}
.hm .hm-mh{font-size:11px}
.hm .hm-yh{font-size:11px;justify-content:flex-end;padding-right:4px}
.hm-cell{background:#fafafa;border-radius:1px;cursor:default;transition:transform .08s ease}
.hm-cell:hover{transform:scale(1.4);z-index:2;position:relative;outline:1px solid var(--iz-antraciet)}
.hm-leg{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:10px;color:#888}
.hm-leg .hm-bar{flex:1;height:8px;border-radius:2px;max-width:160px}
/* Scenario systeem */
.sck{width:14px;height:14px;border:2px solid #c0d4ba;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.sck.on{border-color:#e67e22;background:#e67e22}
.sck.on::after{content:'';width:5px;height:5px;border-radius:50%;background:#fff}
.scen-banner{background:#e67e22;color:#fff;padding:6px 16px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;flex-wrap:wrap}
.scen-banner .sb-lbl{flex:1;min-width:120px}
.scen-banner button{background:rgba(255,255,255,.25);border:none;border-radius:4px;color:#fff;font-family:'Barlow',sans-serif;font-size:10px;font-weight:700;cursor:pointer;padding:3px 9px;white-space:nowrap}
.scen-banner button:hover{background:rgba(255,255,255,.4)}
.tab-verg{color:#555}
.tab-verg.on{color:var(--iz-antraciet);border-bottom-color:var(--iz-antraciet)}
.ci-dim{opacity:.35;pointer-events:none}
.scen-con-list{max-height:150px;overflow-y:auto;border:1px solid #e4ede6;border-radius:6px;padding:6px;margin-bottom:10px;background:#fafcfa}
.scen-con-lbl{display:flex;align-items:center;gap:7px;font-size:11px;cursor:pointer;padding:3px 4px;border-radius:4px;transition:background .1s}
.scen-con-lbl:hover{background:var(--iz-mint-light)}
.scen-con-lbl input[type=checkbox]{accent-color:var(--iz-zeekraal);flex-shrink:0}
.scen-con-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.lbl-hint{font-weight:400;color:#aaa;font-size:9px;margin-left:3px}
.verg-tbl{width:100%;border-collapse:collapse;font-size:13px}
.verg-tbl th{text-align:left;padding:7px 10px;background:#f7f9f7;border-bottom:2px solid var(--iz-rand-groen);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#999}
.verg-tbl th.scen-h{background:#fdf3ea;color:#b35a00;border-bottom-color:#f5c89a}
.verg-tbl td{padding:6px 10px;border-bottom:1px solid #f3f7f4;vertical-align:middle}
.verg-tbl tr:last-child td{border-bottom:none}
.verg-tbl .metric{font-weight:700;color:#555;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.verg-pos{color:var(--iz-zeekraal);font-weight:700}
.verg-neg{color:var(--iz-gevaar);font-weight:700}
.verg-empty{text-align:center;padding:40px 20px;color:#bbb}
.verg-empty .big{font-size:32px;margin-bottom:8px}
.ac-verg{background:var(--iz-antraciet)}
/* Financieel overzicht tabellen */
.ehp-ov-blok{margin-bottom:24px;border:1px solid #e2e8e2;border-left:5px solid #2c7fb8;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.07);overflow:hidden;padding-bottom:14px}
.ehp-ov-blok-hdr{background:#2c7fb8;color:#fff;padding:10px 16px;font-weight:700;font-size:15px;letter-spacing:.2px}
.ehp-ov-side-hdr{font-weight:700;font-size:13px;padding:7px 11px;color:#fff;border-radius:4px 4px 0 0}
.ehp-ov-side-afn{background:#2c7fb8}
.ehp-ov-side-prod{background:#c0793c}
.ehp-ov-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.ehp-ov-tbl th{text-align:right;padding:7px 10px;white-space:nowrap;font-weight:600;font-size:12px;color:#fff}
.ehp-ov-tbl th:first-child{text-align:left}
.ehp-ov-col--afn .ehp-ov-tbl th{background:#2c7fb8}
.ehp-ov-col--prod .ehp-ov-tbl th{background:#c0793c}
.ehp-ov-tbl td{padding:6px 10px;border-bottom:1px solid #eef3ee;text-align:right;font-weight:500;color:#222}
.ehp-ov-tbl td:first-child{text-align:left;font-weight:600;color:#111}
.ehp-ov-tbl tbody tr:hover td{background:#f3f7f5}
.ehp-ov-tbl tr.subtotaal td{font-weight:600;border-top:1px solid #dce6e0;background:#f6faf8}
.ehp-ov-tbl tr.totaal td{font-weight:600;border-top:2px solid #2c7fb8;font-size:13px;background:#eef2f0}
.ehp-ov-tbl tr.pct-row td{color:#999;font-size:11px;padding:2px 10px;font-weight:400}
/* Gelijktijdigheid-tab */
.gel-blok{margin-bottom:28px;border:1px solid #e2e8e2;border-left:5px solid #2c7fb8;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.07)}
.gel-blok-hdr{background:#2c7fb8;color:#fff;padding:10px 16px;font-weight:700;font-size:15px;letter-spacing:.2px}
.gel-tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:900px;font-variant-numeric:tabular-nums}
.gel-tbl th{background:#2c7fb8;color:#fff;text-align:right;padding:8px 11px;white-space:nowrap;font-weight:600;font-size:12px;line-height:1.25}
.gel-tbl th:first-child{text-align:left}
.gel-tbl th .tip-icon{color:#fff;opacity:.65;font-size:.78em}
.gel-tbl th .tip-icon:hover{opacity:1}
.gel-tbl td{padding:7px 11px;text-align:right;border-bottom:1px solid #eef3ee;white-space:nowrap;font-weight:500;color:#222}
.gel-tbl td:first-child{text-align:left;font-weight:600;color:#111}
.gel-tbl tr:nth-child(even) td{background:#f7faf9}
.gel-tbl tbody tr:hover td{background:#eaf2ef}
.gel-tbl tr.gel-totaal td{font-weight:600;font-size:13.5px;border-top:2px solid #cfd8d2;background:#eef2f0;color:#111}
/* Kleurcodering per weergave: platform (blauw) / afnemers (groen) / invoeders (amber) */
.gel-blok--platform{border-left-color:#2c7fb8}
.gel-blok--platform .gel-blok-hdr,.gel-blok--platform .gel-tbl th{background:#2c7fb8}
.gel-blok--afnemers{border-left-color:#2d7a4b}
.gel-blok--afnemers .gel-blok-hdr,.gel-blok--afnemers .gel-tbl th{background:#2d7a4b}
.gel-blok--afnemers .gel-tbl tr:nth-child(even) td{background:#f3faf4}
.gel-blok--invoeders{border-left-color:#c47f1a}
.gel-blok--invoeders .gel-blok-hdr,.gel-blok--invoeders .gel-tbl th{background:#c47f1a}
.gel-blok--invoeders .gel-tbl tr:nth-child(even) td{background:#fdf6ea}
.gel-blok--invoeders .gel-tbl tr.gel-totaal td{background:#f8edd8}
/* Keuzeknoppen kleuren mee met hun weergave */
.tab[data-gel-view="platform"].on{color:#2c7fb8;border-bottom-color:#2c7fb8}
.tab[data-gel-view="afnemers"].on{color:#2d7a4b;border-bottom-color:#2d7a4b}
.tab[data-gel-view="invoeders"].on{color:#c47f1a;border-bottom-color:#c47f1a}
/* Rapport opties */
.rap-opt-lbl{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;padding:5px 6px;border-radius:5px;transition:background .1s;line-height:1.35}
.rap-opt-lbl:hover{background:#f7fbf5}
.rap-opt-lbl input[type=checkbox]{accent-color:var(--iz-zeekraal);width:14px;height:14px;flex-shrink:0}
/* Hoofdscherm */
.home-wrap{padding:24px;min-height:calc(100vh - 46px)}
.home-wrap.ehp-hide{display:none}
.home-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.home-card{background:#fff;border-radius:10px;border:1px solid var(--iz-rand-groen);padding:18px 20px}
.home-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.home-card .ps{background:var(--iz-wit-blauw);color:var(--iz-antraciet);border:1.5px solid #dce6e0}
/* Wachtwoord velden */
.pwd-wrap{position:relative}
.pwd-wrap input{padding-right:32px;width:100%;box-sizing:border-box}
.pwd-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:14px;padding:0;color:#aaa;line-height:1}
.pwd-strength{height:3px;border-radius:2px;background:#e74c3c;width:0;transition:width .2s,background .2s;margin-top:4px}
/* Tooltip-iconen */
.tip-icon{display:inline-block;cursor:help;color:#3b82f6;font-size:.72em;vertical-align:middle;margin-left:3px;user-select:none;line-height:1;opacity:.8;transition:opacity .15s}
.tip-icon:hover{opacity:1}
#globalTip{position:fixed;background:#1e293b;color:#f1f5f9;padding:6px 10px;border-radius:6px;font-size:12px;line-height:1.5;max-width:260px;white-space:normal;display:none;z-index:99999;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.35)}
/* Jaarrekening details/summary in sidebar */
.jr-summary{font-size:11px;font-weight:700;color:var(--iz-zeekraal);cursor:pointer;user-select:none;padding:4px 0;letter-spacing:.3px;list-style:none;display:flex;align-items:center;gap:4px}
.jr-summary::before{content:'▶';font-size:9px;transition:transform .15s;display:inline-block}
details[open] .jr-summary::before{transform:rotate(90deg)}
.jr-summary::-webkit-details-marker{display:none}
/* Jaarrekening compacte samenvattingstabellen */
.jr-table td,.jr-table th{padding:5px 8px;font-size:12px}
.jr-table{width:100%}
/* Jaarrekening prijsverkenner sliders */
.jr-slider-row{display:flex;align-items:center;gap:10px;margin:6px 0}
.jr-slider-row label{width:46px;font-size:12px;font-weight:700;flex-shrink:0}
.jr-slider-row input[type=range]{flex:1;accent-color:#e67e22}
.jr-slider-row input[type=number]{width:68px;padding:3px 6px;border:1px solid #cdd7d0;border-radius:5px;font-family:Barlow,sans-serif;font-size:12px}
.jr-slider-unit{font-size:11px;color:#888;white-space:nowrap}
.jr-slider-note{font-size:11px;color:#888;margin-top:4px}
/* ── Kaart-tabblad ─────────────────────────────────────────────────────────── */
#kaartMap{height:calc(100vh - 370px);min-height:340px;border-radius:8px;border:1px solid #dce6e0;background:#eef2ec}
#kaartMap .leaflet-tile-pane{filter:grayscale(100%)}
#kaartWarning{display:none;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:8px 12px;font-size:12px;color:#7a5c00;margin-bottom:8px}
.kaart-leg{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 0;font-size:12px}
.kaart-leg-item{display:flex;align-items:center;gap:5px}
.kaart-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(0,0,0,.2);display:inline-block;flex-shrink:0}
.kaart-tip{font-family:'Barlow',sans-serif!important;font-size:12px!important;line-height:1.45!important;max-width:240px}
.leaflet-tooltip.kaart-tip{padding:6px 9px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.nb-row:last-child{border-bottom:none!important}
.kaart-diamond-wrap{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important}
.leaflet-tooltip.kaart-label{background:rgba(255,255,255,.82);border:none;box-shadow:0 1px 3px rgba(0,0,0,.18);font-family:'Barlow',sans-serif;font-size:11px;font-weight:700;padding:2px 5px;border-radius:3px;color:#1a1a2e;white-space:nowrap;pointer-events:none}
.leaflet-tooltip.kaart-label::before{display:none}
.leaflet-tooltip.kaart-label-sm{background:rgba(255,255,255,.6);border:none;box-shadow:none;font-family:'Barlow',sans-serif;font-size:9px;font-weight:600;padding:1px 4px;border-radius:2px;color:#444;white-space:nowrap;pointer-events:none;opacity:.85}
.leaflet-tooltip.kaart-label-sm::before{display:none}
.leaflet-popup-content-wrapper.kaart-pop{font-family:'Barlow',sans-serif;font-size:12px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.kaart-multi-ring-wrap{background:transparent!important;border:none!important;box-shadow:none!important;overflow:visible!important}
.leaflet-tooltip.kaart-label-multi{font-weight:800!important}
#kaartMap.labels-hidden .leaflet-tooltip.kaart-label,
#kaartMap.labels-hidden .leaflet-tooltip.kaart-label-sm{display:none!important}
#kaartMap.labels-deelnemers .leaflet-tooltip.kaart-label-sm{display:none!important}

/* ── Huisstijl Impuls Zeeland: kaarten, panelen en invoer ─────────────────────────────── */
.cd,.kb,.home-card,.ehp-flow,
.ehp-party-card,.gel-blok,.ehp-ov-blok{border-radius:16px;border-color:var(--iz-rand)}
.home-card{border-radius:20px;padding:22px 24px}
.mo{border-radius:24px;padding:24px}
.tbl th{border-bottom-color:var(--iz-rand)}
.fg input,.fg select,.fg textarea,
.fgr input,.fgr select,.sp-top input{border-radius:10px;border-color:#d5dce2;padding:8px 12px}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--iz-zeekraal);box-shadow:0 0 0 3px rgba(70,150,43,.14)}
.home-card .ps{border-radius:12px;border-color:#d5dce2}
.bdg{border-radius:999px;padding:2px 10px}
.nf{border-radius:14px}

/* ── Knoppen: pill, Zeekraal als hoofdkleur ─────────────────── */
.b{background:var(--iz-zeekraal);border-radius:999px;padding:10px 20px;font-weight:900;letter-spacing:.04em;transition:filter .15s,transform .2s,background .15s}
.b:hover{filter:brightness(1.08)}
.b:active{transform:scale(.97)}
.b.dk{background:var(--iz-antraciet)}
.b.d{background:var(--iz-gevaar)}
.b.y{background:var(--iz-boei);color:var(--iz-antraciet)}
.b.o{background:transparent}
.ps{border-radius:999px}
.sp-hbtn{border-radius:999px}

/* ── Koppen en labels: Barlow Black, hoofdletters, ruime spatiering ── */
.st,.sh{font-weight:900;letter-spacing:.12em;font-size:12px}
.kl,.tbl th{font-weight:900;letter-spacing:.12em}
.kv{font-size:24px;font-weight:900}
.mh{font-size:22px;font-weight:900;text-transform:uppercase;line-height:1}
.ct2{font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--iz-antraciet)}
.access-card h1{font-weight:900;text-transform:uppercase;line-height:1}

/* ── Tabs binnen de modules: pills, Mint Light als actief ───── */
.tabs{border-bottom:none;gap:6px;margin-bottom:16px}
.tab{border-radius:999px;border-bottom:none;margin-bottom:0;padding:8px 18px;color:var(--iz-grijs);transition:background .15s,color .15s,transform .2s}
.tab:hover{background:var(--iz-mint-light);color:var(--iz-zeekraal)}
.tab:active{transform:scale(.97)}
.tab.on{background:var(--iz-mint-light);color:var(--iz-zeekraal);box-shadow:inset 0 0 0 1.5px var(--iz-zeekraal)}

/* ── Zijbalk: Mint Light met witte kaartjes ─────────────────── */
.sb{background:var(--iz-mint-light);border-right:none}
.ci{background:#fff;border:1.5px solid transparent;border-radius:12px}
.ci.s{border-color:var(--iz-zeekraal);background:#fff}
.sb .st{color:var(--iz-antraciet)}

/* ── Projecten-tab: werktafel ───────────────────────────────── */
.pj-tool{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.pj-search{flex:1;min-width:240px;position:relative}
.pj-search input{width:100%;border:1.5px solid #d5dce2;border-radius:999px;padding:11px 44px 11px 42px;font:600 15px 'Barlow',sans-serif;color:var(--iz-antraciet);background:#fff;outline:none}
.pj-search input:focus{border-color:var(--iz-zeekraal);box-shadow:0 0 0 3px rgba(70,150,43,.14)}
.pj-search svg{position:absolute;left:15px;top:50%;margin-top:-8px}
.pj-search kbd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font:700 11px 'Barlow',sans-serif;color:var(--iz-grijs);border:1px solid var(--iz-rand);border-radius:6px;padding:1px 7px;background:var(--iz-wit-blauw);pointer-events:none}
.pj-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.pj-chip{border:1.5px solid #d5dce2;background:#fff;color:var(--iz-grijs);border-radius:999px;padding:7px 14px;font:700 13px 'Barlow',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.pj-chip:hover{border-color:var(--iz-zeekraal);color:var(--iz-zeekraal)}
.pj-chip.on{background:var(--iz-mint-light);border-color:var(--iz-zeekraal);color:var(--iz-zeekraal)}
.pj-chip-s{padding:4px 11px;font-size:12px}
.pj-n{font-size:11px;font-weight:800;background:var(--iz-wit-blauw);color:var(--iz-grijs);border-radius:999px;padding:0 7px}
.pj-chip.on .pj-n{background:#fff;color:var(--iz-zeekraal)}
.pj-sep{width:1px;height:24px;background:var(--iz-rand)}
.pj-sh{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--iz-zeekraal)}
.pj-mut{color:var(--iz-grijs)}
.pj-empty{padding:36px;text-align:center;color:var(--iz-grijs)}
.pj-ster{color:var(--iz-boei)}
.pj-grid{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
.pj-tblc{background:#fff;border:1px solid var(--iz-rand);border-radius:16px;overflow:hidden}
.pj-t{width:100%;border-collapse:collapse;font-size:14px}
.pj-t th{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8a94a0;background:#f7fbf5;text-align:left;padding:10px 12px;border-bottom:1px solid var(--iz-rand);cursor:pointer;user-select:none;white-space:nowrap}
.pj-t th:hover{color:var(--iz-zeekraal)}
.pj-t td{padding:9px 12px;border-bottom:1px solid #f1f4f6;vertical-align:middle}
.pj-t .r{text-align:right}
.pj-row{cursor:pointer}
.pj-row:hover td{background:#f7fbf5}
.pj-row.sel td{background:var(--iz-mint-light)}
.pj-nm{font-weight:800}
.pj-nm small{display:block;font-weight:500;font-size:12px;color:var(--iz-grijs)}
.pj-more{padding:12px;text-align:center;border-top:1px solid var(--iz-rand)}
.pj-hint{font-size:12.5px;color:var(--iz-grijs);margin-top:8px}
.pj-bs{padding:6px 14px;font-size:12px}
.b.pj-lt{background:var(--iz-mint-light);color:var(--iz-zeekraal)}
.b:disabled{opacity:.55;cursor:default;filter:none}
.pj-star{background:none;border:none;cursor:pointer;color:#c5ccd3;font-size:17px;line-height:1;padding:2px}
.pj-star.on,.pj-star:hover{color:var(--iz-boei)}
.pj-tag{font-size:10.5px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:1px 8px;background:var(--iz-wit-blauw);color:var(--iz-grijs);border:1px solid var(--iz-rand);margin-right:4px}
.pj-avs{display:inline-flex}
.pj-av{width:26px;height:26px;border-radius:50%;background:var(--iz-antraciet);color:#fff;font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid #fff;margin-right:-6px}
.pj-avs .pj-av:last-child{margin-right:0}
.pj-av-n{background:var(--iz-mint);color:var(--iz-antraciet)}
.pj-bdg{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;white-space:nowrap;vertical-align:middle}
.pj-bdg-act{background:var(--iz-mint-light);color:#2f6e1c}
.pj-dot{width:7px;height:7px;border-radius:50%;background:var(--iz-zeekraal);display:inline-block}
.pj-bdg-af{background:#e8ecef;color:var(--iz-antraciet)}
.pj-bdg-lok{background:#fff4cc;color:#7a5a00}
.pj-det{position:sticky;top:88px;background:#fff;border:1px solid var(--iz-rand);border-radius:20px;padding:22px}
.pj-det-top{display:flex;justify-content:space-between;align-items:center;min-height:26px}
.pj-det h3{font-size:22px;font-weight:900;text-transform:uppercase;line-height:1.05;margin:6px 0 4px}
.pj-det dl{display:grid;grid-template-columns:84px 1fr;gap:10px;font-size:13.5px;margin:14px 0}
.pj-det dt{color:var(--iz-grijs);font-weight:600;padding-top:4px}
.pj-det dd{font-weight:700;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.pj-det dd:nth-of-type(2){flex-direction:row;flex-wrap:wrap}
.pj-eig{display:inline-flex;align-items:center;gap:7px;font-weight:700}
.pj-eig .pj-av{margin-right:0;border:none}
.pj-x{background:none;border:none;color:var(--iz-grijs);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}
.pj-x:hover{color:var(--iz-gevaar)}
.pj-acts{display:flex;flex-direction:column;gap:8px}
.pj-acts .b{justify-content:center}
.pj-hr{height:1px;background:var(--iz-rand);margin:14px 0}
.pj-aans{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;margin-top:8px}
.pj-aan{background:#f7fbf5;border:1px solid var(--iz-rand-groen);border-radius:12px;padding:7px 11px;font-size:13px;display:flex;flex-direction:column}
.pj-aan span{font-size:12px;color:var(--iz-grijs)}
.pj-typekeuze{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;font-weight:600}
.pj-typekeuze label{display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-weight:600;color:var(--iz-antraciet)}
@media(max-width:1100px){.pj-grid{grid-template-columns:1fr}.pj-det{position:static}}
.pj-aan-k{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pj-aan-n{display:inline-flex;align-items:center;gap:7px;min-width:0}
.pj-aan-n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pj-aans-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
/* beheer (admin): verstopt tot je het opent */
.pj-admin{margin-top:6px;font-size:13px}
.pj-admin summary{cursor:pointer;color:var(--iz-grijs);font-weight:700;list-style:none;display:inline-block;padding:4px 10px;border-radius:999px}
.pj-admin summary::-webkit-details-marker{display:none}
.pj-admin summary:hover{background:var(--iz-mint-light);color:var(--iz-zeekraal)}
.pj-admin-in{display:flex;flex-direction:column;gap:8px;margin-top:8px;background:#fff;border:1px solid var(--iz-rand);border-radius:16px;padding:14px 18px;max-width:560px}
/* venster: collega's koppelen */
.pj-eigmo{width:min(520px,92vw)}
.pj-eig-proj{font-weight:800;color:var(--iz-grijs);margin-top:-4px}
.pj-pers-lijst{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;padding:2px}
.pj-pers{display:flex;align-items:center;gap:10px;border:1.5px solid var(--iz-rand);border-radius:14px;padding:8px 12px;cursor:pointer}
.pj-pers:hover{border-color:var(--iz-zeekraal)}
.pj-pers.on{background:var(--iz-mint-light);border-color:var(--iz-zeekraal)}
.pj-pers input{accent-color:var(--iz-zeekraal);width:16px;height:16px;flex-shrink:0}
.pj-pers .pj-av{margin-right:0;border:none}
.pj-pers-n{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.pj-pers-n small{color:var(--iz-grijs);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.pj-eig-nieuw{display:flex;gap:8px;margin-top:12px}
.pj-eig-nieuw input{flex:1;min-width:0;border:1.5px solid #d5dce2;border-radius:999px;padding:8px 14px;font:600 13px 'Barlow',sans-serif;outline:none}
.pj-eig-nieuw input:focus{border-color:var(--iz-zeekraal);box-shadow:0 0 0 3px rgba(70,150,43,.14)}
.pj-eig-voet{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.pj-eig-voet .pj-mut{font-weight:700;font-size:13px}
