:root{--bg:#f7f9fd;--panel:#fff;--ink:#10163d;--muted:#7280a2;--line:#e5eaf5;--blue:#1769ff;--blue2:#3d75ff;--violet:#6350ff;--cyan:#29c5ff;--green:#13a66b;--orange:#ef7e2d;--red:#e84646;--shadow:0 10px 30px rgba(28,55,118,.08);--radius:18px}*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:20px 18px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:900}.brandmark{width:34px;height:34px;position:relative}.brandmark i{position:absolute;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,#2dc3ff,#1769ff)}.brandmark i:nth-child(1){left:2px;top:2px}.brandmark i:nth-child(2){left:14px;top:11px}.brandmark i:nth-child(3){left:2px;top:20px}.nav{display:grid;gap:7px}.nav button{height:44px;border:0;background:transparent;border-radius:12px;text-align:left;padding:0 12px;font-weight:700;color:#19204b;display:flex;align-items:center;gap:12px}.nav button.active{background:#edf3ff;color:#115be8}.nav .ico{width:22px;text-align:center;color:#1954c8}.scan{margin-top:auto;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;box-shadow:var(--shadow)}.scan strong{display:block;margin-bottom:6px}.scan p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 14px}.scan button{width:100%;border:0;border-radius:10px;background:linear-gradient(135deg,#0c5eff,#1255e8);color:#fff;font-weight:800;padding:12px}.profile{display:flex;gap:10px;align-items:center;padding-top:2px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9effc;color:#174fc7;font-weight:900}.profile small{display:block;color:var(--muted)}.main{min-width:0;padding:18px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}.welcome h1{margin:0;font-size:30px;letter-spacing:-.045em}.welcome p{margin:4px 0 0;color:#4e5b7e}.topactions{display:grid;gap:10px;justify-items:end}.searchrow,.actionrow{display:flex;gap:9px;align-items:center}.search{width:330px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 14px;color:#7b88a8}.smallbtn{height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;font-weight:800;color:#1a2250}.smallbtn.ai{color:#0b5cee}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 13px;box-shadow:var(--shadow)}.kpihead{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:800}.kpiicon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eff4ff;color:#0d5ef0}.kpi .num{font-size:34px;font-weight:900;letter-spacing:-.04em;margin:5px 0 1px}.kpi .num small{font-size:17px;color:#687596;font-weight:700}.delta{font-size:11px;font-weight:800;color:var(--green)}.delta.down{color:#ef5b36}.spark{height:18px;position:relative;margin-top:6px}.spark:after{content:"";position:absolute;left:2px;right:2px;top:8px;height:2px;background:linear-gradient(90deg,#3f7bff,#6853ff);clip-path:polygon(0 50%,10% 65%,18% 30%,27% 55%,37% 25%,46% 65%,58% 35%,68% 70%,80% 20%,92% 45%,100% 30%,100% 100%,0 100%)}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.braincard{padding:12px;min-width:0}.brainhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.brainhead h2{font-size:17px;margin:0}.brainhead p{font-size:12px;color:#66739a;margin:2px 0 0}.live{display:flex;align-items:center;gap:12px;font-size:10px;color:#687597}.livepill{padding:6px 10px;border-radius:999px;background:#edf9f4;color:#0b8d60;font-weight:900}.brainlayout{display:grid;grid-template-columns:205px minmax(310px,1fr) 285px;gap:10px;position:relative;align-items:start}.coltitle{font-size:13px;font-weight:900;color:#173da6;margin:0 0 6px 3px}.sources{display:grid;gap:5px}.source{position:relative;height:49px;border:1px solid #edf0f8;background:#fafbff;border-radius:9px;padding:6px 8px;display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;text-align:left;transition:.2s}.source .sico{width:27px;height:27px;border-radius:8px;background:#eaf0ff;display:grid;place-items:center;color:#2565f7}.source b{font-size:11px;display:block}.source small{font-size:9px;color:#8994ae;display:block;line-height:1.2}.source.active{background:#fff;border-color:#2c77ff;box-shadow:0 0 0 2px #dbe8ff}.source.inactive{opacity:.28;filter:blur(.4px)}.statebadge{position:absolute;right:4px;top:5px;padding:3px 5px;border-radius:999px;background:#e7fff4;color:#079964;font-size:7px;font-weight:900;display:none}.source.active .statebadge{display:block}.center{min-width:0}.capbar{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:3px}.cap{text-align:center;font-size:8px;font-weight:800;color:#173ca4}.cap i{display:grid;place-items:center;margin:auto auto 2px;width:30px;height:30px;border-radius:50%;background:#f0f2ff;color:#4f4fff;font-style:normal;opacity:.35}.cap.active i{opacity:1;box-shadow:0 0 0 3px #eaf5ff}.core{height:245px;position:relative;display:grid;place-items:center}.brainimg{position:absolute;top:8px;width:160px;height:90px;object-fit:cover;object-position:center;background:white;mix-blend-mode:multiply;filter:saturate(1.08) contrast(1.02);border-radius:50%}.stack{position:absolute;top:80px;width:250px;display:grid;gap:4px}.layer{height:52px;border-radius:50% / 24%;display:grid;place-items:center;text-align:center;color:#fff;border:1px solid #ffffff55;box-shadow:0 12px 23px rgba(48,80,255,.23)}.layer strong{font-size:16px}.layer small{display:block;font-size:9px;opacity:.92;margin-top:2px}.layer.ai{background:linear-gradient(135deg,#22a8fb,#4765ff 55%,#7347ff)}.layer.hub{background:linear-gradient(135deg,#1670fa,#3150f8 55%,#6047ef)}.layer.power{background:linear-gradient(135deg,#1667ef,#3349df 55%,#6741d8)}.learn{position:absolute;bottom:0;text-align:center;color:#2850b8;font-size:9px;font-weight:900}.learn span{display:block;color:#7c87a7;font-weight:700}.modules{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.mod{min-height:62px;border:1px solid #edf0f8;border-radius:9px;background:#fafbff;text-align:center;padding:6px 3px;color:#55607f;transition:.2s;position:relative}.mod span{display:block;font-size:20px;color:#6670ff;opacity:.4}.mod b{display:block;font-size:9px;line-height:1.05;margin-top:2px}.mod.active{background:#fff;border-color:#2476ff;box-shadow:0 0 0 2px #dce8ff;color:#1245b3}.mod.active span{opacity:1}.mod.inactive{opacity:.25;filter:blur(.45px)}.portalbadge{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:-10px;background:#1576ff;color:#fff;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:900;white-space:nowrap}.mod.active .portalbadge{display:block}.flowoverlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.flowpath{fill:none;stroke:#1769ff;stroke-width:3;stroke-linecap:round;stroke-dasharray:4 7;opacity:0;animation:dash 1.2s linear infinite;filter:drop-shadow(0 0 4px rgba(23,105,255,.28))}.flowpath.on{opacity:1}@keyframes dash{to{stroke-dashoffset:-22}}.flowexplain{margin-top:8px;border:1px solid #e8ecf5;border-radius:11px;background:#fbfcff;display:grid;grid-template-columns:1fr 1fr 1fr}.flowexplain>div{padding:9px 10px;border-right:1px solid #e8ecf5;display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center}.flowexplain>div:last-child{border-right:0}.round{width:30px;height:30px;border-radius:50%;background:#edf3ff;color:#0c5df3;display:grid;place-items:center}.flowexplain b{font-size:10px}.flowexplain p{font-size:9px;line-height:1.3;color:#7180a3;margin:2px 0 0}.right{display:grid;gap:10px}.right .card{padding:13px}.right h3{font-size:15px;margin:0 0 9px}.right p{font-size:10px;color:#697697;line-height:1.45}.summary{display:grid;gap:6px}.summary>div{padding:10px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;font-size:10px}.summary .g{background:#eef9f4;color:#078a5e}.summary .o{background:#fff5ec;color:#d96a1d}.summary .b{background:#f0f4ff;color:#174fc6}.recs{list-style:none;margin:0;padding:0;display:grid;gap:7px}.recs li{font-size:9.5px;display:grid;grid-template-columns:1fr auto;gap:6px}.prio{color:#7c88a7;font-size:8.5px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick button{border:0;background:transparent;font-size:8px;color:#26355f;padding:0}.quick i{width:34px;height:34px;border-radius:50%;background:#f0f4ff;display:grid;place-items:center;margin:0 auto 4px;font-style:normal;color:#2458c7;font-size:16px}.lower{display:grid;grid-template-columns:1.2fr .9fr .8fr;gap:10px;margin-top:10px}.lower .card{padding:12px;min-height:170px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sectiontitle h3{font-size:13px;margin:0}.sectiontitle a{font-size:8px;color:#0d5df2}.timeline{display:grid;grid-template-columns:repeat(4,1fr);font-size:8px;color:#7582a1;margin-bottom:10px}.timeline b{display:block;color:#173ea4;font-size:10px}.progresslist{display:grid;gap:8px;font-size:8px}.prow{display:grid;grid-template-columns:1fr 70px 25px;gap:6px;align-items:center}.bar{height:4px;background:#edf0f7;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:#0f63ff}.ko{display:grid;grid-template-columns:1fr 1fr;gap:7px}.box{padding:8px;border-radius:9px;font-size:8px;line-height:1.35}.chance{background:#eef9f4;color:#078a5e}.risk{background:#fff5ed;color:#dd6c1d}.impact{display:grid;gap:10px}.impactitem{display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center}.impactitem b{font-size:10px}.impactitem small{display:block;color:#7280a2;font-size:8px}.activities{margin-top:10px;padding:10px 12px}.activities .items{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.act{font-size:8px;display:flex;gap:6px;align-items:center}.act i{width:26px;height:26px;border-radius:50%;background:#eef2fb;display:grid;place-items:center;font-style:normal}.previewflag{position:fixed;right:14px;bottom:14px;z-index:80;background:#0d5ef0;color:#fff;border:0;padding:7px 10px;border-radius:999px;font-size:9px;font-weight:900;box-shadow:0 7px 18px rgba(13,94,240,.3)}.allpages{position:fixed;inset:0;background:rgba(7,18,49,.52);z-index:90;display:none;place-items:center;padding:20px}.allpages.open{display:grid}.sheet{width:min(900px,95vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:16px;box-shadow:0 28px 90px rgba(0,20,60,.28)}.sheethead{display:flex;justify-content:space-between;gap:12px;align-items:center}.sheethead h3{margin:0}.sheethead button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff}.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.group{border:1px solid var(--line);border-radius:12px;padding:10px}.group h4{margin:0 0 7px;color:#174fc5;font-size:11px}.group button{width:100%;text-align:left;border:0;background:#f8faff;border-radius:8px;padding:7px 8px;margin:3px 0;font-size:9px;color:#26345e}.mobilebar{display:none}@media(max-width:1180px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{flex-direction:column}.topactions{justify-items:start;width:100%}.searchrow,.actionrow{flex-wrap:wrap;width:100%}.search{width:min(100%,380px)}.dashboard{grid-template-columns:1fr}.right{grid-template-columns:repeat(3,1fr)}.brainlayout{grid-template-columns:190px minmax(280px,1fr) 260px}.lower{grid-template-columns:1fr 1fr}.impactcard{grid-column:1/-1}}@media(max-width:760px){body{padding-bottom:72px}.main{padding:10px}.welcome h1{font-size:25px}.topactions{display:none}.kpis{display:flex;overflow:auto;gap:8px;scroll-snap-type:x mandatory;padding-bottom:3px}.kpi{min-width:180px;scroll-snap-align:start}.dashboard{display:block}.right{display:grid;grid-template-columns:1fr;margin-top:10px}.braincard{padding:10px}.brainhead{align-items:center}.live span:last-child{display:none}.brainlayout{display:flex;flex-direction:column;gap:10px}.brainlayout>section{width:100%}.sources{display:flex;overflow:auto;gap:7px;scroll-snap-type:x mandatory;padding-bottom:4px}.source{min-width:210px;scroll-snap-align:start}.center{order:-1}.capbar{overflow:auto;display:flex;gap:8px;justify-content:flex-start}.cap{min-width:52px}.core{height:250px}.brainimg{width:170px;height:96px}.stack{width:min(82vw,290px);top:86px}.layer{height:52px}.modules{display:flex;overflow:auto;gap:7px;scroll-snap-type:x mandatory;padding-bottom:6px}.mod{min-width:92px;scroll-snap-align:start}.flowoverlay{display:none}.flowexplain{grid-template-columns:1fr}.flowexplain>div{border-right:0;border-bottom:1px solid #e8ecf5}.flowexplain>div:last-child{border-bottom:0}.lower{grid-template-columns:1fr}.activities .items{grid-template-columns:1fr 1fr}.groups{grid-template-columns:1fr 1fr}.mobilebar{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:66px;background:#ffffffee;border-top:1px solid var(--line);z-index:75;backdrop-filter:blur(10px)}.mobilebar button{border:0;background:transparent;font-size:10px;color:#38456d}.mobilebar button.active{color:#0d5ef0;font-weight:900}.previewflag{bottom:76px}}
/* Visuele modellen en eerlijke lege staten (2026-09-09) */
.v2visualgrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.v2visual{margin:0;padding:.9rem 1rem 1rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:14px;background:var(--saas-surface,#fff);box-shadow:var(--saas-card-shadow,0 12px 36px rgba(33,38,76,.08))}
.v2visual figcaption{font-size:.78rem;font-weight:600;opacity:.72;margin-bottom:.5rem}
.v2visual svg{display:block;width:100%;height:auto;color:#212648;overflow:visible}
.v2visual svg text{font-family:inherit}
.pvempty{opacity:.9}
.pvemptycopy{margin:.2rem 0 0;font-size:.86rem;line-height:1.5;opacity:.72}
.pvmetrics[data-derived="false"] .pvmetricgrid strong{opacity:.45}
@media(max-width:640px){.v2visualgrid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){.v2visual svg{color:#e8eaf6}}
.v2ask{margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:14px;background:var(--saas-surface-soft,#f7f8ff)}
.v2askhead b{display:block;font-size:.92rem}
.v2askhead span{display:block;font-size:.78rem;opacity:.68;margin-bottom:.6rem}
.v2askrow{display:flex;gap:.5rem}
.v2askrow input{flex:1;min-width:0;padding:.6rem .8rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:10px;font:inherit}
.v2askrow button{padding:.6rem 1rem;border:0;border-radius:10px;background:var(--saas-accent,#4f46e5);color:#fff;font:inherit;cursor:pointer}
.v2askrow button[disabled]{opacity:.55;cursor:progress}
.v2askout{display:block;margin-top:.6rem;font-size:.86rem;line-height:1.55}
.v2hint{opacity:.6;font-weight:400}
.v2checkline{display:flex;align-items:center;gap:.5rem}

/* Wijzigingswizard en bouwstenenkast (2026-09-09) */
.wzsub{margin:.2rem 0 .7rem;font-size:.84rem;line-height:1.5;opacity:.7}
.wzsteps{display:flex;gap:.4rem;margin-bottom:.9rem}
.wzsteps i{flex:1;height:5px;border-radius:3px;background:var(--saas-line,#e7e9f6);transition:background .2s}
.wzsteps i.aan{background:var(--saas-accent,#4f46e5)}
.wzform{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.wzveld{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}
.wzveld.wzvol{grid-column:1/-1}
.wzveld>span{font-weight:600;opacity:.78}
.wzveld input,.wzveld select,.wzveld textarea{padding:.55rem .7rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:9px;font:inherit;background:var(--saas-surface,#fff)}
.wzveld input[readonly]{opacity:.6}
.wzimpact{margin-top:1rem;padding:.8rem .9rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:12px;background:var(--saas-surface-soft,#f7f8ff)}
.wzimpact>b{font-size:.84rem}
.wzstats{display:flex;flex-wrap:wrap;gap:.9rem;margin:.6rem 0 .2rem}
.wzstat{display:flex;flex-direction:column;line-height:1.2}
.wzstat b{font-size:1.1rem}
.wzstat span{font-size:.74rem;opacity:.66}
.wzout{display:block;margin-top:.6rem;font-size:.84rem;color:var(--saas-mint,#10b981)}
.dnazoek{width:100%;padding:.6rem .8rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:10px;font:inherit;margin-bottom:.8rem}
.dnabieb{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dnakaart{padding:.8rem .9rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:12px;background:var(--saas-surface,#fff)}
.dnakaart header{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;margin-bottom:.4rem}
.dnakaart header span{font-size:.72rem;opacity:.62}
.dnahit{margin:0 0 .4rem;font-size:.74rem;color:var(--saas-accent,#4f46e5)}
.dnavelden{display:grid;gap:.3rem}
.dnaveld{font-size:.76rem;line-height:1.4}
.dnaveld span{opacity:.6;margin-right:.3rem}
.dnavrijrij{display:flex;gap:.5rem;flex-wrap:wrap}
.dnavrijrij input{flex:1;min-width:14rem;padding:.6rem .8rem;border:1px solid var(--saas-line,#e7e9f6);border-radius:10px;font:inherit}
.dnavrijuit{display:block;margin-top:.7rem}
.dnavertaal{margin:.3rem 0 0;padding-left:1.1rem;font-size:.84rem;line-height:1.6}
@media(max-width:640px){.wzform,.dnabieb{grid-template-columns:1fr}}

/* SaaS entitlement UI */
.plan-locked{position:relative;opacity:.62!important}
.plan-locked::after{content:"Upgrade";margin-left:auto;font-size:.67rem;font-weight:800;letter-spacing:.02em;background:#fff3b0;color:#5a4300;border:1px solid #ecd35b;border-radius:999px;padding:2px 7px}
button.plan-locked,a.plan-locked{cursor:pointer}
html[data-portal-plan="starter"] .plan-locked:hover,
html[data-portal-plan="pro"] .plan-locked:hover,
html[data-portal-plan="groei"] .plan-locked:hover{opacity:.82!important}
.portal-plan-badge{display:inline-flex;align-items:center;gap:6px;margin:8px 12px;padding:7px 10px;border-radius:999px;background:#fff4bf;color:#0b2445!important;border:1px solid #ead15b;font-size:.75rem;font-weight:800;text-decoration:none}
.portal-plan-badge:hover{background:#ffe86b}
