/* Module bestelportaal */
.m-bestelportaal { --bp-ink2: color-mix(in srgb, var(--accent) 70%, black); }
.m-bestelportaal .bp { display: grid; gap: 0; }

/* bovenbalk */
.m-bestelportaal .bp-top { display: flex; align-items: center; gap: 16px; padding: 14px 16px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; flex-wrap: wrap; }
.m-bestelportaal .bp-brand { display: flex; align-items: center; gap: 10px; }
.m-bestelportaal .bp-brand > div { display: grid; line-height: 1.25; }
.m-bestelportaal .bp-logo { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--accent); color: var(--accent-ink); font-weight: 800; letter-spacing: -.02em; }
.m-bestelportaal .bp-who { display: flex; align-items: center; gap: 10px; padding-right: 6px; }
.m-bestelportaal .bp-who > div { display: grid; line-height: 1.25; }
.m-bestelportaal .bp-avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-weight: 700; font-size: 13px; }
.m-bestelportaal .bp-avatar.is-admin { background: var(--ink); color: #fff; }
.m-bestelportaal .bp-tabs { background: var(--panel); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); padding: 0 10px; margin-bottom: 16px; }
.m-bestelportaal .bp-tabn { display: inline-grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px; margin-left: 7px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); font-size: 11px; }
.m-bestelportaal .bp-in { animation: bpIn .25s ease; }
@keyframes bpIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* thumbs */
.m-bestelportaal .bp-thumb, .bp-thumb { --h: 210; display: grid; place-items: center; aspect-ratio: 4 / 3; border-radius: 10px; background: radial-gradient(120% 100% at 30% 20%, hsl(var(--h) 55% 97%), hsl(var(--h) 38% 88%)); color: hsl(var(--h) 40% 32%); }
.m-bestelportaal .bp-thumb svg { width: 46%; height: auto; }
.m-bestelportaal .bp-thumb.is-sm { width: 52px; height: 52px; aspect-ratio: auto; border-radius: 10px; flex: none; }
.m-bestelportaal .bp-thumb.is-sm svg { width: 70%; }
.m-bestelportaal .bp-thumb.is-xs { width: 40px; height: 40px; aspect-ratio: auto; border-radius: 8px; flex: none; }
.m-bestelportaal .bp-thumb.is-xs svg { width: 72%; }

/* winkel */
.m-bestelportaal .bp-shop { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.m-bestelportaal .bp-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
.m-bestelportaal .bp-filters { display: grid; gap: 10px; }
.m-bestelportaal .bp-search { position: relative; display: block; }
.m-bestelportaal .bp-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); }
.m-bestelportaal .bp-search .input { padding-left: 40px; height: 44px; font-size: 15px; }
.m-bestelportaal .bp-cats { display: flex; gap: 6px; flex-wrap: wrap; }
.m-bestelportaal .bp-chip { border: 1px solid var(--line); background: var(--panel); padding: 6px 12px; border-radius: 999px; cursor: pointer; font-weight: 550; font-size: 13px; color: var(--muted); transition: all .15s; }
.m-bestelportaal .bp-chip:hover { color: var(--ink); border-color: #c9ced6; }
.m-bestelportaal .bp-chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.m-bestelportaal .bp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.m-bestelportaal .bp-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 12px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); transition: border-color .15s, transform .15s, box-shadow .15s; }
.m-bestelportaal .bp-card:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); transform: translateY(-1px); }
.m-bestelportaal .bp-card.is-pulse { animation: bpPulse .7s ease; }
@keyframes bpPulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
.m-bestelportaal .bp-new { position: absolute; top: 20px; left: 20px; background: var(--accent); color: var(--accent-ink); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: .02em; }
.m-bestelportaal .bp-info h4 { font-size: 14.5px; font-weight: 650; line-height: 1.3; margin: 2px 0 2px; }
.m-bestelportaal .bp-code { font-size: 11.5px; color: var(--muted); }
.m-bestelportaal .bp-pack { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; color: var(--ink); }
.m-bestelportaal .bp-pack svg { color: var(--muted); }
.m-bestelportaal .bp-price { display: grid; gap: 1px; margin-top: auto; }
.m-bestelportaal .bp-price b { font-size: 19px; letter-spacing: -.02em; }
.m-bestelportaal .bp-price-row { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.m-bestelportaal .bp-price s { color: var(--muted); font-size: 13px; }
.m-bestelportaal .bp-off { font-size: 11.5px; font-weight: 700; color: var(--ok); background: var(--ok-soft); padding: 1px 6px; border-radius: 99px; }
.m-bestelportaal .bp-card > .bp-thumb { aspect-ratio: 16 / 10; }
.m-bestelportaal .bp-stock { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; min-height: 22px; }
.m-bestelportaal .bp-incart { display: inline-flex; gap: 4px; align-items: center; font-size: 12px; font-weight: 600; color: var(--accent); }
.m-bestelportaal .bp-buy { display: flex; gap: 8px; align-items: center; }
.m-bestelportaal .bp-add { flex: 1; }
.m-bestelportaal .bp-step { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--panel); flex: none; }
.m-bestelportaal .bp-step button { border: 0; background: none; width: 30px; height: 32px; display: grid; place-items: center; cursor: pointer; color: var(--muted); }
.m-bestelportaal .bp-step button:hover { background: var(--panel-2); color: var(--ink); }
.m-bestelportaal .bp-step input { width: 38px; height: 32px; border: 0; border-left: 1px solid var(--line-2); border-right: 1px solid var(--line-2); text-align: center; font-weight: 650; -moz-appearance: textfield; appearance: textfield; background: transparent; }
.m-bestelportaal .bp-step input::-webkit-outer-spin-button, .m-bestelportaal .bp-step input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.m-bestelportaal .bp-step.is-sm button { width: 26px; height: 28px; }
.m-bestelportaal .bp-step.is-sm input { width: 34px; height: 28px; font-size: 13px; }

/* suggesties */
.m-bestelportaal .bp-sugg { border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, white), var(--panel) 70%); }
.m-bestelportaal .bp-sugg .card-head { align-items: flex-start; }
.m-bestelportaal .bp-sugg-ico, .m-bestelportaal .bp-cart-ico { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); flex: none; }
.m-bestelportaal .bp-sugg-list { display: grid; gap: 8px; }
.m-bestelportaal .bp-sugg-item { display: flex; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--panel); }
.m-bestelportaal .bp-sugg-item.is-urgent { border-color: color-mix(in srgb, var(--warn) 35%, var(--line)); }
.m-bestelportaal .bp-sugg-txt { display: grid; gap: 3px; flex: 1; min-width: 0; }
.m-bestelportaal .bp-sugg-item .btn { flex: none; }
.m-bestelportaal .bp-meter { height: 6px; border-radius: 99px; background: var(--line-2); overflow: hidden; margin-top: 3px; max-width: 360px; }
.m-bestelportaal .bp-meter i { display: block; height: 100%; background: var(--accent); border-radius: 99px; transition: width .4s; }
.m-bestelportaal .is-urgent .bp-meter i { background: var(--warn); }

/* mandje */
.m-bestelportaal .bp-cart { position: sticky; top: 112px; }
.m-bestelportaal .bp-cartcard { display: grid; gap: 12px; }
.m-bestelportaal .bp-cartcard .card-head { margin-bottom: 0; }
.m-bestelportaal .bp-cart-x { display: none; }
.m-bestelportaal .bp-cart-empty { display: grid; justify-items: center; gap: 4px; text-align: center; padding: 26px 10px; color: var(--muted); border: 1px dashed var(--line); border-radius: 10px; background: var(--panel-2); }
.m-bestelportaal .bp-cart-empty p { color: var(--ink); font-weight: 600; margin-top: 4px; }
.m-bestelportaal .bp-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; max-height: 360px; overflow: auto; }
.m-bestelportaal .bp-line { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line-2); animation: bpIn .25s ease; }
.m-bestelportaal .bp-line-main { display: grid; gap: 2px; flex: 1; min-width: 0; }
.m-bestelportaal .bp-line-main > b { font-size: 13.5px; line-height: 1.3; }
.m-bestelportaal .bp-line-row { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.m-bestelportaal .bp-short { color: var(--warn); font-weight: 550; }
.m-bestelportaal .bp-del { border: 0; background: none; cursor: pointer; color: var(--muted); padding: 4px; border-radius: 6px; display: grid; }
.m-bestelportaal .bp-del:hover { color: var(--bad); background: var(--bad-soft); }
.m-bestelportaal .bp-franco { display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; align-items: center; font-size: 13px; padding: 10px; background: var(--panel-2); border-radius: 9px; }
.m-bestelportaal .bp-franco svg { color: var(--accent); }
.m-bestelportaal .bp-franco .bp-meter { grid-column: 1 / -1; max-width: none; }
.m-bestelportaal .bp-sum { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; margin: 0; font-size: 13.5px; }
.m-bestelportaal .bp-sum dt { color: var(--muted); }
.m-bestelportaal .bp-sum dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.m-bestelportaal .bp-sum .bp-save { color: var(--ok); }
.m-bestelportaal .bp-sum .bp-tot { color: var(--ink); font-weight: 750; font-size: 17px; padding-top: 6px; border-top: 1px solid var(--line); margin-top: 4px; }
.m-bestelportaal .bp-cart-fields { display: grid; gap: 8px; }
.m-bestelportaal .bp-cart-foot { text-align: center; }
.m-bestelportaal .bp-notice { padding: 9px 11px; border-radius: 9px; font-size: 13px; line-height: 1.4; }
.m-bestelportaal .bp-notice-warn { background: var(--warn-soft); color: color-mix(in srgb, var(--warn) 70%, black); }
.m-bestelportaal .bp-notice-bad { background: var(--bad-soft); color: var(--bad); }
.m-bestelportaal .bp-fab, .m-bestelportaal .bp-scrim { display: none; }

/* bestellingen */
.m-bestelportaal .bp-orders { display: grid; gap: 12px; max-width: 980px; }
.m-bestelportaal .bp-orders-head { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; justify-content: space-between; }
.m-bestelportaal .bp-orders-head h3 { font-size: 17px; }
.m-bestelportaal .bp-mini-kpis { display: flex; gap: 18px; }
.m-bestelportaal .bp-mini-kpis div { display: grid; text-align: right; }
.m-bestelportaal .bp-mini-kpis b { font-size: 18px; }
.m-bestelportaal .bp-order { display: grid; gap: 12px; }
.m-bestelportaal .bp-order-top { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.m-bestelportaal .bp-order-top .badge { margin-left: 8px; }
.m-bestelportaal .bp-order-sum { display: grid; text-align: right; }
.m-bestelportaal .bp-order-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.m-bestelportaal .bp-ot { position: relative; }
.m-bestelportaal .bp-ot em { position: absolute; right: -5px; top: -5px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: var(--ink); color: #fff; font-style: normal; font-size: 10.5px; font-weight: 700; display: grid; place-items: center; }
.m-bestelportaal .bp-ot.is-gone { opacity: .45; }
.m-bestelportaal .bp-order-det summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--accent); }
.m-bestelportaal .bp-order-det .table-wrap { margin-top: 10px; }
.m-bestelportaal .bp-otot td { font-weight: 700; background: var(--panel-2); }
.m-bestelportaal .bp-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.m-bestelportaal .bp-track span { display: grid; gap: 5px; font-size: 11.5px; color: var(--muted); font-weight: 550; }
.m-bestelportaal .bp-track i { height: 5px; border-radius: 99px; background: var(--line-2); }
.m-bestelportaal .bp-track .is-done i { background: var(--accent); }
.m-bestelportaal .bp-track .is-cur { color: var(--ink); font-weight: 700; }

/* aanvragen */
.m-bestelportaal .bp-rma { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.m-bestelportaal .bp-rma-form .card-head { align-items: flex-start; }
.m-bestelportaal .bp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.m-bestelportaal .bp-span2 { grid-column: 1 / -1; }
.m-bestelportaal .is-invalid, .m-bestelportaal .bp-drop.is-invalid { border-color: var(--bad) !important; box-shadow: 0 0 0 3px var(--bad-soft); }
.m-bestelportaal .bp-drop { display: grid; place-items: center; min-height: 92px; border: 1.5px dashed var(--line); border-radius: 10px; background: var(--panel-2); cursor: pointer; color: var(--muted); text-align: center; padding: 8px; transition: border-color .15s, background .15s; overflow: hidden; }
.m-bestelportaal .bp-drop:hover, .m-bestelportaal .bp-drop.is-over { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.m-bestelportaal .bp-drop > span { display: grid; justify-items: center; gap: 4px; }
.m-bestelportaal .bp-drop img { max-height: 84px; border-radius: 6px; }
.m-bestelportaal .bp-link { border: 0; background: none; color: var(--accent); cursor: pointer; padding: 2px 0; text-align: left; font-weight: 600; }
.m-bestelportaal .bp-warranty { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.m-bestelportaal .bp-warranty:empty { display: none; }
.m-bestelportaal .bp-form-err { color: var(--bad); font-size: 13px; font-weight: 550; margin-top: 10px; }
.m-bestelportaal .bp-form-err:empty { display: none; }
.m-bestelportaal .bp-form-actions { margin-top: 14px; }
.m-bestelportaal .bp-rma-list { display: grid; gap: 12px; }
.m-bestelportaal .bp-rcard { display: grid; gap: 10px; }
.m-bestelportaal .bp-rcard.is-fresh { animation: bpPulse 1s ease; border-color: var(--accent); }
.m-bestelportaal .bp-rcard-top { display: flex; gap: 12px; align-items: flex-start; }
.m-bestelportaal .bp-rcard-main { display: grid; gap: 2px; min-width: 0; }
.m-bestelportaal .bp-rfoto { width: 74px; height: 56px; object-fit: cover; border-radius: 8px; flex: none; border: 1px solid var(--line); }
.m-bestelportaal .bp-rfoto.is-sm { width: 54px; height: 42px; }
.m-bestelportaal .bp-rprob { color: var(--ink); background: var(--panel-2); padding: 8px 10px; border-radius: 8px; }
.m-bestelportaal .bp-tl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.m-bestelportaal .bp-tl li { position: relative; display: grid; justify-items: center; text-align: center; gap: 2px; padding: 0 2px; }
.m-bestelportaal .bp-tl li::before { content: ''; position: absolute; top: 10px; left: -50%; right: 50%; height: 2px; background: var(--line); }
.m-bestelportaal .bp-tl li:first-child::before { display: none; }
.m-bestelportaal .bp-tl li.is-done::before { background: var(--accent); }
.m-bestelportaal .bp-tl i { position: relative; z-index: 1; width: 22px; height: 22px; border-radius: 50%; background: var(--panel); border: 2px solid var(--line); display: grid; place-items: center; color: #fff; }
.m-bestelportaal .bp-tl .is-done i { background: var(--accent); border-color: var(--accent); }
.m-bestelportaal .bp-tl .is-cur i { box-shadow: 0 0 0 5px var(--accent-soft); }
.m-bestelportaal .bp-tl .is-cur:not(:last-child) i::after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; }
.m-bestelportaal .bp-tl.is-rejected li:last-child i { background: var(--bad); border-color: var(--bad); box-shadow: 0 0 0 5px var(--bad-soft); }
.m-bestelportaal .bp-tl b { font-size: 12px; margin-top: 4px; }
.m-bestelportaal .bp-tl .small { font-size: 11px; }

/* beheerder */
.m-bestelportaal .bp-admin { display: grid; gap: 14px; }
.m-bestelportaal .bp-kpis .kpi { box-shadow: var(--shadow); }
.m-bestelportaal .bp-admin-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; align-items: start; }
.m-bestelportaal .bp-atable tbody tr { cursor: pointer; }
.m-bestelportaal .bp-atable tr.is-new td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.m-bestelportaal .bp-live { color: var(--accent); font-weight: 600; }
.m-bestelportaal .bp-st { width: auto; min-width: 150px; padding: 6px 9px; font-size: 13px; font-weight: 600; border-radius: 999px; }
.m-bestelportaal .bp-st-accent { background: var(--accent-soft); color: var(--accent); border-color: transparent; }
.m-bestelportaal .bp-st-warn { background: var(--warn-soft); color: color-mix(in srgb, var(--warn) 75%, black); border-color: transparent; }
.m-bestelportaal .bp-st-info { background: var(--info-soft); color: var(--info); border-color: transparent; }
.m-bestelportaal .bp-st-ok { background: var(--ok-soft); color: var(--ok); border-color: transparent; }
.m-bestelportaal .bp-low { display: grid; gap: 8px; }
.m-bestelportaal .bp-low .card-head { margin-bottom: 2px; }
.m-bestelportaal .bp-low-row { display: flex; gap: 10px; align-items: center; }
.m-bestelportaal .bp-low-row > div { display: grid; line-height: 1.3; min-width: 0; font-size: 13px; }
.m-bestelportaal .bp-low-note { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--line-2); }
.m-bestelportaal .bp-rgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.m-bestelportaal .bp-radmin { display: grid; gap: 10px; align-content: start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); transition: border-color .15s; }
.m-bestelportaal .bp-radmin.is-new { border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); box-shadow: inset 3px 0 0 var(--accent); }
.m-bestelportaal .bp-radmin-top { display: flex; gap: 10px; align-items: flex-start; }
.m-bestelportaal .bp-radmin-top > div { display: grid; gap: 1px; min-width: 0; }
.m-bestelportaal .bp-rdl { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin: 0; font-size: 12.5px; }
.m-bestelportaal .bp-rdl dt { color: var(--muted); }
.m-bestelportaal .bp-rdl dd { margin: 0; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; min-width: 0; }
.m-bestelportaal .bp-file { color: var(--accent); }
.m-bestelportaal .bp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.m-bestelportaal .bp-steps span { height: 5px; border-radius: 99px; background: var(--line-2); }
.m-bestelportaal .bp-steps .is-done { background: var(--accent); }
.m-bestelportaal .bp-radmin-act { margin-top: auto; }

/* modals */
.m-bestelportaal .bp-done { display: grid; justify-items: center; text-align: center; gap: 8px; padding: 8px 4px 4px; }
.m-bestelportaal .bp-done h4 { font-size: 18px; letter-spacing: -.01em; }
.m-bestelportaal .bp-done-ico { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--ok-soft); color: var(--ok); animation: bpPop .4s cubic-bezier(.2, 1.4, .4, 1); }
@keyframes bpPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.m-bestelportaal .bp-done-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: 100%; margin: 8px 0; }
.m-bestelportaal .bp-done-grid div { display: grid; gap: 2px; padding: 10px; border-radius: 10px; background: var(--panel-2); border: 1px solid var(--line-2); }
.m-bestelportaal .bp-omodal { display: grid; gap: 12px; }

/* responsief */
@media (max-width: 1100px) {
  .m-bestelportaal .bp-admin-grid { grid-template-columns: 1fr; }
  .m-bestelportaal .bp-rma { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .m-bestelportaal .bp-shop { grid-template-columns: minmax(0, 1fr); }
  .m-bestelportaal .bp-cart { position: fixed; top: 0; right: 0; bottom: 0; width: min(400px, 100%); z-index: 120; transform: translateX(105%); transition: transform .25s ease; overflow-y: auto; background: var(--bg); }
  .m-bestelportaal .bp-cart:not(.is-open) { visibility: hidden; transition: transform .25s ease, visibility 0s .25s; }
  .m-bestelportaal .bp-cart.is-open { transform: none; box-shadow: var(--shadow-lg); visibility: visible; }
  .m-bestelportaal .bp-cartcard { border-radius: 0; min-height: 100%; border: 0; }
  .m-bestelportaal .bp-cart-x { display: inline-flex; }
  .m-bestelportaal .bp-scrim { display: block; position: fixed; inset: 0; z-index: 110; background: rgba(15, 20, 28, .35); opacity: 0; pointer-events: none; transition: opacity .2s; }
  .m-bestelportaal .bp-shop.cart-open .bp-scrim, .m-bestelportaal .bp-cart.is-open + .bp-scrim { opacity: 1; pointer-events: auto; }
  .m-bestelportaal .bp-fab { display: inline-flex; position: fixed; right: 16px; bottom: 16px; z-index: 100; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 999px; border: 0; background: var(--accent); color: var(--accent-ink); font-weight: 650; box-shadow: var(--shadow-lg); cursor: pointer; }
  .m-bestelportaal .bp-fab.is-bump { animation: bpPop .35s ease; }
  .m-bestelportaal .bp-lines { max-height: none; }
}
@media (max-width: 600px) {
  .m-bestelportaal .bp-top { padding: 12px; gap: 10px; }
  .m-bestelportaal .bp-who { order: 3; width: 100%; padding-top: 8px; border-top: 1px solid var(--line-2); }
  .m-bestelportaal .bp-mode { margin-left: auto; }
  .m-bestelportaal .bp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .m-bestelportaal .bp-card { padding: 9px; gap: 7px; }
  .m-bestelportaal .bp-new { top: 15px; left: 15px; }
  .m-bestelportaal .bp-price b { font-size: 16px; }
  .m-bestelportaal .bp-price s { font-size: 12px; }
  .m-bestelportaal .bp-buy { flex-direction: column; align-items: stretch; }
  .m-bestelportaal .bp-step { justify-content: space-between; }
  .m-bestelportaal .bp-step input { flex: 1; }
  .m-bestelportaal .bp-sugg-item { flex-wrap: wrap; }
  .m-bestelportaal .bp-sugg-item .btn { width: 100%; }
  .m-bestelportaal .bp-form-grid { grid-template-columns: 1fr; }
  .m-bestelportaal .bp-form-grid > div:empty { display: none; }
  .m-bestelportaal .bp-done-grid { grid-template-columns: 1fr; }
  .m-bestelportaal .bp-order-top .btn { width: 100%; }
  .m-bestelportaal .bp-tl b { font-size: 11px; }
  .m-bestelportaal .bp-track span { font-size: 10.5px; }
  .m-bestelportaal .bp-mini-kpis div { text-align: left; }
  .m-bestelportaal .bp-rgrid { grid-template-columns: 1fr; }
  .m-bestelportaal .bp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .m-bestelportaal .bp-kpis .kpi { padding: 10px 12px; }
  .m-bestelportaal .bp-kpis .kpi-val { font-size: 20px; }
  .m-bestelportaal .bp-atable thead { display: none; }
  .m-bestelportaal .bp-atable tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 10px 12px; border-bottom: 1px solid var(--line-2); }
  .m-bestelportaal .bp-atable td { padding: 0; border: 0; }
  .m-bestelportaal .bp-atable td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .m-bestelportaal .bp-atable td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .m-bestelportaal .bp-atable td:nth-child(3) { display: none; }
  .m-bestelportaal .bp-atable td:nth-child(4) { grid-column: 2; grid-row: 1 / span 1; }
  .m-bestelportaal .bp-atable td:nth-child(5) { grid-column: 1 / -1; grid-row: 3; margin-top: 6px; }
  .m-bestelportaal .bp-atable tr.is-new td:first-child { box-shadow: none; }
  .m-bestelportaal .bp-atable tr.is-new { box-shadow: inset 3px 0 0 var(--accent); }
}
