/* Nova customer shell v2 (desktop sidebar + header; the phone keeps the bottom tab bar). Loaded for signed-in customers only; the operator shell is untouched. */
body.nv .nv-wrap{display:flex;min-height:100vh}
body.nv .nv-wrap>.main{flex:1;min-width:0}
.nv-side{display:none}
body.nv main{max-width:1100px;margin:0 auto;width:100%}
body.nv.pg-handel main,body.nv.pg-overzicht main{max-width:1560px}
body.nv.app.cust{padding-bottom:150px}
.nv-top{gap:.8rem;flex-wrap:wrap}
.nv-top .nv-ttl{flex:1;min-width:0;gap:.8rem}
.nv-top .nv-t{display:grid;min-width:0}
.nv-top h1{font-size:1.15rem;font-weight:800}
.nv-sub{display:none;margin:0;color:var(--mut);font-size:.9rem}
.nv-tools{display:flex;align-items:center;gap:.5rem}
.nv-tools form{margin:0}
.nv-seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:3px;gap:2px}
.nv-seg>*{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border-radius:11px;font-weight:700;font-size:.8rem;color:var(--mut);white-space:nowrap}
.nv-seg>a:hover{text-decoration:none;color:var(--fg)}
.nv-seg .on{background:linear-gradient(90deg,var(--navon1),var(--segon));color:var(--acc)}
.nv-seg svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nv-tier{display:none;font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--acc);background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.5);border-radius:10px;padding:.25rem .65rem}
.nv-tier:hover{text-decoration:none}
.nv-ava{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#0B1220;font-weight:800}
.nv-ava:hover{text-decoration:none}
.nv-out{min-height:34px;gap:.4rem}.nv-out svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* kill switch: fixed bar above the tab bar on phones, in the sidebar on desktop */
.nv-top .nv-wm{flex:none}
.nv-killm{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:29;padding:0 .8rem}
.nv-killm form{margin:0}
.nv-kill{width:100%;display:grid;gap:0;background:var(--bad);border-color:var(--bad);color:#fff;border-radius:14px;padding:.6rem;min-height:48px;box-shadow:0 8px 24px rgba(246,70,93,.4)}
.nv-kill b{letter-spacing:.06em;font-weight:800;font-size:.95rem}
.nv-kill small{color:#fff;opacity:.92;font-size:.72rem}
.nv-kill:disabled{opacity:.75;cursor:not-allowed}
.nv-kill:hover{border-color:#fff}
.nv-modalbg{position:fixed;inset:0;background:rgba(5,9,18,.72);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}
.nv-modal{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.2rem;max-width:420px;width:100%;display:grid;gap:.6rem}
.nv-modal h3{font-size:1.1rem;margin:0}.nv-modal p{margin:0;color:var(--mut)}
.nv-modal-btns{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.4rem}.nv-modal-btns .btn{min-width:110px}
@media(max-width:899px){
 .nv-top{display:grid;grid-template-columns:auto 1fr;align-items:center}
 .nv-top .nv-wm{grid-column:1}
 .nv-top .nv-tools{grid-column:2;justify-self:end}
 .nv-top .nv-ttl{grid-column:1/-1;order:3}
 body.nv.pg-handel .nv-top .nv-ttl{display:none}
 .nv-out span{display:none}.nv-out{width:34px;padding:0}
 .nv-seg>*{padding:.3rem .6rem}
}
@media(min-width:900px){
 body.nv.app.cust{padding-bottom:0}
 .nv-side{display:flex;flex-direction:column;gap:6px;width:236px;flex:none;padding:22px 16px;border-right:1px solid var(--line);background:var(--bg2);position:sticky;top:0;height:100vh;overflow:auto}
 .nv-brand{display:flex;align-items:center;gap:.7rem;color:var(--fg);font-weight:800;font-size:1.35rem;margin:0 0 1.2rem .3rem}
 .nv-brand:hover{text-decoration:none}
 .nv-brand img{border-radius:0;box-shadow:none}
 .nv-side nav{display:grid;gap:.25rem}
 .nv-side nav a{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;border-radius:14px;color:var(--mut);font-weight:600;border:1px solid transparent}
 .nv-side nav a:hover{text-decoration:none;color:var(--fg);background:var(--card)}
 .nv-side nav a.on{background:linear-gradient(90deg,var(--navon1),var(--navon2));color:var(--acc);border-color:var(--purplebg)}
 .nv-side nav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .nv-grow{flex:1}
 .nv-mode{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:.7rem .9rem;display:grid;gap:.1rem}
 .nv-mode small{color:var(--mut);font-size:.72rem}.nv-mode b{color:var(--acc);font-size:1rem}
 .nv-mode .lockline{display:flex;align-items:center;gap:.35rem}.nv-mode .lockline svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .nv-side .nv-killf{margin:0}
 body.nv .tabbar{display:none}
 .nv-killm{display:none}
 .nv-top{padding:1rem 1.75rem;flex-wrap:nowrap}
 .nv-top .nv-wm{display:none}
 .nv-top h1{font-size:1.75rem}
 .nv-sub{display:block}
 .nv-tier{display:inline-block}
 body.nv main{padding:1.1rem 1.75rem 1.6rem}
}
.nv-new{font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.06em;color:var(--acc);background:color-mix(in srgb,var(--acc2) 22%,transparent);border:1px solid color-mix(in srgb,var(--acc2) 60%,transparent);padding:1px 6px;border-radius:8px;margin-left:auto}
