:root{color-scheme:light}
*{box-sizing:border-box}
html{color-scheme:var(--scheme,light)}
body{margin:0;font:16px/1.45 var(--font-body);background:var(--bg);color:var(--tx)}
h1,h2,h3{font-family:var(--font-head);font-weight:700;letter-spacing:.01em}
a{color:var(--gt);text-decoration:none}a:hover{text-decoration:underline}
header.top{background:var(--hdr-bg);border-bottom:1px solid var(--hdr-bd);position:sticky;top:0;z-index:20}
.bar{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:8px 16px;flex-wrap:wrap}
.brand{font-family:var(--font-head);font-weight:700;font-size:23px;line-height:1;color:var(--hdr-accent);margin-right:8px;white-space:nowrap;display:flex;align-items:center;gap:9px;letter-spacing:.02em}
.brand:hover{text-decoration:none}
.logo{display:inline-block;width:32px;height:32px;flex:none}
.logo.mask{background:var(--hdr-accent);-webkit-mask:url(palm.png) center/contain no-repeat;mask:url(palm.png) center/contain no-repeat}
.logo.img{object-fit:contain;border-radius:6px}
nav{display:flex;gap:0;flex-wrap:wrap;flex:1}
nav a{padding:8px 7px;border-radius:calc(var(--r) * .66);color:var(--hdr-tx);font-weight:600;font-size:14.5px;white-space:nowrap}
nav a:hover{background:var(--hdr-hover);text-decoration:none}nav a.on{background:var(--g);color:var(--hdr-on)}
.who{font-size:13px;color:var(--hdr-mut);display:flex;gap:8px;white-space:nowrap;align-items:center}
.who a{color:var(--hdr-accent)}
main{max-width:1200px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:32px;margin:4px 0 16px}h2{font-size:23px;margin:0 0 12px}h3{font-size:18px;margin:0 0 8px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:18px;margin-bottom:18px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}
.stat{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:14px 16px;display:block;color:var(--tx)}
a.stat:hover{border-color:var(--g);text-decoration:none}
.stat b{display:block;font-size:30px;line-height:1.1;font-family:var(--font-head)}.stat span{color:var(--mut);font-size:13px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:10px 0 24px}
.tile{background:var(--card);border:1px solid var(--bd);border-radius:calc(var(--r) * 1.33);padding:26px 12px;text-align:center;font-weight:700;font-size:17px;color:var(--tx);display:block;letter-spacing:.03em}
.tile:hover,.tile:focus-visible,.tile.demo-hover{background:var(--g);color:var(--on-g);border-color:var(--g);box-shadow:0 4px 16px color-mix(in srgb,var(--g) 28%,transparent);text-decoration:none;outline:none}
.tile .ic{font-size:40px;display:block;margin-bottom:8px}
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);padding:8px 10px;border-bottom:2px solid var(--bd);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--bd);vertical-align:middle}
tr.click:hover{background:var(--gl);cursor:pointer}
.r{text-align:right}.mut{color:var(--mut)}.sm{font-size:13px}
.btn{display:inline-block;background:var(--g);color:var(--on-g);border:2px solid var(--g);border-radius:calc(var(--r) * .83);padding:9px 18px;font:inherit;font-weight:700;cursor:pointer;text-align:center;letter-spacing:.01em}
.btn:hover{background:var(--g2);border-color:var(--g2);text-decoration:none}
.btn.o{background:transparent;color:var(--gt);border:2px solid var(--gt)}.btn.o:hover{background:var(--gl)}
.btn.d{background:var(--err-btn);border-color:var(--err-btn);color:#fff}.btn.s{padding:5px 12px;font-size:14px}.btn.big{padding:15px 28px;font-size:18px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--input-bd);border-radius:calc(var(--r) * .75);background:var(--input-bg);color:var(--tx);width:100%}
input::placeholder,textarea::placeholder{color:var(--mut);opacity:.8}
input:focus,select:focus,textarea:focus{outline:2px solid var(--g);border-color:var(--g)}
input[type=checkbox],input[type=radio]{width:auto;transform:scale(1.25);margin-right:6px;accent-color:var(--g)}
input[type=color]{padding:2px;height:44px;cursor:pointer}
label{display:block;font-size:13px;font-weight:600;color:var(--mut);margin-bottom:4px}
.f{margin-bottom:12px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.chk{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--tx);font-weight:500;margin-bottom:8px}
.chk input{margin:0 8px 0 0}
.flash{padding:12px 16px;border-radius:calc(var(--r) * .83);margin-bottom:12px;font-weight:600}
.flash.ok{background:var(--ok-bg);color:var(--ok-tx)}.flash.err{background:var(--err-bg);color:var(--err-tx)}.flash.warn{background:var(--warn-bg);color:var(--warn-tx)}
.flash a{color:inherit;text-decoration:underline}
.flash a.btn{color:var(--on-g);text-decoration:none}.flash a.btn.o{color:var(--gt)}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;background:var(--gl);color:var(--gt)}
.pill.w{background:var(--warn-bg);color:var(--warn-tx)}.pill.e{background:var(--err-bg);color:var(--err-tx)}.pill.m{background:var(--chip);color:var(--mut)}
.search{display:flex;gap:10px;margin-bottom:16px}.search input{flex:1;font-size:18px;padding:14px}
.bigcredit{font-size:34px;font-weight:700;font-family:var(--font-head)}
.avatar{width:120px;height:120px;border-radius:var(--r);object-fit:cover;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:44px;color:var(--gt);font-weight:700;font-family:var(--font-head)}
.head{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.meter{height:10px;border-radius:5px;background:var(--meter);overflow:hidden;margin:4px 0 2px}.meter i{display:block;height:100%;background:var(--g)}.meter.hot i{background:var(--warn)}.meter.full i{background:var(--err)}
.prod{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--bd)}
.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:46px;height:46px;border-radius:calc(var(--r) * .83);border:2px solid var(--gt);background:var(--card);color:var(--gt);font-size:22px;font-weight:800;cursor:pointer}
.stepper button:active{background:var(--gl)}.stepper input{width:84px;text-align:center;font-size:20px;font-weight:700;padding:10px 4px}
.cart{position:sticky;bottom:0;background:var(--card);border-top:3px solid var(--g);padding:14px 18px;margin:0 -18px -18px;border-radius:0 0 var(--r) var(--r);display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cart .tot{font-size:30px;font-weight:700;font-family:var(--font-head)}
/* schakelbalk Verstrekking / Bar */
.seg{display:inline-flex;background:var(--card);border:1px solid var(--bd);border-radius:99px;padding:4px;gap:4px;margin:0 0 14px}
.seg a{padding:9px 22px;border-radius:99px;font-weight:700;color:var(--tx);font-size:16px;white-space:nowrap}
.seg a:hover{background:var(--gl);text-decoration:none}
.seg a.on{background:var(--g);color:var(--on-g);cursor:default}
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.login{max-width:400px;margin:8vh auto}
.login .card{padding:28px}
.langrow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--bd)}
.langrow button{background:transparent;border:1px solid var(--bd);color:var(--tx);border-radius:99px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.langrow button:hover{border-color:var(--gt)}
.langrow button.on{background:var(--g);color:var(--on-g);border-color:var(--g)}
.login .logo-big{display:block;margin:0 auto 6px;width:84px;height:84px}
.sugg-box{background:var(--card);border:1px solid var(--bd);border-radius:calc(var(--r) * .83);box-shadow:var(--shadow)}
.modal-bg{background:rgba(0,0,0,.72)}
footer{text-align:center;color:var(--mut);font-size:12px;padding:20px}
.themepick{display:inline-flex;gap:6px;align-items:center;margin-left:10px}
.themepick select{width:auto;padding:3px 8px;font-size:12px;border-radius:99px}
.themepick label{margin:0;font-size:12px}
/* thema-kiezer in Beheer */
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:10px 0 18px}
.themeopt{position:relative;border:2px solid var(--bd);border-radius:var(--r);padding:12px;cursor:pointer;background:var(--card);display:block;margin:0;color:var(--tx)}
.themeopt:hover{border-color:var(--gt)}
.themeopt input{position:absolute;opacity:0;pointer-events:none}
.themeopt.sel{border-color:var(--g);box-shadow:0 0 0 2px var(--g)}
.themeopt .sw{height:62px;border-radius:calc(var(--r) * .66);margin-bottom:9px;display:flex;overflow:hidden;border:1px solid rgba(128,128,128,.3)}
.themeopt .sw i{flex:1}
.themeopt b{display:block;font-size:15px;color:var(--tx)}.themeopt span{font-size:12px;color:var(--mut);font-weight:500}
.logoprev{width:64px;height:64px;border-radius:var(--r);background:var(--hdr-bg);display:flex;align-items:center;justify-content:center}
.logoprev .logo{width:44px;height:44px}
/* live lid-suggesties */
.mswrap{position:relative;flex:1;min-width:0}
.msbox{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;background:var(--card);border:1px solid var(--bd);border-radius:calc(var(--r) * .83);box-shadow:var(--shadow);max-height:420px;overflow:auto}
.msitem{display:flex;align-items:center;gap:12px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--bd)}
.msitem:last-child{border-bottom:0}
.msitem.on{background:var(--gl)}
.msav{width:38px;height:38px;border-radius:50%;object-fit:cover;background:var(--gl);color:var(--gt);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none}
.mstext{flex:1;min-width:0}.mstext b{display:block;font-size:16px;color:var(--tx)}.mstext span{font-size:13px;color:var(--mut)}
.msempty{padding:14px;color:var(--mut)}
.bigsearch{display:flex;gap:10px;margin:0 0 18px}
.bigsearch input{font-size:20px;padding:15px 16px}
@media(max-width:700px){nav a{padding:7px 9px;font-size:14px}.who span{display:none}h1{font-size:26px}.tile{padding:20px 8px}}
@media print{header.top,.btn,nav,footer{display:none}body{background:#fff;color:#000}}
