:root{--ink:#142d23;--green:#18392b;--gold:#b8915d;--paper:#f4f0e8;--line:#d9d7cf;--muted:#6f7872}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 Inter,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:30px 22px;background:#10271e;color:#fff;display:flex;flex-direction:column}.brand img{width:180px;max-height:62px;object-fit:contain;object-position:left}.demo-label{margin:30px 0 20px;padding:9px 11px;border:1px solid #b8915d55;border-radius:7px;color:#dfc39e;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:12px 14px;border-radius:8px;color:#dce6df;text-decoration:none;font-weight:700}.sidebar nav a span{display:inline-grid;width:25px}.sidebar nav a:hover,.sidebar nav a.active{background:#284b3b;color:#fff}.back{margin-top:auto;padding:12px;color:#fff;text-decoration:none;border:1px solid #ffffff33;border-radius:8px;text-align:center;font-weight:700}main{margin-left:260px;padding:clamp(28px,4vw,64px);max-width:1700px}header{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:34px}h1{font-size:clamp(2rem,4vw,4.4rem);line-height:1;margin:.12em 0}h2{margin:.2em 0;font-size:1.5rem}.eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:800;color:#8d6a42}.profile{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}.profile>span,.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d9ff70;color:#18392b;font-weight:900}.profile small,.team-row small{display:block;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.stats span,.stats small{display:block;color:var(--muted)}.stats strong{display:block;font-size:2rem;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:18px}.right-column{display:grid;gap:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.segmented{display:flex;padding:3px;background:#eef0eb;border-radius:8px}.segmented button,.text-button{border:0;background:transparent;padding:8px;cursor:pointer}.segmented button.active{background:#fff;border-radius:6px;box-shadow:0 2px 6px #00000012}.timeline{margin-top:20px}.timeline article{display:grid;grid-template-columns:58px 40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #eceae4}.timeline small{display:block;color:var(--muted)}.avatar.noah{background:#d7e4ff}.status{font-style:normal;font-size:.72rem;padding:7px 9px;border-radius:999px;background:#eef0eb}.status.now{background:#f2dfc5;color:#734b1d}.status.done{color:#5c6860}.team-row{display:flex;gap:12px;padding:14px 0;border-top:1px solid #eceae4}.team-row img{width:46px;height:46px;border-radius:50%;object-fit:cover}.team-row div{flex:1}.team-row i,.bars i{display:block;height:5px;margin-top:8px;background:#e9ece7;border-radius:999px}.team-row b,.bars b{display:block;height:100%;background:var(--gold);border-radius:999px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.quick-actions button{min-height:55px;border:1px solid var(--line);background:#faf9f6;border-radius:8px;font-weight:700;cursor:pointer}.note{background:#18392b;color:#fff}.note .eyebrow{color:#d5b486}.note p{color:#d4ddd7}.note.pulse{outline:5px solid #b8915d55}.lower-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:18px}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{text-align:left;padding:12px 7px;border-top:1px solid #eceae4}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.bars{display:grid;gap:16px;margin-top:22px}.bars span{display:grid;grid-template-columns:110px 1fr 25px;gap:10px;align-items:center}.bars i{margin:0}@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}.dashboard-grid,.lower-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:static;width:auto;min-height:0}.sidebar nav{grid-template-columns:1fr 1fr}.back{margin-top:22px}main{margin-left:0;padding:22px}header{display:block}.profile{margin-top:20px}.stats{grid-template-columns:1fr 1fr}.timeline article{grid-template-columns:45px 38px 1fr}.status{grid-column:3}.lower-grid{display:block}.lower-grid>.panel{margin-top:18px}table{display:block;overflow:auto}}@media(max-width:480px){.stats{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.profile{align-items:flex-start}.quick-actions{grid-template-columns:1fr}}

/* v39: dashboard blijft leesbaar op ieder scherm */
body{min-width:0}.sidebar{z-index:20}.agenda{min-width:0}.timeline article>div{min-width:0}.timeline strong,.timeline small{overflow-wrap:anywhere}
.stats article{min-height:128px;display:flex;flex-direction:column;justify-content:center}.panel{box-shadow:0 9px 30px rgba(20,45,35,.045)}
@media(max-width:1180px){
 .dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:repeat(2,minmax(0,1fr))}.right-column .note{grid-column:1/-1}
 .lower-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
 .sidebar{position:static;width:auto;padding:18px}.brand img{width:155px}.demo-label{margin:15px 0 10px}
 .sidebar nav{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px}.sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:9px 11px}.back{display:inline-block;margin-top:10px;padding:9px 12px}
 main{margin:0;padding:24px 18px}header{display:grid;gap:18px;margin-bottom:24px}.profile{width:100%;margin:0}
 .right-column{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}
 .panel-head{align-items:flex-start}.timeline article{grid-template-columns:52px 38px minmax(0,1fr);gap:10px}.timeline .status{grid-column:3;justify-self:start;margin-top:3px}
 .lower-grid{display:grid}.lower-grid>.panel{margin:0}table{display:table;min-width:560px}.lower-grid>.panel:first-child{overflow-x:auto}
}
@media(max-width:520px){
 main{padding:18px 12px}h1{font-size:2.35rem}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{min-height:108px;padding:15px}.stats strong{font-size:1.65rem}
 .panel-head{display:grid}.segmented{width:100%}.segmented button{flex:1}.timeline article{grid-template-columns:44px minmax(0,1fr);padding:14px 0}.timeline .avatar{display:none}.timeline article>div{grid-column:2}.timeline .status{grid-column:2}
 .quick-actions{grid-template-columns:1fr}.bars span{grid-template-columns:96px 1fr 22px}.profile{padding:11px 13px}
 .lower-grid>.panel:first-child{display:none}
}

/* v40: werkende schermnavigatie */
.portal-view[hidden]{display:none!important}.portal-view.active{display:block;animation:view-in .22s ease both}@keyframes view-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.primary-action{border:0;border-radius:9px;padding:13px 18px;background:var(--green);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}.primary-action:hover{background:#24513e}
.view-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}.date-switch{display:flex;align-items:center;gap:14px}.date-switch button{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.search-field{width:min(520px,100%);display:grid;gap:7px;font-size:.78rem;font-weight:800}.search-field input,.settings-grid input,.settings-grid select{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.result-count{padding-bottom:12px;color:var(--muted)}
.schedule{overflow-x:auto}.schedule-head,.schedule-row{min-width:760px;display:grid;grid-template-columns:70px repeat(4,minmax(145px,1fr));gap:10px}.schedule-head{padding:0 0 12px;border-bottom:1px solid var(--line);text-align:center}.schedule-head span{text-align:left;color:var(--muted)}.schedule-row{min-height:100px;padding:12px 0;border-bottom:1px solid #eceae4}.schedule-row time{padding-top:10px;color:var(--muted)}.schedule-row>article,.schedule-row>.available{padding:11px;border-radius:8px}.schedule-row small{display:block;margin-top:3px}.booking.milan{background:#edf3e9;border-left:4px solid #92ad5d}.booking.noah{background:#e9eff8;border-left:4px solid #789bc7}.blocked{background:#f0ece5;color:#776f63}.available{display:grid;place-items:center;border:1px dashed #cbd1ca;color:#819087;font-size:.78rem}
.data-panel{overflow-x:auto}.data-panel table{min-width:760px}.data-panel td strong,.data-panel td small{display:block}.data-panel td small{color:var(--muted);margin-top:3px}
.service-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-admin-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#18392b;color:#d9ff70;font-weight:900}.service-admin-card em{font-style:normal;font-size:.7rem;padding:6px 8px;border-radius:999px;background:#e4f0e1;color:#41623d}.service-admin-card h2{margin-top:24px}.service-admin-card dl{display:grid;gap:10px;margin:24px 0}.service-admin-card dl div{display:flex;justify-content:space-between;border-top:1px solid #eceae4;padding-top:10px}.service-admin-card dt{color:var(--muted)}.service-admin-card dd{margin:0;font-weight:800}.service-admin-card button,.team-admin-card button{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#faf9f6;font-weight:800;cursor:pointer}
.team-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team-admin-card{display:grid;grid-template-columns:190px 1fr;gap:24px}.team-admin-card>img{width:190px;height:250px;object-fit:cover;border-radius:10px}.working-days{display:flex;gap:7px;margin:18px 0}.working-days span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#18392b;color:#fff;font-size:.72rem;font-weight:800}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid .panel{display:grid;align-content:start;gap:14px}.settings-grid label{display:grid;gap:7px;font-size:.78rem;font-weight:800}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{grid-template-columns:auto 1fr;align-items:center}.toggle-row input{width:18px;height:18px;min-height:0}.settings-save{justify-self:start}.save-result{align-self:center;margin:0;color:#56705f}
.demo-toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:390px;padding:14px 18px;border-radius:9px;background:#10271e;color:#fff;box-shadow:0 16px 45px #0003;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.demo-toast.show{opacity:1;transform:none}
@media(max-width:1180px){.service-admin-grid{grid-template-columns:1fr 1fr}.team-admin-card{grid-template-columns:140px 1fr}.team-admin-card>img{width:140px;height:210px}.settings-grid{grid-template-columns:1fr}}
@media(max-width:820px){.view-toolbar{align-items:stretch;flex-direction:column}.service-admin-grid,.team-admin-grid{grid-template-columns:1fr}.settings-grid header{display:block}.portal-view header .primary-action{width:100%;margin-top:12px}}
@media(max-width:560px){.team-admin-card{grid-template-columns:1fr}.team-admin-card>img{width:100%;height:280px}.field-grid{grid-template-columns:1fr}.service-admin-grid{grid-template-columns:1fr}.demo-toast{left:12px;right:12px;bottom:12px}.schedule{margin-left:-18px;margin-right:-18px;border-radius:0}.data-panel{margin-left:-12px;margin-right:-12px;border-radius:0}}
.session-items{display:grid;gap:12px;margin-top:18px}.session-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.session-card h2{margin:.2em 0}.session-card p{margin:0}.session-card button{border:0;background:transparent;color:#8c2e24;text-decoration:underline;cursor:pointer}.demo-edit-modal{position:fixed;z-index:200;inset:0;display:none;place-items:center;padding:20px;background:#07120dbb}.demo-edit-modal.open{display:grid}.demo-edit-modal form{position:relative;width:min(560px,100%);display:grid;gap:14px;padding:32px;border-radius:16px;background:var(--paper);box-shadow:0 25px 80px #0006}.demo-edit-modal label{display:grid;gap:7px;font-weight:800}.demo-edit-modal input,.demo-edit-modal textarea,.demo-edit-modal select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}.demo-modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer}.demo-modal-actions{display:flex;gap:10px}.primary-action.secondary{background:#e8e9e5;color:var(--ink)}@media(max-width:560px){.session-card{align-items:flex-start;flex-direction:column}.demo-edit-modal form{padding:24px}}

/* v44: iedere menuoptie is een zelfstandige pagina */
.text-link{color:var(--ink);font-weight:800;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}.quick-actions a{display:grid;place-items:center;min-height:55px;padding:8px;border:1px solid var(--line);background:#faf9f6;border-radius:8px;color:var(--ink);font-weight:700;text-decoration:none;text-align:center}.row-actions{display:flex;gap:8px}.row-actions button:first-child{color:var(--ink)}

/* v45: vaste demomelding, specifieke formulieren en interactieve agenda */
.has-vs-demo-notice{padding-bottom:78px}.vs-demo-notice{position:fixed;z-index:500;left:0;right:0;bottom:0;min-height:70px;padding:11px clamp(16px,3vw,40px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0c1f17;color:#fff;border-top:2px solid #b8ff39;box-shadow:0 -10px 35px #0003}.vs-demo-notice p{display:flex;align-items:center;gap:13px;margin:0}.vs-demo-notice p strong{color:#d9ff70}.vs-demo-notice p span{color:#cbd6cf;font-size:.82rem}.vs-demo-notice nav{display:flex;gap:8px}.vs-demo-notice a{padding:9px 13px;border:1px solid #ffffff45;border-radius:7px;color:#fff;text-decoration:none;font-size:.82rem;font-weight:800}.vs-demo-notice a.primary{background:#d9ff70;border-color:#d9ff70;color:#10271e}
.dynamic-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.dynamic-fields label{display:grid;gap:6px}.dynamic-fields label:has(textarea),.dynamic-fields .modal-check{grid-column:1/-1}.dynamic-fields input,.dynamic-fields select,.dynamic-fields textarea{min-width:0}.modal-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.modal-check input{width:18px!important}.card-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.card-actions .danger{width:auto;color:#942e23;background:#fff5f3;border-color:#e6b6af}.week-calendar{overflow-x:auto}.week-head,.week-row{min-width:980px;display:grid;grid-template-columns:64px repeat(6,minmax(135px,1fr));gap:8px}.week-head{padding:0 0 12px;border-bottom:1px solid var(--line);text-align:center;text-transform:capitalize}.week-row{min-height:104px;padding:11px 0;border-bottom:1px solid #eceae4}.week-row time{padding:10px 4px;color:var(--muted)}.week-row .booking,.week-row .available{padding:10px;border-radius:8px}.booking.milan{background:#edf3e9;border-left:4px solid #92ad5d}.booking.noah{background:#e9eff8;border-left:4px solid #789bc7}.booking small,.booking em{display:block;margin-top:4px}.booking em{font-style:normal;color:var(--muted);font-size:.76rem}.day-calendar{display:grid;gap:0}.day-slot{display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;align-items:stretch;padding:11px 0;border-bottom:1px solid #eceae4}.day-slot time{padding:13px 4px;color:var(--muted)}.day-slot .booking{padding:12px;border-radius:8px}.day-slot>button{min-height:58px;border:1px dashed #b8c0b9;border-radius:8px;background:#fafbf8;color:var(--muted);cursor:pointer}.date-switch strong{text-transform:capitalize;min-width:290px;text-align:center}
@media(max-width:760px){.has-vs-demo-notice{padding-bottom:135px}.vs-demo-notice{align-items:stretch;flex-direction:column;gap:9px}.vs-demo-notice p{align-items:flex-start;flex-direction:column;gap:2px}.vs-demo-notice nav{display:grid;grid-template-columns:1fr 1fr 1.2fr}.vs-demo-notice a{text-align:center;padding:8px}.dynamic-fields{grid-template-columns:1fr}.dynamic-fields label:has(textarea),.dynamic-fields .modal-check{grid-column:auto}.date-switch{width:100%;justify-content:space-between}.date-switch strong{min-width:0}.card-actions{grid-template-columns:1fr}}
