:root{
  --inkt:#1F2B37; --papier:#fff; --vlak:#F2F3F1; --lijn:#DCDFDA; --grijs:#5E6872;
  --kraft:#B0814E; --groen:#2E7656; --rood:#A63D32; --focus:#2F6FB3;
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--vlak);color:var(--inkt);font-size:16px;line-height:1.5}
[hidden]{display:none!important}

.kop{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,2.5rem);background:var(--inkt);color:#fff}
.merk{display:flex;flex-direction:column;line-height:1.2}
.merk-naam{font-weight:750;font-stretch:118%;letter-spacing:-.01em;font-size:1.05rem}
.merk-sub{color:#B9C2CB;font-size:.85rem}
.kop-rechts{display:flex;align-items:center;gap:1rem;font-size:.9rem;text-align:right}
.kop .link{color:#fff}

main{max-width:64rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem) 4rem}
.smal{max-width:26rem;margin-inline:auto}
h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:780;font-stretch:115%;line-height:1.1;letter-spacing:-.015em;margin:0 0 .5rem}
h2{font-size:1.15rem;font-weight:720;font-stretch:110%;margin:2.25rem 0 .75rem}
.intro{color:var(--grijs);margin:0 0 1.75rem}
.stil{color:var(--grijs)} .klein{font-size:.85rem}

.tabs{display:flex;border-bottom:1px solid var(--lijn);margin-bottom:1.25rem}
.tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:.7rem 0;font:inherit;font-weight:600;color:var(--grijs);cursor:pointer}
.tabs button[aria-selected=true]{color:var(--inkt);border-color:var(--kraft)}

.formulier{display:grid;gap:1rem}
label{display:grid;gap:.35rem;font-weight:600;font-size:.92rem}
.optioneel{font-weight:400;color:var(--grijs)}
input{font:inherit;font-weight:400;padding:.7rem .8rem;border:1px solid var(--lijn);border-radius:6px;background:#fff;color:var(--inkt);width:100%}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.knop{font:inherit;font-weight:650;background:var(--inkt);color:#fff;border:1px solid var(--inkt);border-radius:6px;padding:.75rem 1.1rem;cursor:pointer;display:inline-block;text-decoration:none;white-space:nowrap}
.knop:hover{background:#2C3B4A}
.knop.tweede{background:transparent;color:var(--inkt)}
.knop.tweede:hover{background:#fff}
.knop.gevaar{background:transparent;color:var(--rood);border-color:currentColor}
.knop.klein{padding:.45rem .8rem;font-size:.9rem}
.knop:disabled{opacity:.55;cursor:wait}
.link{background:none;border:0;padding:0;font:inherit;color:var(--inkt);text-decoration:underline;text-underline-offset:3px;cursor:pointer;justify-self:start}
.melding{min-height:1.5em;margin:1rem 0 0;color:var(--rood);font-size:.92rem}
.melding.ok{color:var(--groen)}

.statuskaart{background:#fff;border:1px solid var(--lijn);border-radius:8px;padding:clamp(1.25rem,4vw,2rem)}
.statuskaart h1{font-size:1.6rem}
.acties{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}

/* Werkorders */
.overzicht-kop{margin-bottom:1.5rem}
.balk{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:1rem}
.filters{display:inline-flex;background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:3px}
.filters button{border:0;background:none;font:inherit;font-weight:600;font-size:.92rem;padding:.45rem .9rem;border-radius:4px;color:var(--grijs);cursor:pointer}
.filters button[aria-selected=true]{background:var(--inkt);color:#fff}
.tel{font-weight:400;opacity:.75;margin-left:.25rem;font-variant-numeric:tabular-nums}
#zoek{max-width:20rem}
.orders{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.order{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft);border-radius:6px;padding:1.1rem 1.25rem 1.2rem}
.order.klaar{border-left-color:var(--groen)}
.order-hoofd{display:grid;grid-template-columns:1fr auto;gap:.75rem 2rem;align-items:start}
.nr{font-weight:750;font-stretch:112%;font-size:1.05rem;font-variant-numeric:tabular-nums}
.art{display:block;margin-top:.1rem}
.code{display:block;color:var(--grijs);font-size:.85rem}
.cijfers{display:flex;gap:2rem;margin:0;text-align:right}
.cijfers dt{color:var(--grijs);font-size:.8rem}
.cijfers dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.eenheid{font-weight:400;color:var(--grijs)}

/* De statusbalk: elke stap is een strook; tijdens productie vult de strook zich met het gereed aantal */
.stappen{list-style:none;display:flex;gap:3px;margin:1.1rem 0 0;padding:0;font-size:.82rem;color:var(--grijs)}
.stappen li{flex:1;padding-top:.75rem;position:relative}
.stappen li::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;border-radius:1px;background:var(--lijn)}
.stappen li.gedaan,.stappen li.nu{color:var(--inkt)}
.stappen li.nu{font-weight:700}
.stappen li.gedaan::before,.stappen li.nu::before{background:var(--kraft)}
.stappen li.nu[style]::before{background:linear-gradient(90deg,var(--kraft) var(--p),var(--lijn) var(--p))}
.order.klaar .stappen li::before{background:var(--groen)}
.pct{font-weight:400;color:var(--grijs);font-variant-numeric:tabular-nums}
.leeg{background:#fff;border:1px dashed var(--lijn);border-radius:6px;padding:2rem;text-align:center;color:var(--grijs)}

/* Beheer */
.gebruikers{display:grid;gap:.75rem}
.gebruiker{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:1.1rem 1.25rem}
.g-kop{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.g-kop strong{font-size:1.05rem}
.badge{display:inline-block;font-size:.78rem;font-weight:650;padding:.1rem .55rem;border-radius:99px;margin-left:.4rem;vertical-align:.1em}
.badge.wachtend{background:#F6E9D7;color:#7A5426}
.badge.goedgekeurd{background:#DDEEE5;color:var(--groen)}
.badge.geblokkeerd{background:#F4DEDB;color:var(--rood)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 .6rem}
.chip{display:inline-flex;align-items:center;gap:.2rem;background:var(--vlak);border:1px solid var(--lijn);border-radius:99px;padding:.15rem .25rem .15rem .7rem;font-size:.88rem}
.chip button{border:0;background:none;cursor:pointer;font-size:1.05rem;line-height:1;padding:.15rem .4rem;border-radius:99px;color:var(--grijs)}
.koppel{display:flex;gap:.5rem;max-width:30rem}
.koppel input{padding:.45rem .7rem}
/* Zoeklijst klantnamen (/beheer) */
.kz{position:relative;flex:1;min-width:0}
.kz input{width:100%}
.kz-lijst{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 2px);margin:0;padding:.25rem 0;list-style:none;background:#fff;
  border:1px solid #cbd5e1;border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:16rem;overflow:auto;font-size:.9rem}
.kz-lijst li{padding:.4rem .7rem;cursor:pointer}
.kz-lijst li .stil{margin-left:.15rem}
.kz-lijst li.actief,.kz-lijst li[data-naam]:hover{background:#eef4ec}
.kz-lijst .kz-leeg{cursor:default}
.gebruiker .acties{margin-top:1rem}
.gebruiker .melding{margin-top:.5rem;min-height:0}
.google{display:inline-flex;align-items:center;gap:.6rem}

@media (max-width:640px){
  .order-hoofd{grid-template-columns:1fr}
  .cijfers{text-align:left;gap:1.5rem}
  #zoek{max-width:none}
  .balk{flex-direction:column;align-items:stretch}
  .stappen{font-size:.74rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Verkooporders */
.vo{padding:0}
.vo summary{list-style:none;cursor:pointer;padding:1.1rem 1.25rem 1rem}
.vo summary::-webkit-details-marker{display:none}
.vo summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.vo-onder{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem}
.vo-status{font-size:.8rem;font-weight:650;padding:.15rem .6rem;border-radius:99px;background:#F6E9D7;color:#7A5426}
.vo-status.deels{background:#E3ECF6;color:#2B5A88}
.vo-status.geleverd{background:#DDEEE5;color:var(--groen)}
.vo-status.geannuleerd{background:var(--vlak);color:var(--grijs)}
.uitklap{font-size:.88rem;text-decoration:underline;text-underline-offset:3px}
.uitklap .verberg,details[open] .uitklap .toon{display:none}
details[open] .uitklap .verberg{display:inline}
.regels{list-style:none;margin:0;padding:0 1.25rem 1rem;border-top:1px solid var(--lijn)}
.regel{padding:1rem 0;border-bottom:1px solid var(--lijn)}
.regel:last-child{border-bottom:0}
.regel-kop{display:flex;justify-content:space-between;gap:1rem}
.regel-naam{font-weight:600;display:block}
.regel-bedrag{font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.regel-cijfers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem 1rem;margin:.6rem 0 0}
.regel-cijfers dt{color:var(--grijs);font-size:.78rem}
.regel-cijfers dd{margin:0;font-variant-numeric:tabular-nums;font-size:.92rem}
.regel .stappen{margin-top:.8rem}
@media (max-width:640px){.regel-cijfers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Werkorder onder een orderregel */
.wo{margin-top:.8rem;padding:.75rem .9rem;background:var(--vlak);border-radius:6px}
.wo-kop{display:flex;justify-content:space-between;gap:1rem;font-weight:600;font-size:.9rem}
.wo-kop .stil{font-weight:400;font-variant-numeric:tabular-nums}
.wo-cijfers{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:.4rem}
.wo .stappen{margin-top:.6rem}

/* Medewerkers: alle klanten gegroepeerd */
.overzicht-kop{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.medewerker-login{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--lijn);display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
#klantFilter{font:inherit;padding:.6rem .7rem;border:1px solid var(--lijn);border-radius:6px;background:#fff;color:var(--inkt);max-width:18rem}
.balk{gap:.75rem}
.klantgroep{list-style:none}
.klantgroep>details{background:#fff;border:1px solid var(--lijn);border-radius:6px}
.klantgroep>details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;flex-wrap:wrap;padding:1rem 1.25rem}
.klantgroep>details>summary::-webkit-details-marker{display:none}
.klantgroep>details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.kg-naam{font-weight:720;font-stretch:110%;font-size:1.1rem}
.kg-naam::before{content:"▸";display:inline-block;width:1.1em;color:var(--grijs)}
.klantgroep>details[open]>summary .kg-naam::before{content:"▾"}
.kg-info{color:var(--grijs);font-size:.9rem;font-variant-numeric:tabular-nums}
.klantgroep .orders{padding:0 1rem 1rem}
.klantgroep .order{background:#fff}
@media (max-width:640px){#klantFilter{max-width:none}}

/* Privacy en activiteit */
.vinkje{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;font-size:.9rem}
.vinkje input{width:auto;margin-top:.2rem;accent-color:var(--inkt)}
.voet{max-width:64rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) 2.5rem;font-size:.85rem}
.voet a,.stil a{color:inherit}
.act-regel{margin:.6rem 0 0}
.act-regel .link{font-size:inherit;margin-left:.3rem}
.tabel-wrap{overflow-x:auto;background:#fff;border:1px solid var(--lijn);border-radius:6px}
table.act{width:100%;border-collapse:collapse;font-size:.9rem}
table.act th{text-align:left;font-weight:600;color:var(--grijs);font-size:.8rem;padding:.6rem .8rem;border-bottom:1px solid var(--lijn);white-space:nowrap}
table.act td{padding:.6rem .8rem;border-bottom:1px solid var(--vlak);vertical-align:top}
table.act td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}
table.act td .klein{display:block}
#actPersoon,#actType{font:inherit;padding:.55rem .7rem;border:1px solid var(--lijn);border-radius:6px;background:#fff;color:var(--inkt);max-width:100%}
.privacy h2{margin-top:2rem}
.privacy p,.privacy li{max-width:44rem}
.invullen{background:#F6E9D7;padding:0 .25rem;border-radius:3px}

/* ================================================================
   Huisstijl van BPC Labels (slate + blauw, systeemlettertype)
   ================================================================ */
:root{
  --inkt:#0f172a; --vlak:#f8fafc; --lijn:#e2e8f0; --grijs:#64748b;
  --kraft:#2563eb; --groen:#059669; --rood:#dc2626; --focus:#3b82f6;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
body{background:#f8fafc;color:#1e293b}
body.donker{background:#0f172a}
body.donker .kop{display:none}
body.donker .voet a{color:#94a3b8}
h1,h2,.nr,.kg-naam,.merk-naam{font-stretch:100%}
h1{font-weight:700;letter-spacing:-.02em;color:#0f172a}
h2{font-weight:700;color:#0f172a}

/* Kop */
.kop{background:#0f172a;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);padding:1.25rem clamp(1rem,4vw,2.5rem);margin-bottom:.5rem}
.merk{flex-direction:row;align-items:center;gap:.75rem}
.merk-tekst{display:flex;flex-direction:column}
.merk-icoon{background:#2563eb;border-radius:.75rem;padding:.6rem;display:flex;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}
.merk-icoon svg{width:1.6rem;height:1.6rem;color:#fff}
.merk-naam{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}
.merk-sub{color:#94a3b8;font-size:.75rem;margin-top:.15rem}
.kop .link{background:#1e293b;border:1px solid #334155;color:#e2e8f0;text-decoration:none;padding:.5rem .85rem;border-radius:.75rem;font-weight:600;font-size:.8rem}
.kop .link:hover{background:#334155}
.kop-rechts{color:#cbd5e1;font-size:.8rem}

/* Aanmeldscherm zoals BPC Labels: witte kaart op donkere achtergrond */
.loginkaart{background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.35);padding:2rem;margin-top:8vh}
.loginkaart h1{font-size:1.4rem;text-align:center;margin-top:1rem}
.loginkaart .intro{text-align:center;font-size:.85rem}
.login-icoon{margin:0 auto;background:#2563eb;width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}
.login-icoon svg{width:2rem;height:2rem;color:#fff}
.google-knop{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;border:1px solid #cbd5e1;background:#fff;border-radius:.75rem;padding:.65rem 1rem;font:inherit;font-size:.9rem;font-weight:600;color:#1e293b;cursor:pointer;transition:background .15s}
.google-knop:hover{background:#f8fafc}
.medewerker-login{flex-direction:column;align-items:stretch;gap:.6rem;text-align:center}

/* Knoppen en velden */
.knop{border-radius:.75rem;background:#2563eb;border-color:#2563eb;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.knop:hover{background:#1d4ed8}
.knop.tweede{background:#fff;color:#1e293b;border-color:#cbd5e1}
.knop.tweede:hover{background:#f8fafc}
.knop.gevaar{background:#fff;color:#dc2626;border-color:#fecaca}
.knop.gevaar:hover{background:#fef2f2}
input,#klantFilter,#actPersoon,#actType{border-radius:.75rem;border-color:#cbd5e1}
input:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 2px #3b82f6;border-color:#3b82f6}
.link{color:#2563eb}
.tabs button[aria-selected=true]{color:#2563eb;border-color:#2563eb}

/* Segmentknoppen zoals 'Soort etiket' */
.filters{background:#f1f5f9;border:none;border-radius:.75rem;padding:.375rem}
.filters button{border-radius:.5rem;font-size:.8rem;font-weight:700}
.filters button[aria-selected=true]{background:#fff;color:#2563eb;box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* Kaarten */
.order,.gebruiker,.statuskaart,.klantgroep>details,.tabel-wrap,.leeg{border-radius:1rem;border-color:#e2e8f0;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.order{border-left:4px solid #2563eb}
.order.klaar{border-left-color:#059669}
.klantgroep .order{box-shadow:none}
.wo{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem}
.vo-status{background:#fef3c7;color:#92400e}
.vo-status.deels{background:#dbeafe;color:#1d4ed8}
.vo-status.geleverd{background:#d1fae5;color:#047857}
.vo-status.geannuleerd{background:#f1f5f9;color:#64748b}
.badge.wachtend{background:#fef3c7;color:#92400e}
.badge.goedgekeurd{background:#d1fae5;color:#047857}
.badge.geblokkeerd{background:#fee2e2;color:#b91c1c}
.order.klaar .stappen li::before{background:#059669}

/* Taalkeuze NL | FR */
.taalkeuze{display:inline-flex;background:#1e293b;border:1px solid #334155;border-radius:.6rem;padding:2px}
.taalkeuze button{border:0;background:none;color:#94a3b8;font:inherit;font-size:.75rem;font-weight:700;padding:.3rem .55rem;border-radius:.45rem;cursor:pointer}
.taalkeuze button[aria-pressed=true]{background:#2563eb;color:#fff}
.taalkeuze.los{float:right;background:#f1f5f9;border-color:#e2e8f0;margin:-.75rem -.75rem 0 0}
.taalkeuze.los button{color:#64748b}
.taalkeuze.los button[aria-pressed=true]{background:#fff;color:#2563eb;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.kop-rechts{gap:.75rem}
#kopGebruiker{display:inline-flex;align-items:center;gap:.75rem}
#kopGebruiker[hidden]{display:none}

/* ================================================================
   Huisstijl Belgian Paper Convertors: logo en groen (#326028)
   ================================================================ */
:root{
  --bpc:#326028; --bpc-donker:#24461d; --bpc-licht:#eaf1e7; --bpc-zacht:#7fae6f;
  --kraft:#326028; --groen:#7fae6f; --focus:#326028;
}
/* Kop: wit met groen logo en een groene lijn eronder */
.kop{background:#fff;color:#1e293b;border-bottom:3px solid var(--bpc);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.merk{gap:1rem;align-items:center}
.merk-logo{display:flex;color:var(--bpc)}
.merk-logo svg{height:2.6rem;width:auto}
.merk-sub{color:#64748b;font-size:.8rem;font-weight:600;padding-left:1rem;border-left:1px solid #e2e8f0;margin:0}
.kop-rechts{color:#475569}
.kop .link{background:#fff;border:1px solid #cbd5e1;color:#1e293b}
.kop .link{white-space:nowrap}
@media (max-width:860px){.kop-rechts .link + #kopNaam{display:none}}
.kop .link:hover{background:var(--bpc-licht)}
.taalkeuze{background:#f1f5f9;border-color:#e2e8f0}
.taalkeuze button{color:#64748b}
.taalkeuze button[aria-pressed=true]{background:var(--bpc);color:#fff}
.taalkeuze.los button[aria-pressed=true]{background:#fff;color:var(--bpc)}
@media (max-width:640px){.merk-logo svg{height:2rem}.merk-sub{display:none}}

/* Aanmeldscherm: logo op witte kaart, donkergroene achtergrond */
body.donker{background:var(--bpc-donker)}
.login-logo{display:flex;justify-content:center;color:var(--bpc);margin:.5rem 0 .25rem}
.login-logo svg{height:3.2rem;width:auto}
.loginkaart h1{font-size:1.15rem;color:#64748b;font-weight:600;margin-top:.5rem}

/* Accentkleur groen in plaats van blauw */
.knop{background:var(--bpc);border-color:var(--bpc)}
.knop:hover{background:var(--bpc-donker)}
.knop.tweede{background:#fff;color:#1e293b;border-color:#cbd5e1}
.knop.tweede:hover{background:var(--bpc-licht)}
.link{color:var(--bpc)}
.tabs button[aria-selected=true]{color:var(--bpc);border-color:var(--bpc)}
.filters button[aria-selected=true]{color:var(--bpc)}
input:focus-visible,select:focus-visible{box-shadow:0 0 0 2px var(--bpc);border-color:var(--bpc)}
.vinkje input{accent-color:var(--bpc)}
.order{border-left-color:var(--bpc)}
.order.klaar{border-left-color:var(--bpc-zacht)}
.stappen li.gedaan::before,.stappen li.nu::before{background:var(--bpc)}
.stappen li.nu[style]::before{background:linear-gradient(90deg,var(--bpc) var(--p),var(--lijn) var(--p))}
.order.klaar .stappen li::before{background:var(--bpc-zacht)}
.vo-status.geleverd,.badge.goedgekeurd{background:var(--bpc-licht);color:var(--bpc)}
.kg-naam::before{color:var(--bpc)}
.voet a{color:#64748b}
.voet .cookie-instellingen{color:#64748b;font-size:inherit}
body.donker .voet a,body.donker .voet .cookie-instellingen{color:#c7d6c1}
.loginkaart{position:relative}
.taalkeuze.los{position:absolute;top:1rem;right:1rem;float:none;margin:0}
.login-logo{margin-top:1.5rem}

/* Werkorderstatus: elke stap een eigen kleur (Ongepland grijs, Ingepland blauw, In productie oranje, Gereed groen) */
.stappen li{--k:#94a3b8;--kt:#64748b}
.stappen li.s-ingepland{--k:#2563eb;--kt:#1d4ed8}
.stappen li.s-productie{--k:#ea8a0c;--kt:#b45309}
.stappen li.s-gereed{--k:#16a34a;--kt:#15803d}
.stappen li.gedaan::before,.stappen li.nu::before,
.order.klaar .stappen li.gedaan::before,.order.klaar .stappen li.nu::before{background:var(--k)}
.stappen li.nu[style]::before{background:linear-gradient(90deg,var(--k) var(--p),var(--lijn) var(--p))}
.order.klaar .stappen li:not(.gedaan):not(.nu)::before{background:var(--lijn)}
.stappen li.nu{color:var(--kt)}

/* Gsm: kop compact houden (logo, taalkeuze en afmelden passen op één rij) */
@media (max-width:640px){
  .kop{padding:.75rem 1rem;gap:.5rem}
  .merk-logo svg{height:1.7rem}
  #kopNaam{display:none}
  .kop-rechts{gap:.5rem}
  .kop .link{padding:.4rem .6rem;font-size:.75rem}
  .taalkeuze button{padding:.25rem .45rem}
}

/* Beheer: weergavenaam */
.weergave{display:block;margin-top:.8rem;font-size:.85rem;font-weight:600;color:#475569}
.weergave .koppel{margin-top:.35rem}

/* ================================================================
   Tabbladen Bestellingen | Catalogus, prijstabellen en rekentool
   ================================================================ */
.hoofdtabs{display:flex;gap:1.5rem;border-bottom:1px solid var(--lijn);margin:-.5rem 0 1.75rem}
.hoofdtabs button{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:.6rem .1rem;font:inherit;font-weight:650;color:var(--grijs);cursor:pointer}
.hoofdtabs button:hover{color:var(--inkt)}
.hoofdtabs button[aria-selected=true]{color:var(--bpc);border-color:var(--bpc)}
.hoofdtabs .tab-link{position:relative;border-bottom:3px solid transparent;margin-bottom:-1px;padding:.6rem .1rem;font-weight:650;color:var(--grijs);text-decoration:none}
.hoofdtabs .tab-link:hover{color:var(--inkt)}
.hoofdtabs .tab-link .dot{position:absolute;top:.45rem;right:-.6rem;width:.55rem;height:.55rem;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px var(--vlak)}

/* Gepersonaliseerd | Standaard: zelfde segmentknoppen als de filters */
.segment{display:inline-flex;background:#f1f5f9;border-radius:.75rem;padding:.375rem}
.segment button{border:0;background:none;font:inherit;font-size:.85rem;font-weight:700;padding:.45rem .9rem;border-radius:.5rem;color:var(--grijs);cursor:pointer}
.segment button[aria-selected=true]{background:#fff;color:var(--bpc);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.kies-tabel{flex:1;min-width:0;max-width:34rem}
#catTabel,#rekArtikel,select[data-cli]{font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid #cbd5e1;border-radius:.75rem;background:#fff;color:var(--inkt);width:100%}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cat-kaart{background:#fff;border:1px solid var(--lijn);border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);padding:clamp(1rem,3vw,1.5rem);margin-top:1rem}
.cat-kaart h2{margin:0 0 .25rem;font-size:1.1rem}
.cat-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem 1.5rem;flex-wrap:wrap;margin-bottom:1rem}
.cat-kop .stil{margin:0;font-size:.88rem}
.cat-foto{flex:0 0 auto;width:200px;aspect-ratio:4/3;object-fit:contain}
.cat-kop-tekst{flex:1 1 16rem}
.cat-incl{margin:0;font-size:.85rem;background:var(--bpc-licht);color:var(--bpc-donker);padding:.35rem .7rem;border-radius:.5rem}

/* Prijstabel: eerste kolom blijft staan bij horizontaal scrollen (gsm) */
.cat-kaart .tabel-wrap{border-radius:.75rem;box-shadow:none}
table.prijstabel{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}
.prijstabel th,.prijstabel td{padding:.55rem .7rem;border-bottom:1px solid var(--lijn);text-align:left;vertical-align:top}
.prijstabel thead th{font-size:.75rem;font-weight:700;color:var(--grijs);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;background:#f8fafc}
.prijstabel .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.prijstabel tbody td.num{font-weight:600}
.prijstabel .vast{position:sticky;left:0;background:#fff;z-index:1;min-width:13rem;max-width:22rem;box-shadow:1px 0 0 var(--lijn)}
.prijstabel thead .vast{background:#f8fafc}
.prijstabel tbody th{font-weight:400}
.cat-code{display:block;font-weight:700}
.cat-naam{display:block;color:var(--grijs);font-size:.82rem}
.cat-verp-gsm{display:none}
.prijstabel td .klein{display:block;margin-top:.15rem;white-space:normal;min-width:9rem}
.prijstabel td.verp{white-space:nowrap}
.prijstabel tbody tr[tabindex]{cursor:pointer}
.prijstabel tbody tr[tabindex]:hover td,.prijstabel tbody tr[tabindex]:hover th{background:var(--bpc-licht)}
.prijstabel tbody tr.gekozen td,.prijstabel tbody tr.gekozen th{background:var(--bpc-licht)}
.prijstabel tbody tr.gekozen th{box-shadow:inset 4px 0 0 var(--bpc),1px 0 0 var(--lijn)}
.prijstabel tbody tr:focus-visible{outline:3px solid var(--bpc);outline-offset:-3px}
.prijstabel tfoot th,.prijstabel tfoot td{font-size:.82rem;font-weight:700;color:var(--bpc-donker);background:#f8fafc;border-bottom:0}
.prijstabel tfoot .vast{background:#f8fafc}
.cat-toeslagen{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:baseline;margin:.9rem 0 0;font-size:.85rem}
.toeslag{background:var(--vlak);border:1px solid var(--lijn);border-radius:99px;padding:.15rem .65rem}

/* Rekentool */
.rek-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:1.5rem 2rem;margin-top:1rem}
.met-eenheid{display:flex;align-items:center;gap:.6rem}
.met-eenheid input{max-width:10rem}
.met-eenheid .eenheid{font-weight:400}
.rek-opties{border:0;margin:0;padding:0;display:grid;gap:.45rem}
.rek-opties legend{font-weight:600;font-size:.92rem;margin-bottom:.4rem;padding:0}
.rek-groep{display:grid;gap:.35rem;padding:.6rem .75rem;background:var(--vlak);border-radius:.6rem}
.rek-opties .vinkje input{accent-color:var(--bpc)}
.rek-uitkomst{background:var(--vlak);border:1px solid var(--lijn);border-radius:.75rem;padding:1rem 1.1rem;align-self:start}
.rek-staffel{margin:0 0 .5rem}
.rek-let{margin:.25rem 0 .5rem;font-size:.85rem;color:#92400e}
.rek-let.stil{color:var(--grijs)}
table.berekening{width:100%;border-collapse:collapse;font-size:.9rem;margin:.5rem 0 .75rem}
.berekening th{text-align:left;font-weight:400;padding:.35rem 0}
.berekening td{text-align:right;padding:.35rem 0 .35rem 1rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.berekening .stil{font-size:.82rem}
.berekening tr.tussen th,.berekening tr.tussen td{font-weight:600;border-top:1px dashed var(--lijn)}
.berekening tr.totaal th,.berekening tr.totaal td{font-weight:750;font-size:1.05rem;border-top:2px solid var(--bpc);padding-top:.6rem;color:var(--bpc-donker)}
.berekening tr.fost th,.berekening tr.fost td{color:var(--grijs)}
.rek-sub{font-size:.95rem;margin:1.1rem 0 .1rem;padding-top:.8rem;border-top:1px solid var(--lijn);color:var(--bpc-donker)}
.rek-cliche{margin-top:1rem}
.cliche .formulier{align-content:start}

@media (max-width:760px){
  .rek-raster{grid-template-columns:1fr}
  .kies-tabel{max-width:none}
  .segment{align-self:flex-start}
  table.prijstabel{font-size:.82rem}
  .prijstabel th,.prijstabel td{padding:.5rem .55rem}
  .prijstabel .vast{min-width:8.5rem;max-width:9.5rem}
  .prijstabel td .klein{display:none}
  .prijstabel .niet-gsm{display:none}
  .cat-verp-gsm{display:block;font-size:.76rem;color:var(--grijs);margin-top:.2rem}
  .hoofdtabs{margin-top:-.75rem;gap:1.1rem;overflow-x:auto;scrollbar-width:none}
  .hoofdtabs::-webkit-scrollbar{display:none}
  .hoofdtabs button,.hoofdtabs .tab-link{flex:0 0 auto;white-space:nowrap}
  .hoofdtabs .tab-link{padding-right:.75rem}
  .hoofdtabs .tab-link .dot{right:0}
}

/* Keuzehulp in de catalogus */
.keuzehulp h2{margin:.25rem 0 .9rem}
.keuze-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.1rem;padding:0}
.keuze-chip{display:inline-flex;align-items:baseline;gap:.35rem;font:inherit;font-size:.85rem;font-weight:650;background:var(--bpc-licht);color:var(--bpc-donker);border:1px solid #cfe0c8;border-radius:99px;padding:.3rem .75rem;cursor:pointer}
.keuze-chip .stil{font-weight:400;color:#4b6343}
.keuze-chip:hover{background:#dbe9d5}
.keuze-chip.vast{background:#f1f5f9;border-color:var(--lijn);color:var(--inkt);cursor:default}
.keuze-chip.vast .stil{color:var(--grijs)}
.keuze-opties{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem}
.keuze-opties.formaten{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.keuze-optie{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.7rem .85rem;cursor:pointer;color:var(--inkt)}
.keuze-optie:hover{border-color:var(--bpc);background:var(--bpc-licht)}
.keuze-optie{min-width:0}
.keuze-optie strong{font-variant-numeric:tabular-nums;overflow-wrap:break-word}
.keuze-optie .klein{line-height:1.3}
.resultaten{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.6rem}
.resultaat{border:1px solid var(--lijn);border-radius:.75rem;padding:.8rem 1rem}
.resultaat[data-res]{cursor:pointer}
.resultaat[data-res]:hover{border-color:var(--bpc)}
.resultaat.gekozen{border-color:var(--bpc);box-shadow:inset 4px 0 0 var(--bpc);background:var(--bpc-licht)}
.resultaat:focus-visible{outline:3px solid var(--bpc);outline-offset:2px}
.res-kop{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}
.res-foto{flex:0 0 auto;width:72px;aspect-ratio:4/3;object-fit:contain;align-self:flex-start}
.res-tekst{flex:1 1 12rem}
.res-kop .klein{display:block;margin-top:.15rem}
.res-fost{white-space:nowrap}
.res-prijzen{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:.6rem 0 0}
.res-prijzen dt{font-size:.72rem;font-weight:700;color:var(--grijs);text-transform:uppercase;letter-spacing:.02em}
.res-prijzen dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
.res-per dd{font-weight:400;color:var(--grijs)}
@media (max-width:760px){
  .keuze-opties,.keuze-opties.formaten{grid-template-columns:repeat(2,minmax(0,1fr))}
  .keuze-optie{padding:.6rem .7rem}
  .keuze-optie strong{font-size:.92rem}
}

/* Catalogus: zoeken, Fost+-vinkje en PDF-knop */
.cat-balk{margin-bottom:.6rem}
.cat-zoek{flex:1;min-width:14rem;max-width:30rem}
.cat-opties{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;margin-bottom:.4rem}
.cat-opties .vinkje{font-weight:600}
.pdf-menu{position:relative}
.pdf-menu summary{list-style:none;cursor:pointer}
.pdf-menu summary::-webkit-details-marker{display:none}
.pdf-keuzes{position:absolute;z-index:5;left:0;top:calc(100% + .35rem);display:grid;gap:.55rem;min-width:15rem;background:#fff;border:1px solid var(--lijn);border-radius:.75rem;box-shadow:0 10px 25px -5px rgba(0,0,0,.15);padding:.8rem 1rem}
.pdf-keuzes .link{text-align:left;font-size:.92rem}
.res-verp{display:block}
.res-verp>span{white-space:nowrap}
.res-lijst{display:inline-block;font-size:.72rem;font-weight:700;background:var(--bpc-licht);color:var(--bpc-donker);border-radius:99px;padding:0 .45rem;margin-right:.15rem}
@media (max-width:760px){.cat-zoek{min-width:0;max-width:none;flex-basis:100%}}

/* Afdrukversie van de prijslijsten (knop PDF → Opslaan als PDF) */
#printversie{display:none}
@media print{
  @page{size:A4;margin:12mm 10mm}
  body.print-modus{background:#fff!important}
  body.print-modus>*:not(#printversie){display:none!important}
  body.print-modus #printversie{display:block;color:#1e293b;font-size:8.5pt;line-height:1.35}
  #printversie .p-kop{display:flex;align-items:center;gap:1rem;border-bottom:2px solid #326028;padding-bottom:.4rem;margin-bottom:.6rem}
  #printversie .p-logo{color:#326028}
  #printversie .p-logo svg{height:30pt;width:auto}
  #printversie h1{font-size:15pt;margin:0;color:#24461d}
  #printversie .p-kop p{margin:.1rem 0 0;color:#64748b}
  #printversie .p-tabel{break-inside:avoid;margin:0 0 .9rem}
  #printversie h2{font-size:10.5pt;margin:0 0 .1rem;color:#24461d}
  #printversie .p-sub{margin:.1rem 0 .3rem;color:#64748b;font-size:7.5pt}
  #printversie .p-ts{white-space:nowrap}
  #printversie table{width:100%;border-collapse:collapse}
  #printversie th,#printversie td{border-bottom:.5pt solid #cbd5e1;padding:2.5pt 4pt;text-align:left;vertical-align:top}
  #printversie thead th{background:#eaf1e7;color:#24461d;font-size:7pt;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printversie tfoot td{font-weight:700;color:#24461d}
  #printversie .num{text-align:right;white-space:nowrap}
  #printversie .p-voet{margin-top:.8rem;border-top:.5pt solid #cbd5e1;padding-top:.3rem;color:#64748b;font-size:7pt}
}

/* Rekentool: wat de klant precies koopt */
.rek-bestelt{margin:0 0 .35rem;padding:.55rem .7rem;background:#fff;border:1px solid var(--lijn);border-radius:.6rem;font-size:.92rem}
.rek-bestelt strong{font-variant-numeric:tabular-nums}
.rek-bestelt .heel{white-space:nowrap}

/* Bestellingen: naamdruk en productiestatus per order (kleuren zoals de stappenbalk) */
.naamdruk{display:block;font-weight:700;margin-top:.15rem;color:var(--inkt)}
.vo-labels{display:flex;flex-wrap:wrap;gap:.35rem}
.po-status{font-size:.8rem;font-weight:650;padding:.15rem .6rem;border-radius:99px;background:#f1f5f9;color:#64748b}
.po-status.gepland{background:#dbeafe;color:#1d4ed8}
.po-status.productie{background:#ffedd5;color:#b45309}
.po-status.gereed{background:#dcfce7;color:#15803d}
.po-extra{font-weight:500}
.filters{flex-wrap:wrap;max-width:100%}
@media (max-width:640px){.filters button{padding:.45rem .7rem}}

/* Meerdere naamdrukken: per naam de eigen productiestatus; orders met hetzelfde PO */
.naamdruk.meerdere{display:flex;flex-direction:column;gap:.2rem;margin:.25rem 0 .1rem}
.naamdruk .nd{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.po-status.klein{font-size:.72rem;padding:.05rem .45rem;font-weight:600}
.zelfde-po{display:block;font-size:.85rem;margin-top:.15rem;text-align:left}

/* Portaalbeheer: overzicht van klantaccounts */
table.accounts{width:100%;border-collapse:collapse;font-size:.9rem}
.accounts th{text-align:left;font-weight:600;color:var(--grijs);font-size:.78rem;padding:.6rem .8rem;border-bottom:1px solid var(--lijn);white-space:nowrap}
.accounts td{padding:.65rem .8rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.accounts td .klein{display:block}
.accounts .chips{margin:0}
.chip.klein{padding:.1rem .6rem;font-size:.8rem}
.acc-rij{cursor:pointer}
.acc-rij:hover td,.acc-rij.open td{background:var(--bpc-licht)}
.acc-knop{text-align:right;white-space:nowrap}
.acc-detail>td{background:#f8fafc;padding:1rem 1.1rem}
.gebruiker.detail{border:0;box-shadow:none;background:none;padding:0}
.detail-raster{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;margin-bottom:.75rem}
.detail h3{font-size:.85rem;margin:0 0 .4rem}
.waarschuwing{font-size:.8rem;font-weight:650;color:#92400e;background:#fef3c7;border-radius:99px;padding:.1rem .6rem}
.tedoen{background:#fffbeb;border:1px solid #fde68a;border-radius:1rem;padding:1rem 1.25rem;margin:0 0 1.25rem}
.tedoen h2{margin:0 0 .75rem}
.tedoen .gebruiker{background:#fff;margin-top:.6rem}
.stappenplan{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.75rem}
.stappenplan .chips{margin:.4rem 0}
.voorstellen{margin:.3rem 0 .5rem}
.chip.voorstel{cursor:pointer;border-style:dashed;background:#fff;margin:0 .3rem .3rem 0;font:inherit;font-size:.82rem;padding:.15rem .65rem}
.chip.voorstel:hover{background:var(--bpc-licht);border-color:var(--bpc)}
#accZoek{max-width:22rem}
@media (max-width:760px){
  .accounts thead{display:none}
  .accounts tr.acc-rij{display:grid;grid-template-columns:1fr;gap:.25rem;padding:.7rem .2rem;border-bottom:1px solid var(--lijn)}
  .accounts .acc-knop{text-align:left}
  .chip.klein{white-space:nowrap}
  .accounts tr.acc-rij td{border:0;padding:.15rem .6rem}
  .accounts tr.acc-detail,.accounts tr.acc-detail>td{display:block}
  .detail-raster{grid-template-columns:1fr}
  #accZoek{max-width:none}
}

/* Tabblad Documenten */
.documenten{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.documenten .document{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#fff;border:1px solid var(--lijn);border-radius:1rem;padding:1rem 1.25rem}
.documenten h2{font-size:1rem;margin:0 0 .2rem}
.documenten .stil{margin:0}
.document-knoppen{display:flex;gap:.5rem;flex-wrap:wrap}

/* ================================================================
   Huisstijl van www.belpaper.com (laatste laag, overschrijft de vorige):
   Archivo, zwarte drukinkt, wit zakkenpapier, kraft-accenten, BPC-groen voor acties, rechte knoppen, geribd kraft
   ================================================================ */
:root{
  --bpc:#336029; --bpc-donker:#22421B; --bpc-licht:#EEF3EC; --focus:#B8895A;
  --kraft-hout:#B8895A; --kraft-donker:#8A5F33; --kraft-rib:#9C6A3A;
  --mist:#F5F3EE; --vlak:#F5F3EE; --lijn:#E2DDD3; --inkt:#1D1D1B; --tekst:#26241F; --grijs:#67625A;
  --ribs:repeating-linear-gradient(90deg,rgba(0,0,0,.075) 0 1px,transparent 1px 4px,rgba(255,255,255,.07) 4px 5px,transparent 5px 7px);
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
}
body{background:var(--mist);color:var(--tekst);font-family:"Archivo","Helvetica Neue",Arial,sans-serif}
:focus-visible{outline:3px solid var(--kraft-hout);outline-offset:3px}
h1{font-weight:800;font-stretch:118%;letter-spacing:-.025em;line-height:1;color:var(--inkt)}
h2{font-weight:800;font-stretch:112%;letter-spacing:-.015em;color:var(--inkt)}
h3{font-stretch:110%;color:var(--inkt)}
.stil{color:var(--grijs)}
.link{color:var(--kraft-donker);font-weight:600}

/* Kop: wit papier met een dunne lijn, zoals de website */
.kop{background:rgba(255,255,255,.97);border-bottom:1px solid var(--lijn);box-shadow:none;position:sticky;top:0;z-index:30;margin-bottom:0}
.merk-sub{color:var(--grijs);border-left-color:var(--lijn)}
.kop-rechts{color:var(--grijs)}
.kop .link{border:2px solid var(--bpc);color:var(--bpc);border-radius:4px;background:#fff;font-weight:600}
.kop .link:hover{background:var(--mist)}
.taalkeuze{background:#fff;border:1px solid var(--lijn);border-radius:24px;padding:3px}
.taalkeuze button{border-radius:20px;color:var(--grijs)}
.taalkeuze button[aria-pressed=true]{background:var(--bpc);color:#fff}

/* Aanmeldscherm: geribd kraft als achtergrond, witte papieren kaart */
body.donker{background-color:var(--kraft-rib);background-image:var(--ribs)}
body.donker .voet a,body.donker .voet .cookie-instellingen{color:#fff}
.loginkaart{border-radius:6px;box-shadow:0 18px 40px rgba(29,29,27,.28);border-top:4px solid var(--inkt)}
.loginkaart h1{color:var(--inkt);font-weight:800;font-stretch:112%}
.google-knop{border-radius:4px;border:2px solid var(--lijn)}

/* Hoofdtabs: zoals de navigatie van de website */
.hoofdtabs{border-bottom:3px solid var(--inkt)}
.hoofdtabs button,.hoofdtabs .tab-link{color:var(--grijs);font-weight:600;margin-bottom:-3px;border-bottom-width:4px}
.hoofdtabs button:hover,.hoofdtabs .tab-link:hover{color:var(--kraft-donker)}
.hoofdtabs button[aria-selected=true]{color:var(--inkt);border-color:var(--bpc)}
.tabs{border-bottom-color:var(--lijn)}
.tabs button[aria-selected=true]{color:var(--inkt);border-color:var(--bpc)}

/* Knoppen: recht, groen, 2px rand (btn-solid / btn-line) */
.knop{border-radius:4px;border:2px solid var(--bpc);background:var(--bpc);color:#fff;font-weight:600;box-shadow:none}
.knop:hover{background:var(--bpc-donker);border-color:var(--bpc-donker)}
.knop.tweede{background:transparent;color:var(--bpc);border-color:var(--bpc)}
.knop.tweede:hover{background:#fff}
.knop.gevaar{background:transparent;color:#A63D32;border-color:#A63D32}
.knop.gevaar:hover{background:#fff}
input,select,#klantFilter,#actPersoon,#actType,textarea{border-radius:4px;border:1px solid #CFC7B8;background:#fff;color:var(--inkt)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--kraft-hout);outline-offset:1px;box-shadow:none;border-color:var(--kraft-hout)}

/* Segmentknoppen (filters, Gepersonaliseerd/Standaard): pillen zoals de papierkeuze op de website */
.filters,.segment{background:#fff;border:1px solid var(--lijn);border-radius:24px;padding:4px}
.filters button,.segment button{border-radius:20px;color:var(--grijs);font-weight:600}
.filters button[aria-selected=true],.segment button[aria-selected=true]{background:var(--bpc);color:#fff;box-shadow:none}
.filters button[aria-selected=true] *,.segment button[aria-selected=true] *{color:#fff}

/* Kaarten: wit papier, dunne lijn, kraft-accent links */
.order,.gebruiker,.statuskaart,.klantgroep>details,.tabel-wrap,.cat-kaart,.resultaat,.loginkaart{border-radius:6px;box-shadow:none}
.order,.gebruiker,.statuskaart,.klantgroep>details,.cat-kaart,.resultaat{border-color:var(--lijn)}
.order{border-left:4px solid var(--kraft-hout)}
.order.klaar{border-left-color:var(--bpc)}
.leeg{border-radius:6px;border-color:#CFC7B8;background:#fff}
.wo{background:var(--mist);border-color:var(--lijn);border-radius:4px}
.chip{background:var(--mist);border-color:var(--lijn)}
.resultaat[data-res]:hover,.resultaat.gekozen{border-color:var(--bpc)}
.resultaat.gekozen{background:var(--bpc-licht);box-shadow:inset 4px 0 0 var(--bpc)}
.res-lijst{background:var(--mist);color:var(--kraft-donker);border:1px solid var(--lijn)}
.kz-lijst{border-radius:4px;border-color:var(--lijn)}
.kz-lijst li.actief,.kz-lijst li[data-naam]:hover{background:var(--mist)}

/* Paginakop: brede zwarte titel met een inktlijn eronder, zoals de secties op de website */
.overzicht-kop h1{font-size:clamp(2rem,4.6vw,3rem)}
.statuskaart{border-top:4px solid var(--inkt)}
.taalkeuze.los{background:#fff;border-color:var(--lijn)}
.taalkeuze.los button[aria-pressed=true]{background:var(--bpc);color:#fff;box-shadow:none}
.voet a,.voet .cookie-instellingen{color:var(--grijs)}
.statuskaart a:not(.knop),.intro a,main p a:not(.knop){color:var(--kraft-donker)}
.domein-vinkje{margin:.6rem 0 .2rem}
p.waarschuwing{background:#FBF1E4;border-left:3px solid var(--kraft-hout);padding:.45rem .7rem;margin:.6rem 0;color:#6B4520}
.g-kop .badge{margin-left:.3rem}

/* Doos op gewicht (vetvrij papier): prijs per doos onder de prijs per 1000 vellen */
.res-prijzen dd.res-doos{font-weight:500;font-size:.85rem;color:var(--grijs);margin-top:.1rem}
.prijstabel .per-doos{display:block;font-weight:400;white-space:nowrap}

/* ---------- Proefdrukken: /beheer → Proeven (proeven-beheer.js) en de proefpagina /proeven/{nr} (proef-klant.js) ---------- */
textarea{font:inherit;font-weight:400;padding:.6rem .7rem;width:100%;resize:vertical}
select{font:inherit;padding:.55rem .6rem}
.badge.ps-wacht_op_klant{background:#F6E9D7;color:#7A5426}
.badge.ps-aanpassing_gevraagd{background:#F4DEDB;color:#A63D32}
.badge.ps-in_bewerking{background:#E4E9EF;color:#3D5167}
.badge.ps-in_voorbereiding{background:#ECEAE5;color:#5C5850;border:1px dashed #B8B2A6}
.badge.ps-on_hold{background:#1D1D1B;color:#F5F3EE;letter-spacing:.02em}
.pd-mail-melding.pd-hold{border-left:4px solid #1D1D1B}
.badge.ps-goedgekeurd,.badge.ps-afgerond{background:var(--bpc-licht);color:var(--bpc)}
.badge.ps-besteld{background:#336029;color:#fff}
.badge.ps-geleverd{background:#1D1D1B;color:#F5F3EE}
.badge.ps-te-bestellen{background:#FBF1E4;color:#8A5F33;border:1px solid #B8895A}
.badge.ps-geannuleerd,.badge.tl-intern{background:#ECEAE5;color:var(--grijs)}
.pb-kop{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 1rem}
.pb-kop h2{margin:0}
.pb-kop .stil{margin-left:.75rem}
.pb-inst{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.75rem 1rem;margin-top:1rem}
.pb-inst summary{cursor:pointer;font-weight:650}
.pb-inst summary .waarschuwing,.pb-inst summary .stil{margin-left:.5rem;font-weight:400}
.pb-rij{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;margin:.6rem 0}
.pb-rij>label{flex:1 1 12rem}
.pb-rij input{width:auto;flex:1 1 10rem}
.pb-rij .vinkje{flex:0 0 auto}
.pb-tabel{width:100%;border-collapse:collapse;font-size:.9rem}
.pb-tabel th{text-align:left;font-size:.8rem;color:var(--grijs);font-weight:600;padding:.6rem .75rem;border-bottom:2px solid var(--inkt);white-space:nowrap}
.pb-tabel td{padding:.6rem .75rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.pb-tabel td .stil.klein{display:block}
.pb-rij-dossier{cursor:pointer}
.pb-rij-dossier:hover,.pb-rij-dossier:focus-visible{background:var(--mist)}
.pb-form{display:grid;gap:1rem;max-width:44rem}
.pb-form h2{margin:0}
.pb-form fieldset{border:1px solid var(--lijn);border-radius:6px;padding:.75rem 1rem}
.pb-form legend{font-weight:600;font-size:.92rem;padding:0 .3rem}
.pb-codes-preview:empty{display:none}
.pb-codes-preview{margin:-.5rem 0 0}
.pb-ontv{list-style:none;margin:.3rem 0;padding:0;display:grid;gap:.3rem}
.pb-ontv li{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pb-ontv .badge{margin-left:.3rem}
span.waarschuwing{color:#8A5F33;font-weight:600}

/* Dossier in /beheer */
.pd-kop{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start;margin:.5rem 0 1rem}
.pd-kop h2{margin:0;font-size:1.6rem}
.pd-titel{font-size:1.1rem;font-weight:600;margin:.3rem 0}
.pd-ok{background:var(--bpc-licht);color:var(--bpc);border-left:3px solid var(--bpc);padding:.45rem .7rem;font-weight:600}
.pd-links-kop{display:grid;gap:.4rem;justify-items:end}
.pd-raster,.pr-raster{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr);gap:1.25rem;align-items:start}
.pd-versies{display:inline-flex;margin-bottom:.6rem}
.pdf-kader{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.5rem}
.pdf-kader iframe{width:100%;height:min(75vh,46rem);border:0;display:block;background:var(--mist)}
.pdf-kader+.klein,.pdf-kader .klein{margin:.5rem 0 0}
.pd-opm{display:block;margin-top:.3rem;color:var(--tekst)}
.pd-info{display:grid;gap:.6rem;margin:0 0 1rem;background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.75rem 1rem}
.pd-info dt{font-size:.8rem;color:var(--grijs);font-weight:600}
.pd-info dd{margin:.2rem 0 0}
.pd-knoppen{margin-bottom:.6rem}
.pd-actie{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.6rem .9rem;margin-bottom:.5rem}
.pd-actie summary{cursor:pointer;font-weight:650;color:var(--inkt)}
.pd-actie[open]{border-color:var(--bpc)}
.pd-actie[open]>summary{margin-bottom:.6rem}
.pd-actie>label,.pd-actie>textarea,.pd-actie>input{margin-bottom:.6rem}
.pd-actie.gevaar summary{color:#A63D32}

/* Tijdlijn (beheer en klant) */
.tijdlijn{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--lijn)}
.tijdlijn>li{position:relative;padding:.55rem 0 .75rem .9rem}
.tijdlijn>li::before{content:"";position:absolute;left:-1.42rem;top:.85rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--kraft-hout);border:2px solid var(--mist)}
.tijdlijn>li.intern::before{background:#CFC7B8}
.tijdlijn>li.tl-goedgekeurd::before{background:var(--bpc)}
.tijdlijn>li.tl-aanpassing_gevraagd::before{background:#A63D32}
.tijdlijn>li.intern{color:var(--grijs)}
.tl-kop{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--grijs)}
.tl-kop .badge{margin-left:0}
.tl-tekst{font-weight:600;color:var(--inkt)}
.tijdlijn>li.intern .tl-tekst{color:var(--tekst);font-weight:500}
.tl-notitie{margin:.25rem 0 0;white-space:pre-wrap;background:#fff;border:1px solid var(--lijn);border-radius:4px;padding:.4rem .6rem;max-width:44rem}
/* Antwoord van de klant op een proefmail (mail_in van Make): valt op tot een medewerker het verwerkt */
.tijdlijn>li.tl-make{color:var(--tekst)}
.tijdlijn>li.tl-make .tl-tekst{color:var(--inkt);font-weight:600}
.tijdlijn>li.tl-mail-open{background:#FBF5EA;border:1px solid var(--kraft);border-left:4px solid var(--kraft);border-radius:6px;padding:.7rem .9rem .8rem;margin:.3rem 0 .6rem}
.tijdlijn>li.tl-mail-open::before{background:var(--kraft);left:-1.42rem}
.tl-mailtekst{margin:.35rem 0 0;white-space:pre-wrap;background:#fff;border:1px solid var(--lijn);border-radius:4px;padding:.5rem .7rem;max-width:44rem;max-height:18rem;overflow:auto;color:var(--inkt)}
.tl-voorstel{margin:.5rem 0 .4rem;font-size:.9rem}
.badge.tl-vs-akkoord{background:var(--bpc-licht);color:var(--bpc)}
.badge.tl-vs-aanpassing{background:#F6E3DF;color:#A63D32}
.badge.tl-vs-onduidelijk{background:#ECEAE5;color:var(--grijs)}
.badge.pb-mail-badge{background:#FBF0DD;color:#8A5F33}
.pd-mail-melding{background:#FBF5EA;border-left:3px solid var(--kraft);padding:.45rem .7rem;font-weight:600;color:var(--inkt)}
.pd-uit-mail{background:#FBF5EA;border-left:3px solid var(--kraft);padding:.3rem .7rem;margin:.4rem 0}
.pd-uit-mail p{margin:0}
.pd-mail-akkoord{font-weight:600}
.pd-aanvraag{background:#FBF5EA;border-left:3px solid var(--kraft);padding:.4rem .7rem;margin:.4rem 0;color:var(--inkt)}

/* Proefpagina voor de klant */
.intro-proef{color:var(--inkt);font-weight:600}
.pr-terug{margin:0 0 1rem}
.pr-nr{font-weight:700;color:var(--kraft-donker);letter-spacing:.02em;margin:0 0 .3rem}
.pr-kop h1{margin-bottom:.6rem}
.pr-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0}
.pr-meta .badge{margin-left:0}
.pr-stappen{margin:1.25rem 0 1.5rem}
.pr-stappen li{--k:var(--bpc);--kt:var(--bpc)}
.pr-stappen li.nu{--k:var(--kraft-hout);--kt:var(--kraft-donker)}
.pr-stappen.geannuleerd li{--k:#CFC7B8;--kt:var(--grijs);color:var(--grijs)}
.pr-goed{background:var(--bpc-licht);color:var(--bpc);border-left:4px solid var(--bpc);padding:.6rem .9rem;font-weight:700;margin:0 0 1.25rem}
.pr-geannuleerd{background:#ECEAE5;color:var(--grijs);border-left:4px solid #CFC7B8;padding:.6rem .9rem;font-weight:700}
.pr-links h2{margin-top:0}
.pr-opm{background:#fff;border-left:4px solid var(--kraft-hout);padding:.5rem .8rem;margin:0 0 .75rem}
.pr-opm p{margin:.15rem 0 0;white-space:pre-wrap}
.pr-pdf-knoppen{margin-top:.75rem}
.pr-versies{list-style:none;padding:0;margin:.3rem 0;display:grid;gap:.25rem}
.pr-versies .stil{margin-left:.4rem}
.pr-kaart{position:sticky;top:5.5rem}
.pr-kaart h2{margin-top:0}
.pr-keuze{display:flex;margin-bottom:1rem}
.pr-keuze button{flex:1;padding:.5rem .6rem;border:0;background:none;font:inherit;cursor:pointer}
.pr-bevestig{background:var(--mist);border:1px solid var(--lijn);border-radius:4px;padding:.6rem .8rem;margin:0;font-size:.92rem}
.pr-tl-kop{margin-top:2.5rem}
.pr-geen{margin-top:2rem}
@media (max-width:820px){
  .pd-raster,.pr-raster{grid-template-columns:1fr}
  .pr-kaart{position:static}
  .pdf-kader iframe{height:60vh}
  .pd-links-kop{justify-items:start}
}

/* Formaten binnen één clichénummer (lijst links, gekozen formaat rechts) */
main:has(#scherm-proef:not([hidden])){max-width:84rem}
.pd-sub{margin:1.75rem 0 .6rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--grijs)}
.pd-raster{grid-template-columns:minmax(14rem,19rem) minmax(0,1fr)}
.pf-lijst{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;max-height:75vh;overflow:auto}
.pf-item{display:grid;gap:.2rem;width:100%;text-align:left;background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.55rem .7rem;font:inherit;cursor:pointer;color:var(--inkt)}
.pf-item:hover{border-color:var(--kraft-hout)}
.pf-item.gekozen{border-color:var(--bpc);box-shadow:inset 4px 0 0 var(--bpc);background:var(--bpc-licht)}
.pf-naam-lijst{font-weight:650}
.pf-meta .badge{margin-left:0}
.pf-codes-lijst{overflow-wrap:anywhere}
.pf-kop h3{margin:0 0 .3rem;font-size:1.15rem}
.pf-kop .pd-versies{margin:.5rem 0}
#pdFormaatActies{margin-top:.75rem}
.pf-modus{display:inline-flex;margin-bottom:.6rem}
.pf-drop{border:2px dashed #CFC7B8;border-radius:6px;padding:.9rem;background:var(--mist);margin-bottom:.6rem}
.pf-tabel{width:100%;border-collapse:collapse;font-size:.9rem;margin:.4rem 0}
.pf-tabel th{text-align:left;font-size:.78rem;color:var(--grijs);padding:.3rem .4rem}
.pf-tabel td{padding:.3rem .4rem;vertical-align:top;border-top:1px solid var(--lijn)}
.pf-tabel input{padding:.45rem .55rem}
.pf-tabel .chips{margin:.3rem 0 0}
.pf-nr{color:var(--grijs);width:1.5rem}
.pd-formaten-keuze{border:1px solid var(--lijn);border-radius:6px;padding:.5rem .8rem;margin:0 0 .6rem;display:grid;gap:.25rem;max-height:14rem;overflow:auto}
.pd-tl-kop{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.25rem}
.pd-tl-kop h2{margin:0}
.pd-tl-kop select{width:auto}
.pb-telling{white-space:nowrap}
.pr-telling{font-weight:600;color:var(--inkt)}
.pr-raster-f{grid-template-columns:minmax(12rem,17rem) minmax(0,1.6fr) minmax(16rem,1fr)}
.pr-raster-f.een{grid-template-columns:minmax(0,1.6fr) minmax(16rem,1fr)}
.pr-raster-f.een .pr-formaten{display:none}
.pr-formaten h2{margin:0 0 .6rem;font-size:1rem}
.pr-formaat-kop h2{margin-top:0}
.pr-formaat-kop .pr-stappen{margin:.75rem 0 1rem}
.pr-formaatnaam{font-weight:700;margin:-.3rem 0 .75rem;color:var(--kraft-donker)}
.pr-alles{margin:1.25rem 0;border-top-color:var(--bpc)}
.pr-alles summary{cursor:pointer}
.pr-alles form{margin-top:1rem;max-width:40rem}
@media (max-width:1100px){
  .pr-raster-f{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr)}
  .pr-raster-f .pr-rechts{grid-column:2}
  .pr-raster-f.een{grid-template-columns:1fr}
  .pr-raster-f.een .pr-rechts{grid-column:auto}
}
@media (max-width:820px){
  .pr-raster-f,.pd-raster{grid-template-columns:1fr}
  .pr-raster-f .pr-rechts{grid-column:auto}
  .pf-lijst{max-height:none}
}
.pf-tabel td:nth-child(2){width:40%}
.pf-tabel .pf-naam{min-width:9rem}
.pf-tabel td.stil{max-width:9rem;overflow-wrap:anywhere}
.pf-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.6rem}
.pf-item .pf-codes-lijst{grid-column:1 / -1}
.pr-kop{margin-bottom:1.25rem}
.pd-paneel-waarsch .waarschuwing{margin-top:0}
/* Clichékost per formaat */
.pd-prijs,.pr-prijs{margin:.2rem 0 .4rem}
.pd-prijs-totaal{margin:.3rem 0 0;color:var(--inkt)}
.pf-tabel .pf-prijs{width:6.5rem}
.pr-prijs b{font-size:1.05rem;color:var(--inkt)}
.pr-alles-lijst{list-style:none;margin:.2rem 0 .6rem;padding:0;display:grid;gap:.15rem;font-size:.92rem}
.pr-alles-lijst li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--lijn);padding:.2rem 0}
.pr-alles-lijst li.totaal{font-weight:700;border-bottom:0}
.ontv-taal{width:auto;padding:.3rem .4rem;font-size:.85rem}
/* Clichénummer: directe controle in het formulier */
.pb-nummer input[name=nummer]{max-width:10rem}
.pb-nrcheck{margin:.2rem 0 0;padding:.4rem .6rem;border-left:3px solid var(--lijn)}
.pb-nrcheck:empty{display:none}
.pb-nrcheck.ok{border-left-color:var(--bpc);background:var(--bpc-licht);color:var(--bpc)}
.pb-nrcheck.fout{border-left-color:#A63D32;background:#F4DEDB;color:#7A2A22}
.pb-keuzes{display:grid;gap:.35rem;margin:.2rem 0 .5rem}

/* ---------- Tabblad Proeven (proeven-overzicht.js): zelfde tegels als de bestellingen ---------- */
.po-tegel{padding:0}
.po-link{display:block;padding:1.1rem 1.25rem 1.2rem;color:inherit;text-decoration:none;border-radius:inherit}
.po-link:hover{background:#FCFBF8}
.po-link:hover .nr{color:var(--kraft-donker)}
.po-link:focus-visible{outline:3px solid var(--kraft-hout);outline-offset:-3px}
.po-tegel .art{font-weight:600;color:var(--inkt)}
.po-laatste{color:var(--grijs);font-size:.85rem;text-align:right}
/* statuskleuren: wacht op klant oranje, aanpassing/in bewerking blauw, goedgekeurd groen, geannuleerd grijs */
.vo-status.ps-wacht_op_klant{background:#F6E9D7;color:#7A5426}
.vo-status.ps-aanpassing_gevraagd,.vo-status.ps-in_bewerking{background:#E3ECF6;color:#2B5A88}
.vo-status.ps-goedgekeurd{background:var(--bpc-licht);color:var(--bpc)}
.vo-status.ps-geannuleerd{background:var(--vlak);color:var(--grijs)}
.po-tegel.klaar{border-left-color:var(--bpc)}
.po-klant{width:auto}
/* badge op het tabblad + melding op de startpagina */
.hoofdtabs .tab-badge{display:inline-block;min-width:1.25rem;margin-left:.4rem;padding:0 .35rem;border-radius:99px;background:#C2410C;color:#fff;
  font-size:.75rem;font-weight:700;line-height:1.25rem;text-align:center;vertical-align:.1em}
.po-melding{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem;padding:.7rem 1rem;
  background:#FBF1E4;border-left:4px solid var(--kraft-hout);border-radius:4px;font-weight:600;color:var(--inkt)}
@media (max-width:640px){ .po-laatste{text-align:left} .vo-onder{flex-wrap:wrap} }

/* Klantenbeheer (enkel medewerkers): knop in de kop naast Afmelden, niet meer bij de tabbladen */
.kop .kop-beheer{position:relative;display:inline-flex;align-items:center;text-decoration:none}
.kop .kop-beheer[hidden]{display:none}
.kop .kop-beheer .dot{position:absolute;top:-.3rem;right:-.3rem;width:.6rem;height:.6rem;border-radius:50%;background:#dc2626;box-shadow:0 0 0 2px #fff}
.kop .kop-beheer-ico{display:none}
@media (max-width:640px){
  .kop .kop-beheer-ico{display:block}
  .kop .kop-beheer-tekst{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* Inbox (/beheer → Inbox, enkel intern): kaarten per mail zoals de tegels van orders en proeven */
.ib-fout{margin:0 0 .75rem;padding:.7rem 1rem;background:#FBE9E6;border-left:4px solid #A63D32;border-radius:4px;color:#7A2A22}
.ib-fout .klein{display:block;color:#7A2A22;opacity:.85}
.ib-info{margin:0 0 1rem;padding:.7rem 1rem;background:#FBF1E4;border-left:4px solid var(--kraft-hout);border-radius:4px;font-weight:600;color:var(--inkt)}
.ib-status{margin:-.5rem 0 1rem}
.ib-status.ib-oud{color:#A63D32;font-weight:600}
.ib-balk{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-bottom:.75rem}
.ib-balk #ibZoek{flex:1 1 22rem;min-width:0}
.ib-balk .vinkje{margin:0}
.ib-lijst{display:grid;gap:.75rem;margin-top:1rem}
.ib-kaart{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);border-radius:6px;padding:.9rem 1.1rem}
.ib-kaart.ib-uit{border-left-color:var(--lijn)}
.ib-kaart.ib-is-verwerkt{border-left-color:var(--bpc)}
.ib-kop{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.ib-wie{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--inkt)}
.ib-meta{display:flex;gap:.6rem;align-items:center;flex:0 0 auto;color:var(--grijs);font-size:.85rem;font-variant-numeric:tabular-nums}
.ib-mb{font-size:.75rem;font-weight:650;padding:.05rem .45rem;border:1px solid var(--lijn);border-radius:99px;color:var(--kraft-donker);background:var(--mist)}
.ib-open{display:block;margin:.35rem -.4rem 0;padding:.25rem .4rem;border-radius:4px;color:inherit;text-decoration:none}
.ib-open:hover{background:#FCFBF8}
.ib-open:hover .ib-onderwerp{color:var(--kraft-donker)}
.ib-onderwerp{display:flex;gap:.35rem;align-items:center;font-weight:650;color:var(--inkt)}
.ib-onderwerp svg,.ib-meta svg,.ib-bijlagen svg{flex:0 0 auto;color:var(--grijs)}
.ib-belangrijk{display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:50%;background:#A63D32;color:#fff;font-size:.75rem;font-weight:800}
.ib-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--grijs);font-size:.9rem;margin-top:.15rem}
.ib-koppel{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:.6rem;padding-top:.55rem;border-top:1px dashed var(--lijn);font-size:.88rem}
.ib-k{display:inline-flex;align-items:center;gap:.35rem;color:var(--tekst)}
.ib-l{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--grijs);margin-right:.15rem}
.ib-onbekend{color:#A63D32;font-weight:600}
.ib-kaart a:not(.ib-open),.ib-proef a{color:var(--kraft-donker);font-weight:600}
.ib-vg{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;padding:0;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);cursor:pointer}
.ib-vg:hover{border-color:var(--kraft-hout);color:var(--kraft-donker)}
.ib-voorstellen{margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.ib-onder{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.75rem}
.ib-vw{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem}
.ib-onder .ib-ok{color:var(--bpc);font-weight:700}
.ib-verwerkt-knop{min-width:7rem}
.ib-menu{position:relative}
.ib-menu>summary{list-style:none;cursor:pointer;user-select:none}
.ib-menu>summary::-webkit-details-marker{display:none}
.ib-acties{display:inline-flex;align-items:center;gap:.35rem}
.ib-menu[open]>.ib-acties{background:var(--mist);border-color:var(--inkt)}
/* Actiemenu: opent naar onder (standaard) of naar boven als er onderaan geen plaats is (klasse naar-boven, inbox.js) */
.ib-menu-inhoud{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;width:19rem;max-width:calc(100vw - 2rem);padding:.35rem;
  background:#fff;border:1px solid var(--lijn);border-top:3px solid var(--inkt);border-radius:6px;box-shadow:0 14px 32px rgba(29,29,27,.18)}
.ib-menu.naar-boven .ib-menu-inhoud{top:auto;bottom:calc(100% + .35rem)}
.ib-menu-groep{padding:.3rem 0}
.ib-menu-groep+.ib-menu-groep{border-top:1px solid var(--lijn)}
.ib-menu-kop{margin:.1rem .6rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grijs)}
.ib-menu-nu{text-transform:none;letter-spacing:0;font-weight:600;color:var(--kraft-donker)}
.ib-mi{display:flex;align-items:flex-start;gap:.65rem;width:100%;padding:.45rem .6rem;border:0;border-left:3px solid transparent;border-radius:4px;
  background:none;font:inherit;text-align:left;color:var(--inkt);cursor:pointer}
.ib-mi svg{flex:0 0 auto;margin-top:.1rem;color:var(--kraft-donker)}
.ib-mi:hover,.ib-mi:focus-visible{background:var(--mist);border-left-color:var(--kraft-hout);outline:none}
.ib-mi[hidden]{display:none}
.ib-mi-tekst{display:grid;min-width:0}
.ib-mi-titel{font-weight:650;font-size:.92rem;line-height:1.3}
.ib-mi-uitleg{font-size:.8rem;line-height:1.3;color:var(--grijs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-editor{display:grid;gap:.6rem;margin-top:.75rem;padding:.8rem 1rem;background:var(--mist);border:1px solid var(--lijn);border-radius:6px}
.ib-editor label{display:grid;gap:.25rem;font-weight:600;font-size:.88rem}
.ib-vrij{display:flex;flex-wrap:wrap;gap:.5rem}
.ib-vrij input{flex:1 1 12rem}
.ib-vrij[hidden]{display:none}
.ib-editor .acties{display:flex;gap:.5rem;align-items:center}
.ib-gesprek h2{margin:.25rem 0}
.ib-gesprek .ib-kaart{margin-top:.75rem}
.ib-bericht>summary{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;cursor:pointer;list-style:none}
.ib-bericht>summary::-webkit-details-marker{display:none}
.ib-bericht>summary .ib-preview{grid-column:1/-1;-webkit-line-clamp:1}
.ib-bericht[open]>summary .ib-preview{display:none}
.ib-adressen{display:grid;gap:.1rem;margin:.6rem 0;padding:.5rem .75rem;background:var(--mist);border-radius:4px}
.ib-proef{margin:.5rem 0;padding:.5rem .75rem;background:#FBF1E4;border-left:3px solid var(--kraft-hout);border-radius:4px}
.ib-afb{margin:.25rem 0 .4rem;color:var(--grijs)}
.ib-frame{display:block;width:100%;height:min(65vh,640px);border:1px solid var(--lijn);border-radius:4px;background:#fff;resize:vertical}
.ib-bijlagen{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.ib-bijlagen li{display:inline-flex;align-items:center;gap:.35rem}
.ib-bijlagen .link{display:inline-flex;align-items:center;gap:.3rem}
@media (max-width:640px){
  .ib-kop{flex-direction:column;gap:.15rem}
  .ib-wie{white-space:normal}
  .ib-menu-inhoud{right:0;left:auto}
  .ib-frame{height:60vh}
}

/* Orders (/beheer → Orders, enkel intern): zelfde tegels als de Inbox; status links als kleurstreep */
.or-info{margin:0 0 1rem;padding:.7rem 1rem;background:#FBF1E4;border-left:4px solid var(--kraft-hout);border-radius:4px;color:var(--inkt)}
.or-ok{margin:0 0 1rem;padding:.7rem 1rem;background:var(--bpc-licht);border-left:4px solid var(--bpc);border-radius:4px;color:var(--inkt)}
.or-tellerlijn{margin:-.5rem 0 .75rem}
.or-reeks-paneel{margin:0 0 1rem}
.or-reeks-paneel>summary{cursor:pointer}
.or-reeks{display:grid;gap:.6rem;max-width:34rem;margin-top:.6rem;padding:.8rem 1rem;background:#fff;border:1px solid var(--lijn);border-radius:6px}
.or-reeks label:not(.vinkje){display:grid;gap:.25rem;font-weight:600;font-size:.9rem}
.or-reeks .knop{justify-self:start}
.or-reeks-exact p{margin:0}
.or-reeks-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem!important}
.or-lijst{display:grid;gap:.75rem;margin-top:1rem}
.or-tegel{display:block;color:inherit;text-decoration:none}
.or-tegel:hover{background:#FCFBF8}
.or-tegel:hover strong{color:var(--kraft-donker)}
.or-regel{margin-top:.35rem}
.or-rand-in_exact{border-left-color:var(--bpc)}
.or-rand-fout_exact{border-left-color:#A63D32}
.or-rand-geannuleerd{border-left-color:var(--lijn)}
.badge.or-st{background:#F6E9D7;color:#7A5426}
.badge.or-naar_exact{background:#E3ECF6;color:#2B5A88}
.badge.or-in_exact{background:var(--bpc-licht);color:var(--bpc)}
.badge.or-fout_exact{background:#FBE9E6;color:#A63D32}
.badge.or-geannuleerd{background:var(--vlak);color:var(--grijs)}
.badge.or-test{background:#FFF4CC;color:#7A5C00;border:1px dashed #C9A227}
.or-kop{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.or-kop h2{margin:.25rem 0}
.or-form{display:grid;gap:1rem}
.or-form fieldset{border:0;padding:0;margin:0;min-width:0}
.or-form fieldset[disabled] input,.or-form fieldset[disabled] select,.or-form fieldset[disabled] textarea{background:var(--mist);color:var(--grijs)}
.or-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem 1.2rem}
.or-raster>label{display:grid;gap:.25rem;font-weight:600;font-size:.9rem}
.or-raster select,.or-raster input,.or-raster textarea{width:100%;min-width:0;max-width:100%}
.or-vrij{display:flex;gap:.5rem;flex-wrap:wrap;align-self:end}
.or-vrij[hidden]{display:none}
.or-vrij input{flex:1 1 10rem}
.or-goedk[hidden]{display:none}
.or-regels{width:100%;border-collapse:collapse}
.or-regels th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grijs);padding:.4rem .5rem;border-bottom:2px solid var(--inkt)}
.or-regels td{padding:.45rem .5rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.or-regels td span{display:block}
.or-aantal,.or-prijs{width:6.5rem}
.or-zoek{display:grid;gap:.3rem}
.or-resultaten{list-style:none;margin:0;padding:.4rem .6rem;background:#fff;border:1px solid var(--lijn);border-radius:6px;max-height:18rem;overflow:auto}
.or-resultaten li{padding:.2rem 0}
.or-resultaten .link{text-align:left}
.or-vorige>summary{cursor:pointer;font-weight:600}
.or-vorige ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}
.or-notitie{display:flex;gap:.5rem;margin-bottom:.75rem}
.or-notitie input{flex:1}
@media (max-width:640px){ .or-regels{min-width:34rem} }
.or-blok{margin:0;padding:.9rem 1rem 1rem !important;border:1px solid var(--lijn) !important;border-left:4px solid var(--kraft-hout) !important;border-radius:6px;background:#FCFBF8;display:grid;gap:.75rem}
.or-blok-standaard{border-left-color:var(--grijs) !important}
.or-blok-hdpe{border-left-color:var(--bpc) !important}
.or-blok>legend{display:flex;align-items:center;gap:.6rem;padding:0 .3rem;font-weight:700}
.or-blok>legend select{font-weight:700;width:auto}
.or-blokinfo:empty{display:none}
.or-blokinfo .or-info,.or-blokinfo .or-ok{margin:0}
.or-cliches{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.9rem}
.or-nieuwblok{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.or-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.or-vorige-kop{margin:.4rem 0 .2rem}
.badge.or-soortbadge{background:#fff;border:1px solid var(--lijn);color:var(--inkt)}
.pd-orders{margin:.25rem 0 .75rem}
.badge.or-nieuw{background:#fff;border:1px solid var(--lijn);color:var(--inkt)}
.badge.or-wacht_op_goedkeuring{background:#F6E9D7;color:#7A5426}
.badge.or-goedgekeurd{background:var(--bpc-licht);color:var(--bpc)}
.badge.or-gereed{background:var(--bpc);color:#fff}
.or-rand-gereed{border-left-color:var(--bpc)}
.or-rand-goedgekeurd{border-left-color:var(--bpc)}
.or-rand-wacht_op_goedkeuring{border-left-color:var(--kraft-hout)}
.or-prijsvraag{align-self:end}
.or-tl-mail{background:#FCFBF8}
.or-c-dozen span,.or-c-exact span,.or-c-lijst span{display:block;max-width:15rem}
.or-prijskeuze{font:inherit;font-weight:700;padding:.15rem .5rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);cursor:pointer;font-variant-numeric:tabular-nums}
.or-prijskeuze:hover{border-color:var(--bpc);color:var(--bpc)}
.or-prijskeuze.actief{background:var(--bpc-licht);border-color:var(--bpc);color:var(--bpc)}
.or-prijskeuze:disabled{cursor:default}
.or-c-totaal{display:block;margin-top:.3rem;font-variant-numeric:tabular-nums}
.or-ordertotaal{margin:.8rem 0 .2rem;font-size:1.05rem;display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline}
.or-ordertotaal b{font-size:1.25rem;color:var(--inkt);font-variant-numeric:tabular-nums}
.or-regels{min-width:40rem}
.or-pr{display:grid;grid-template-columns:4.6rem 1fr;gap:.4rem;align-items:start;padding:.15rem 0}
.or-pr + .or-pr{border-top:1px dashed var(--lijn);margin-top:.25rem;padding-top:.35rem}
.or-pr-l{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--grijs);padding-top:.25rem}
/* Proeven: IPG-velden (datum en uur aangevraagd, datum besteld) */
.pd-ipg{gap:1rem;flex-wrap:wrap;align-items:flex-end}
.pd-ipg label{flex:1 1 14rem}
.pd-ipg .pb-rij{align-items:center;gap:.5rem}
/* Relatiebeheer (/beheer → Relatiebeheer, enkel intern): klanten en contactpersonen uit Exact, zelfde kaarten als Inbox en Orders */
.rb-vernieuwen{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:baseline;margin:-.25rem 0 .9rem}
.rb-vernieuwen .link:disabled{color:var(--grijs);cursor:default;text-decoration:none}
.rb-lijst{display:grid;gap:.75rem}
.rb-kaart .rb-titel{color:inherit;text-decoration:none}
.rb-kaart .rb-titel:hover strong{color:var(--kraft-donker);text-decoration:underline}
.rb-geblokkeerd{border-left-color:#A63D32}
.rb-regel{margin-top:.2rem}
.rb-personen{list-style:none;margin:.5rem 0 0;padding:.5rem 0 0;border-top:1px dashed var(--lijn);display:grid;gap:.2rem}
.rb-personen li{display:flex;flex-wrap:wrap;gap:.15rem .5rem;align-items:baseline}
.rb-terug{margin:0 0 .5rem}
.rb-kop{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-bottom:.25rem}
.rb-kop h2{margin:0}
.rb-kop .knop{margin-left:auto}
.badge.rb-code{background:#fff;border:1px solid var(--lijn);color:var(--inkt)}
.rb-sectie{margin-top:1rem;border-top-width:1px}
.rb-sectie>h3{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .6rem}
.rb-sectie>h3 .knop{margin-left:auto}
.rb-gegevens{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem 1.2rem;margin:0}
.rb-gegevens dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--grijs)}
.rb-gegevens dd{margin:0;overflow-wrap:anywhere}
.rb-tabel{width:100%;border-collapse:collapse;min-width:40rem}
.rb-tabel th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grijs);padding:.45rem .6rem;border-bottom:2px solid var(--inkt)}
.rb-tabel td{padding:.45rem .6rem;border-bottom:1px solid var(--lijn);vertical-align:top;overflow-wrap:anywhere}
.rb-tabel td .badge{margin-left:.35rem}
.rb-weg{margin-top:.6rem}
.rb-weg>summary{cursor:pointer;color:var(--grijs)}
.rb-weg .rb-tabel{opacity:.75}
.rb-items{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.rb-items li{display:flex;flex-wrap:wrap;gap:.15rem .5rem;align-items:baseline}
.rb-datum{min-width:6.5rem;font-variant-numeric:tabular-nums}
.rb-rij{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.5rem}
.rb-rij select{font:inherit;padding:.5rem .6rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);max-width:100%}
#rbNotitie{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);resize:vertical}
.rb-form{display:grid;gap:.9rem;margin:0 0 1rem;border-top-width:1px;background:#FCFBF8}
.rb-form h3{margin:0}
.rb-form .or-raster select{font:inherit;padding:.6rem .7rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt)}
.rb-form ul{margin:.4rem 0;padding-left:1.2rem}
.rb-form .ib-fout,.rb-form .or-info{margin:0}
.rb-voorstel{margin:.2rem 0 0;align-self:end}
.rb-wijziging{margin:0 0 .75rem;padding:.6rem .9rem;border-left:4px solid var(--kraft-hout);background:#FBF1E4;border-radius:4px}
.rb-wijziging p{margin:.1rem 0}
.rb-wijziging.rb-w-in_exact{border-left-color:var(--bpc);background:var(--bpc-licht)}
.rb-wijziging.rb-w-fout{border-left-color:#A63D32;background:#F4DEDB}
.rb-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem!important}
.badge.rb-w-wacht,.badge.rb-w-bezig{background:#F6E9D7;color:#7A5426}
.badge.rb-w-in_exact{background:var(--bpc-licht);color:var(--bpc)}
.badge.rb-w-fout{background:#F4DEDB;color:#A63D32}
.ib-fiche{color:inherit;text-decoration:none}
.ib-fiche:hover b{color:var(--kraft-donker);text-decoration:underline}
.ib-nieuwcontact{margin-left:.4rem}
@media (max-width:640px){ .rb-kop .knop{margin-left:0} .rb-datum{min-width:0} }
/* Klantenportaal (/beheer): keuze Accounts / Activiteit bovenaan */
.kp-sub{display:inline-flex;margin:0 0 1rem}

/* Mailen vanuit het portaal (stap 2): opstelvenster (mail-opstellen.js), knoppen in het gesprek */
.mo-dialoog{width:min(56rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:1px solid var(--lijn);border-top:4px solid var(--inkt);border-radius:6px;
  background:#fff;color:var(--tekst);box-shadow:0 18px 40px rgba(29,29,27,.28)}
.mo-dialoog::backdrop{background:rgba(29,29,27,.45)}
.mo-dialoog.mo-slepen{outline:3px dashed var(--kraft-hout);outline-offset:-8px}
.mo-form{display:grid;gap:.7rem;padding:1rem 1.25rem 1.1rem}
.mo-kop{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.mo-kop h2{margin:0;font-size:1.35rem}
.mo-sluit{border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--grijs);padding:.1rem .4rem}
.mo-sluit:hover{color:var(--inkt)}
.mo-over{margin:-.35rem 0 0}
.mo-velden{display:grid;gap:.4rem}
.mo-rij{display:grid;grid-template-columns:6.5rem 1fr;align-items:center;gap:.6rem;font-weight:600;font-size:.9rem}
.mo-rij[hidden]{display:none}
.mo-rij input,.mo-rij select{padding:.5rem .65rem;font-size:.95rem}
.mo-rij select{font:inherit;border:1px solid var(--lijn);border-radius:6px;background:#fff;color:var(--inkt);justify-self:start}
.mo-van{font-weight:400}
.mo-adres{position:relative;display:block;font-weight:400}
.mo-voorstel{position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:30;list-style:none;margin:0;padding:.25rem;max-height:20rem;overflow:auto;
  background:#fff;border:1px solid var(--lijn);border-top:3px solid var(--inkt);border-radius:6px;box-shadow:0 14px 32px rgba(29,29,27,.18)}
.mo-voorstel[hidden]{display:none}
.mo-voorstel li{display:grid;grid-template-columns:auto 1fr;gap:0 .5rem;padding:.4rem .6rem;border-left:3px solid transparent;border-radius:4px;cursor:pointer}
.mo-voorstel li.actief,.mo-voorstel li:hover{background:var(--mist);border-left-color:var(--kraft-hout)}
.mo-vs-naam{font-weight:650;color:var(--inkt)}
.mo-vs-mail{color:var(--grijs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mo-vs-org{grid-column:1/-1;font-size:.8rem;color:var(--kraft-donker)}
.mo-contacten{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-left:7.1rem}
.mo-contacten[hidden]{display:none}
.mo-bcc-knop{margin:0 0 0 7.1rem}
.mo-bcc-knop[hidden]{display:none}
.mo-werkbalk{display:flex;flex-wrap:wrap;gap:.3rem;padding:.35rem;border:1px solid var(--lijn);border-bottom:0;border-radius:6px 6px 0 0;background:var(--mist);margin-bottom:-.7rem}
.mo-werkbalk button{font:inherit;font-size:.85rem;padding:.3rem .6rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);cursor:pointer;min-width:2.1rem}
.mo-werkbalk button:hover{border-color:var(--kraft-hout);color:var(--kraft-donker)}
.mo-tekst{min-height:12rem;max-height:45vh;overflow:auto;padding:.7rem .85rem;border:1px solid var(--lijn);border-radius:0 0 6px 6px;background:#fff;
  font:14px/1.5 Arial,Helvetica,sans-serif;color:#1D1D1B;overflow-wrap:anywhere}
.mo-tekst:focus{outline:2px solid var(--kraft-hout);outline-offset:-1px}
.mo-tekst p{margin:0 0 .6em}
.mo-tekst a{color:#336029}
.mo-tekst img{max-width:100%;height:auto}
.mo-tekst table{border-collapse:collapse;margin:.4em 0}
.mo-tekst td,.mo-tekst th{min-width:2em;vertical-align:top}
.mo-handtekening{padding:.5rem .85rem;border-left:3px solid var(--lijn);font:13px/1.5 Arial,Helvetica,sans-serif;color:#1D1D1B}
.mo-handtekening .mo-logo{display:block;width:140px;height:auto;margin:.5rem 0 .4rem}
.mo-hregels{border-top:3px solid #B8895A;padding-top:5px;font-size:12px;color:#5F5A52}
.mo-hform{display:grid;gap:.3rem;font:600 .88rem/1.4 "Archivo","Helvetica Neue",Arial,sans-serif}
.mo-hform textarea{font:13px/1.5 Arial,Helvetica,sans-serif;padding:.5rem;border:1px solid var(--lijn);border-radius:6px}
.mo-citaat{margin:-.2rem 0 0}
.mo-bijlagen{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
.mo-bijlagen ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;flex:1 1 100%}
.mo-bijlagen ul:empty{display:none}
.mo-bijlagen li{display:flex;flex-wrap:wrap;gap:.2rem .5rem;align-items:baseline}
.mo-bijlage-knop{cursor:pointer}
.mo-acties{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.mo-form .melding:empty{display:none}
.mo-toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 2rem);padding:.75rem 1.1rem;
  background:var(--inkt);color:#fff;border-radius:6px;box-shadow:0 10px 24px rgba(29,29,27,.3);font-weight:600}
.mo-toast[hidden]{display:none}
.ib-antwoord{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
.ib-gesprek-kop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem}
.ib-via{color:var(--bpc);font-weight:600}
@media (max-width:640px){
  .mo-dialoog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .mo-form{padding:.8rem 16px 1rem}
  .mo-rij{grid-template-columns:1fr;gap:.2rem}
  .mo-contacten,.mo-bcc-knop{margin-left:0}
}
/* Prijsafspraken (Relatiebeheer → klantfiche; orderscherm) */
.pa-sectie .rb-tabel{min-width:34rem}
.pa-tabel td>span.klein{display:block}
.pa-code{display:inline-block;margin:0 .25rem .2rem 0;padding:.05rem .45rem;border:1px solid var(--lijn);border-radius:3px;background:#fff;font-size:.85rem;font-weight:600}
.pa-acties{white-space:nowrap;text-align:right}
.pa-acties .link+.link{margin-left:.6rem}
.pa-form{display:grid;gap:.8rem;margin:.4rem 0 .8rem;padding:.9rem 1rem;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);border-radius:6px;background:#FCFBF8}
.pa-form>label,.pa-tekst{display:grid;gap:.3rem;font-weight:600}
.pa-form select,.pa-form input:not([type=radio]):not([type=checkbox]),.pa-tekst textarea{font:inherit;font-weight:400;padding:.55rem .7rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;color:var(--inkt);max-width:100%}
.pa-form select{max-width:22rem}
#paPrijs,#paKorting{max-width:10rem}
.pa-form>label.vinkje{display:flex;align-items:center;gap:.5rem;font-weight:400}
.pa-form label .klein,.pa-tekst .klein{font-weight:400}
.pa-label{font-weight:600}
.pa-artikels{display:grid;gap:.4rem}
.pa-chip{padding-right:.1rem}
.pa-vorm{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.pa-vorm legend{padding:0;margin-bottom:.3rem}
.pa-tekst{margin-top:.8rem}
.pa-tekst textarea{width:100%;resize:vertical}
.pa-historie{margin-top:.8rem}
.pa-historie summary{cursor:pointer}
.or-afspraken{margin:0 0 1rem;padding:.7rem 1rem;background:var(--bpc-licht);border-left:4px solid var(--bpc);border-radius:4px;color:var(--inkt)}
.or-afspraken p{margin:.15rem 0}
.or-afspraken ul{margin:.3rem 0;padding-left:1.2rem}
.or-afspraken-tekst{white-space:pre-line}
.or-afspraak{font-weight:600;color:var(--bpc)}
.or-afspraak.afwijkend{color:var(--kraft-donker)}
.or-korting{width:4rem}
.or-korting-veld{white-space:nowrap}

/* Orders, stap 4: goedkeuring door de besteller en orderbevestiging sturen */
.or-besteller{margin:0 0 1rem;border-left:4px solid var(--kraft-hout)}
.or-besteller.or-te-doen{border-left-color:#A63D32}
.or-besteller h3{margin:0 0 .5rem}
.or-besteller>p{margin:.3rem 0}
.or-besteller .acties{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}
.or-antwoord{margin:.6rem 0;padding:.6rem .8rem;background:var(--mist);border-left:3px solid var(--lijn);border-radius:4px}
.or-antwoord.nieuw{border-left-color:#A63D32;background:#FBF1E4}
.or-antwoord p{margin:0}
.or-antwoord-tekst{margin-top:.35rem!important;white-space:pre-wrap;font-size:.92rem;color:var(--inkt)}
.badge.or-vs-akkoord{background:var(--bpc-licht);color:var(--bpc)}
.badge.or-vs-aanpassing{background:#FBE7E4;color:#A63D32}
.badge.or-vs-onduidelijk{background:var(--mist);color:var(--grijs)}
.badge.or-actie{background:#FBF1E4;color:var(--kraft-donker);border:1px solid var(--kraft-hout)}
.or-beslis{display:grid;gap:.6rem;margin-top:.75rem;padding:.8rem 1rem;background:var(--mist);border:1px solid var(--lijn);border-radius:6px}
.or-beslis label:not(.vinkje){display:grid;gap:.25rem;font-weight:600;font-size:.9rem}
.or-beslis select,.or-beslis textarea{font:inherit;padding:.5rem .65rem;border:1px solid var(--lijn);border-radius:6px;background:#fff}
.or-beslis .acties{display:flex;gap:.6rem;align-items:center}
.or-beslis .melding:empty{display:none}
.or-bevestiging{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin:-.5rem 0 1rem;padding:.6rem 1rem;background:#fff;border:1px solid var(--lijn);border-radius:6px}
/* Bestellingen in voorbereiding (tabblad Bestellingen): nog niet bevestigde orders en waarop we wachten */
.voorbereiding{margin:0 0 1.75rem}
.voorbereiding[hidden]{display:none}
.voorbereiding h2{font-size:1.25rem;margin:0 0 .25rem}
.voorbereiding>.stil{margin:0 0 .9rem;max-width:52em}
.vb-melding{display:inline-block;margin:0 0 .9rem;padding:.4rem .75rem;background:#F6E9D7;color:#7A5426;font-weight:650;border-radius:4px}
.order.vb{border-left-color:var(--kraft-hout)}
.order.vb.vb-actie{border-left-color:#C77A1E}
.order.vb.vb-verwerking{border-left-color:var(--bpc)}
.vo-status.vb-actie{background:#F6E9D7;color:#7A5426}
.vo-status.vb-bpc{background:#E3ECF6;color:#2B5A88}
.vo-status.vb-verwerking{background:var(--bpc-licht);color:var(--bpc)}
.vb-testlabel{display:inline-block;margin-top:.3rem;font-size:.78rem;font-weight:650;padding:.1rem .5rem;border-radius:99px;background:var(--vlak);color:var(--grijs)}
.vb-wacht{margin-top:.9rem;padding:.85rem 1rem;background:var(--mist);border-radius:6px}
.vb-vraag{margin:0 0 .55rem;font-weight:750;color:var(--inkt)}
.vb-stappen{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.vb-stappen>li{position:relative;padding-left:2rem;display:grid;gap:.1rem;justify-items:start}
.vb-stappen>li::before{content:"";position:absolute;left:0;top:.05rem;width:1.3rem;height:1.3rem;border-radius:50%;box-sizing:border-box;
  border:2px solid var(--lijn);background:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800;line-height:1.1rem;text-align:center}
.vb-stappen>li.klaar::before{content:"✓";background:var(--bpc);border-color:var(--bpc);color:#fff}
.vb-stappen>li.actie::before{content:"!";background:#C77A1E;border-color:#C77A1E;color:#fff}
.vb-stappen>li.bpc::before{content:"…";border-color:#2B5A88;color:#2B5A88;line-height:.8rem}
.vb-stappen>li.volgt{color:var(--grijs)}
.vb-stappen>li.klaar .vb-titel{color:var(--grijs)}
.vb-titel{font-weight:650;color:var(--inkt)}
.vb-uitleg{font-size:.92rem;color:var(--grijs)}
.vb-stappen>li.actie .vb-uitleg{color:#7A5426;font-weight:600}
.vb-stappen .knop{margin-top:.3rem}
.vb-opmerking{margin:.75rem 0 0;font-size:.92rem}
.vb-artikels{margin-top:.75rem}
.vb-artikels>summary{cursor:pointer;color:var(--kraft-donker);font-weight:600;list-style:none}
.vb-artikels>summary::-webkit-details-marker{display:none}
.vb-artikels .verberg,.vb-artikels[open] .toon{display:none}
.vb-artikels[open] .verberg{display:inline}
.vb-blokken{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.7rem}
.vb-blokkop{font-size:.85rem;font-weight:700;color:var(--kraft-donker);text-transform:uppercase;letter-spacing:.03em}
.vb-blok ul{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.3rem}
.vb-blok li{display:flex;flex-wrap:wrap;gap:.1rem .6rem;align-items:baseline;padding:.35rem 0;border-bottom:1px solid var(--lijn)}
.vb-blok li .code{font-size:.85rem;color:var(--grijs)}
.vb-aantal{margin-left:auto;font-weight:650;font-variant-numeric:tabular-nums}
.vb-bevestigd-titel{font-size:1.25rem;margin:0 0 .6rem}
.vb-bevestigd-titel[hidden]{display:none}

/* Orders: verplichte velden om in te dienen (PO, leverdatum) */
.or-verplicht{color:#A63D32;font-weight:700}

/* Relatiebeheer: ontvangers van de dagmail per klant */
.rb-dagmail{margin:.9rem 0;padding:.8rem 1rem;background:var(--mist);border:1px solid var(--lijn);border-radius:6px}
.rb-dagmail-kop{margin:0 0 .4rem}
.rb-dagmail-lijst{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.2rem}
.rb-dagmail-lijst .vinkje{margin:0}
.rb-dagmail-extra{display:grid;gap:.25rem;font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.rb-dagmail .acties{display:flex;gap:.6rem;align-items:center}

/* Orders: klanttype (Grossier / Grossier mandaat) ontbreekt */
.or-klanttype{margin:0 0 1rem;padding:.7rem 1rem;background:#FBE7E4;border-left:4px solid #A63D32;border-radius:4px;color:var(--inkt)}
.or-klanttype p{margin:0 0 .5rem}
.or-klanttype .acties{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.or-klanttype select{font:inherit;padding:.45rem .6rem;border:1px solid var(--lijn);border-radius:6px;background:#fff}
/* Proeven: controle van het clichénummer tegen Exact */
.pd-exact-waarsch{border-left:3px solid #A63D32;background:#FBEDEA;padding:.5rem .8rem;margin:.4rem 0;color:var(--inkt);border-radius:2px}
.pd-exact-waarsch p{margin:.2rem 0}
.pb-controle{margin:.2rem 0 .5rem;padding-left:1.2rem}
/* Proeven: stappen van een clichédossier, formaten kiezen, bronbestanden en briefing aan IPG */
.pd-stappen{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.4rem;list-style:none;padding:0;margin:.6rem 0 1rem;counter-reset:stap}
.pd-stappen li{counter-increment:stap;background:#fff;border:1px solid var(--lijn);border-top:3px solid #D6D0C4;padding:.45rem .6rem;display:flex;flex-direction:column;gap:.1rem}
.pd-stappen li::before{content:counter(stap);font-size:.75rem;font-weight:700;color:var(--grijs)}
.pd-stappen li.klaar{border-top-color:var(--bpc)}
.pd-stappen li.klaar::before{content:counter(stap) " ✓";color:var(--bpc)}
.pd-voorb{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-bottom:.5rem}
.pd-voorb-blok{background:#fff;border:1px solid var(--lijn);padding:.6rem .9rem .8rem}
.pd-voorb-blok .pd-sub{margin-top:0}
.pd-bron{list-style:none;padding:0;margin:.2rem 0 .5rem}
.pd-bron li{padding:.2rem 0;border-bottom:1px solid var(--lijn)}
.pd-bron-op{cursor:pointer;display:inline-block;margin:.2rem 0}
.pd-ok-tekst{color:var(--bpc);font-weight:600}
.pd-kies-rij{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;border-bottom:1px solid var(--lijn);padding:.4rem 0}
.pd-kies-rij label{flex:1 1 10rem}
.pd-kies-rij .kies-banen-l{flex:0 1 7rem}
/* Proeven: contactpersonen uit Exact als voorstel bij de ontvangers */
.pb-contacten{margin:.6rem 0}
.pb-contacten ul{list-style:none;padding:0;margin:.2rem 0;display:flex;flex-direction:column;gap:.25rem}
.pb-contacten li{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}

/* Relatiebeheer: leveranciers (13 okt 2026) */
.badge.rb-lev{background:#EFE4D6;border:1px solid var(--kraft);color:#8A5F33}
.rb-lev-lijst{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.35rem}
.rb-lev-lijst li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem .8rem;padding:.35rem 0;border-bottom:1px dashed var(--lijn)}
.rb-lev-lijst li:last-child{border-bottom:0}
#rbLevZoek{width:100%;max-width:32rem}
/* Relatiebeheer: hoofdcontactpersoon en dubbels samenvoegen (13 okt 2026) */
.badge.rb-hoofd{background:var(--bpc-licht);border:1px solid var(--bpc);color:var(--bpc)}
.rb-dubbel{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}
.rb-samen{margin:0 0 1rem;border:2px solid var(--kraft)}
.rb-samen h4{margin:0 0 .3rem}
.rb-samen td:nth-child(-n+2){width:3.5rem;text-align:center}
.rb-samen tr:not(.rb-samen-aan) td{color:var(--grijs)}
.rb-samen-aan td{background:#FBF1E4}
.rb-samen .or-raster label{display:flex;flex-direction:column;gap:.2rem}
.rb-samen-waarde{padding:.4rem 0;font-weight:600}
.rb-samen-uitleg{margin:.6rem 0;padding-left:1.2rem}
.rb-samen-uitleg li{margin:.15rem 0}

/* Orders → Dashboard (13 okt 2026): kerncijfers, bestelwaarde per soort, top 5 klanten */
.or-dash-periode label{display:inline-flex;align-items:center;gap:.4rem}
.or-dash-periode input[type=date]{padding:.35rem .5rem;border:1px solid var(--lijn);border-radius:4px;font:inherit;background:#fff}
.or-dash-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin:1rem 0}
.or-dash-kpi .statuskaart{margin:0;display:flex;flex-direction:column;gap:.25rem}
.or-dash-kpi span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--grijs)}
.or-dash-kpi b{font-size:1.9rem;font-weight:800;font-stretch:110%;color:var(--inkt);font-variant-numeric:tabular-nums}
.or-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.75rem;align-items:start}
.or-dash-grid .statuskaart{margin:0}
.or-dash-grid h3{margin:0 0 .75rem}
.or-dash-rij{margin:.6rem 0}
.or-dash-tekst{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;align-items:baseline}
.or-dash-tekst>span:first-child{overflow-wrap:anywhere;line-height:1.3}
.or-dash-tekst>span:last-child{white-space:nowrap;text-align:right}
.or-dash-tekst b{font-variant-numeric:tabular-nums}
.or-dash-balk{height:8px;background:var(--mist);border-radius:4px;overflow:hidden;margin-top:.3rem}
.or-dash-balk i{display:block;height:100%;background:var(--bpc);border-radius:4px}
.or-dash-top{list-style:none;margin:0;padding:0;counter-reset:top}
.or-dash-top li{counter-increment:top;display:grid;grid-template-columns:1.4rem minmax(0,1fr);align-items:start}
.or-dash-top li::before{content:counter(top);font-weight:800;color:var(--kraft-donker);line-height:1.3;margin-top:.6rem}
.or-dash-top a{color:var(--inkt);font-weight:600}
@media (max-width:480px){.or-dash-tekst{grid-template-columns:1fr}.or-dash-tekst>span:last-child{text-align:left}}

/* Orders → blok nieuwe druk: nieuw clichénummer of extra formaat op een bestaand cliché (13 okt 2026) */
.or-proefkeuze{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.5rem}
.or-proefkeuze .or-bestaand-nr{width:9rem;padding:.45rem .6rem;border:1px solid var(--lijn);border-radius:4px;font:inherit;background:#fff}
/* Proeven: formaten als tabel met details eronder, knoppen Formaten toevoegen / Proeven opladen (13 okt 2026) */
.pd-fkop{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.pd-fkop .pd-sub{margin:0}
.pd-fknoppen{display:flex;gap:.5rem;flex-wrap:wrap}
.pd-fpaneel{margin:.6rem 0}
.pf-overzicht{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--lijn);margin:.6rem 0}
.pf-overzicht th{text-align:left;font-size:.75rem;font-weight:600;color:var(--grijs);padding:.5rem .7rem;border-bottom:2px solid var(--kraft);white-space:nowrap}
.pf-overzicht td{padding:.55rem .7rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.pf-overzicht td span.klein{display:block}
.pf-overzicht .getal{text-align:right;white-space:nowrap}
.pf-overzicht .badge{margin-left:0}
.pf-rij{cursor:pointer}
.pf-rij:hover td{background:#FBF8F2}
.pf-rij.gekozen td{background:var(--bpc-licht)}
.pf-rij.gekozen td:first-child{box-shadow:inset 4px 0 0 var(--bpc)}
.pd-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.25rem;align-items:start;background:#fff;border:1px solid var(--lijn);padding:1rem;margin-bottom:1rem}
.pd-detail .pdf-kader:empty{display:none}
@media (max-width:900px){.pd-detail{grid-template-columns:1fr}}
.pd-ipg-datums{margin-top:.7rem}
.pd-detail.zonder-pdf{grid-template-columns:1fr}
.pd-detail.zonder-pdf .pd-detail-info{max-width:44rem}
/* Koppeling proefdossier ↔ orders (13 okt 2026) */
.pd-orderblok{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft);padding:.7rem 1rem;margin:.8rem 0}
.pd-orderkop{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
.pd-orderkop .pd-sub{margin:0}
.pd-orderkop .tel{display:inline-block;min-width:1.4em;text-align:center;font-size:.75rem;background:var(--kraft);color:#fff;border-radius:999px;padding:0 .4em;margin-left:.3rem}
.pd-ordertabel{margin:.6rem 0 0}
.or-proefkop{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .8rem}
.or-proefkaart{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.5rem .8rem;background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft);color:var(--inkt);text-decoration:none}
.or-proefkaart:hover{border-color:var(--kraft)}
.or-proefkaart.klaar{border-left-color:var(--bpc)}
.or-proefkaart .stil{flex-basis:100%}
/* Orders: cliché zoeken (lijst onder het veld) */
label:has(> .or-czoek-veld),.or-proefkeuze{position:relative}
.or-czoek{position:absolute;z-index:30;left:0;right:0;top:100%;min-width:22rem;max-height:20rem;overflow:auto;list-style:none;margin:2px 0 0;padding:.2rem 0;background:#fff;border:1px solid var(--lijn);box-shadow:0 6px 18px rgba(0,0,0,.12);font-weight:400}
.or-czoek li{padding:.4rem .7rem;cursor:pointer;font-size:.9rem;line-height:1.35}
.or-czoek li.actief,.or-czoek li[data-czoek]:hover{background:var(--bpc-licht)}
.or-proefkeuze .or-czoek{left:auto;right:0;width:min(30rem,90vw)}

/* Proeven: klaargezet (opgeladen, nog niet naar de klant), knop per formaat minder opvallend, opmerking aan IPG (13 okt 2026) */
.pd-klaar-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .45rem;border:1px dashed #8A5F33;color:#8A5F33;background:#FBF1E4;white-space:nowrap}
.pd-klaar-info{margin:.6rem 0 0;padding:.55rem .8rem;background:#FBF1E4;border-left:4px solid #B8895A;font-size:.9rem}
.pd-actie.pd-actie-stil{border-style:dashed;background:transparent}
.pd-actie.pd-actie-stil>summary{font-weight:500;font-size:.85rem;color:#67625A}
.pd-ipg-corr{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #E2DDD3}
.pd-ipg-corr .pd-sub{font-size:.95rem;margin:0 0 .4rem}
.pd-nota{display:block;margin-top:.2rem;font-size:.8rem;font-style:italic;color:#67625A}

/* Inbox → Bestaande order koppelen (13 okt 2026) */
.ib-orderzoek{display:flex;gap:.5rem;align-items:center}
.ib-orderzoek input{flex:1;min-width:0}
.ib-orders{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.35rem}
.ib-orders li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .6rem;border:1px solid var(--lijn);border-radius:4px;background:#fff;font-size:.88rem}

/* Orders → overzicht: eindklant en orderwaarde op de tegel (13 okt 2026) */
.or-eindklant{color:var(--grijs);font-size:.9rem;margin-left:.25rem}
.or-eindklant b{color:var(--inkt);font-weight:600}
.or-waarde{font-weight:800;font-variant-numeric:tabular-nums;color:var(--inkt);margin-right:.5rem;white-space:nowrap}
.or-tegel .ib-wie{white-space:normal}
.or-tegel .ib-meta{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;row-gap:.3rem}
@keyframes pd-flits{from{background:#E4EDDF}to{background:transparent}}
.melding.pd-flits{animation:pd-flits 2.5s ease-out;padding:.3rem .5rem}
.pd-weg-formaat{margin:.6rem 0 0}
.pd-versies-rijen input[name^=vfnota]{min-width:12rem}

/* Klantenportaal → Accounts per klant: kopregel per klant, de accounts (personen) eronder ingesprongen */
.accounts tr.klant-kop td{background:var(--mist);padding:.85rem .8rem .55rem;border-bottom:1px solid var(--lijn);border-top:2px solid var(--inkt)}
.accounts tbody tr.klant-kop:first-child td{border-top:0}
.klant-kop .kk-naam{display:block;font-weight:750;font-size:1rem;color:var(--inkt)}
.klant-kop .kk-naam a{color:var(--inkt);text-decoration:none;border-bottom:1px solid var(--lijn)}
.klant-kop .kk-naam a:hover{border-bottom-color:var(--inkt)}
.accounts td.acc-persoon{padding-left:1.6rem}
@media (max-width:760px){
  .accounts tr.klant-kop,.accounts tr.klant-kop td{display:block}
  .accounts td.acc-persoon{padding-left:.6rem}
}

/* Orders → toeslagen per regel: compacte chips (13 okt 2026) */
.or-ts-rij td{padding-top:0!important;border-top:0!important}
.or-ts-rij:has(.or-c-toeslagen:empty){display:none}
.or-c-toeslagen{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;padding:.35rem .5rem;margin-bottom:.3rem;background:var(--mist);border-radius:4px}
.or-c-toeslagen .or-pr-l{padding-top:0}
.or-ts-lijst{display:flex;flex-wrap:wrap;gap:.25rem .3rem}
.or-c-toeslagen label.or-ts{display:inline-flex;align-items:center;gap:.3rem;margin:0;padding:.12rem .5rem;border:1px solid var(--lijn);border-radius:999px;background:#fff;
  font-size:.76rem;font-weight:500;line-height:1.35;color:var(--grijs);cursor:pointer;white-space:nowrap;position:relative}
.or-c-toeslagen label.or-ts input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.or-c-toeslagen label.or-ts b{font-weight:600;color:inherit}
.or-c-toeslagen label.or-ts:hover{border-color:var(--kraft-hout)}
.or-c-toeslagen label.or-ts:focus-within{outline:2px solid var(--kraft-hout);outline-offset:1px}
.or-c-toeslagen label.or-ts.aan{background:var(--bpc-licht);border-color:var(--bpc);color:var(--bpc-donker)}
.or-c-toeslagen label.or-ts.aan::before{content:"✓";font-weight:700}
.or-c-toeslagen label.or-ts:has(input:disabled){cursor:default;opacity:.8}
.or-ts-melding{flex-basis:100%;margin:0;line-height:1.45}
/* Voorstel uit een proef die pas later kwam (21 okt 2026) */
.or-ts-laat{flex-basis:100%;display:block;margin:.4rem 0 0;padding:.45rem .6rem;line-height:1.5;background:#FBF3E8;border-left:3px solid #B8895A}
.or-ts-laat .knop{margin:.3rem .5rem 0 0}
/* Toeslagen nakijken (22 okt 2026): uit een proef in het portaal (groen) of zelf nakijken (oranje) */
.or-ts-stand{flex-basis:100%;display:block;margin:.35rem 0 .1rem;padding:.4rem .6rem;line-height:1.5;border-left:3px solid var(--lijn)}
.or-ts-stand.ok{background:#F1F6EF;border-left-color:#336029}
.or-ts-stand.nakijken{background:#FDF0E1;border-left-color:#C2660A}
.or-ts-stand.nakijken b:first-child{color:#9A4D05}
.or-ts-stand .knop{margin:.3rem .5rem 0 0}
.or-ts-prijs{display:block;white-space:nowrap;color:var(--bpc-donker)}
.or-ts-hint{display:block;white-space:nowrap}

/* Opstelvenster: knop "Vertaal naar het Frans" (enkel als IPG een ontvanger is, 13 okt 2026) */
.mo-werkbalk button[hidden]{display:none}
.mo-werkbalk .mo-vertaal{margin-left:auto;border-color:var(--bpc);color:var(--bpc-donker);font-weight:600}

/* Privacyverklaring: bij privacy#cookies of #recaptcha valt de titel niet onder de vaste kopbalk (13 okt 2026) */
.privacy h2[id] { scroll-margin-top: 6rem; }

/* Proeven: kleuren en artikels van de proef (uit het stempel van IPG, 13 okt 2026) */
.pd-kleuren:empty{display:none}
.pd-kleuren{background:#fff;border:1px solid var(--lijn);padding:1rem;margin:-.25rem 0 1rem}
.pd-kleuren .pd-sub{margin-top:0}
.pd-kl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,16rem);gap:1rem;align-items:start}
@media (max-width:700px){.pd-kl{grid-template-columns:1fr}}
.pd-kl-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0}
.pd-kl-chip{font-weight:600}
.pd-kl-bron{margin:0}
.pd-kl-foto img{display:block;max-width:100%;max-height:16rem;border:1px solid var(--lijn);background:#fff}
.pd-kl-foto .link{padding:0}
.pd-kl-edit{margin-top:.5rem}
.pd-kl-velden{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.4rem;margin:.4rem 0}
.pd-kl-sub{font-size:.95rem;margin:1rem 0 .3rem}
.pd-kl-tabel td{vertical-align:top}
.pd-kl-tabel td b + .stil{display:block}
.pd-kl-tabel select{max-width:14rem}
.pd-kl-mini{width:3.5rem;height:3.5rem;object-fit:contain;border:1px solid var(--lijn);background:#fff}
.pd-kl-vg{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .45rem;white-space:nowrap;border:1px solid}
.pd-kl-ok{color:#336029;border-color:#336029;background:#EEF4EC}
.pd-kl-let{color:#8A5F33;border-color:#8A5F33;background:#FBF1E4}
.pd-kl-fout{color:#A12A1C;border-color:#A12A1C;background:#FBEDEA}
.pf-overzicht .pd-kl-cel{max-width:14rem}
.pd-kl-chip{cursor:pointer;font:inherit;border:1px solid var(--lijn)}
.pd-kl-chip:hover{border-color:#8A5F33}
.pd-kl-chip .pd-kl-kop{color:#8A5F33}
.pd-kl-chip.gekopieerd,.pd-kl-chips .link.gekopieerd{background:#EEF4EC;border-color:#336029}
.pd-kl-chip.gekopieerd .pd-kl-kop::after{content:" gekopieerd";font-size:.75rem;color:#336029}
/* HDPE: aankoop bij Vas és Tàrsai in het orderscherm (orders.js hdpeHtml, 14 okt 2026) */
.or-hdpe{margin:.6rem 0 .9rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout)}
.or-hdpe>p{margin:0 0 .6rem}
.or-hdpe-stappen{list-style:none;margin:0;padding:0;counter-reset:hs;display:grid;gap:.55rem}
.or-hdpe-stappen>li{counter-increment:hs;display:grid;grid-template-columns:1.6rem 11rem 1fr;gap:.2rem .6rem;align-items:start;color:var(--grijs)}
.or-hdpe-stappen>li::before{content:counter(hs);width:1.35rem;height:1.35rem;border-radius:50%;border:1px solid var(--lijn);display:grid;place-items:center;font-size:.75rem;font-weight:700}
.or-hdpe-stappen>li.nu{color:var(--tekst)}
.or-hdpe-stappen>li.nu::before{background:var(--kraft-hout);border-color:var(--kraft-donker);color:#fff}
.or-hdpe-stappen>li.klaar{color:var(--tekst)}
.or-hdpe-stappen>li.klaar::before{content:"✓";background:var(--bpc);border-color:var(--bpc);color:#fff}
.or-hdpe-stappen>li>b{padding-top:.1rem}
.or-hdpe-stappen>li>div{font-size:.9rem;line-height:1.5}
.or-hdpe-stappen>li>div .knop{margin:0 .5rem .2rem 0}
.or-hdpe-lever{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:.35rem 0 0;font-weight:400}
.or-hdpe-lever input{width:auto;max-width:11rem;padding:.3rem .5rem}
.or-vas{background:var(--mist);margin:-.15rem -.3rem .3rem;padding:.25rem .3rem}
.or-vas .or-prijs{max-width:6.5rem}
.or-aankoop{border-left:4px solid var(--kraft-hout)}
.or-aankoop-groep{display:contents}
@media (max-width:700px){.or-hdpe-stappen>li{grid-template-columns:1.6rem 1fr}.or-hdpe-stappen>li>div{grid-column:2}}
/* HDPE: offertes van Vas in het orderscherm (orders.js offertesHtml, 14 okt 2026) */
.or-hdpe-offertes{margin-top:.5rem;display:grid;gap:.5rem}
.or-offerte{border:1px solid var(--lijn);border-left:4px solid var(--lijn);padding:.5rem .7rem;background:var(--mist)}
.or-offerte.past{border-left-color:var(--bpc)}
.or-offerte>p{margin:0 0 .35rem}
.or-offerte-gegevens{display:grid;grid-template-columns:max-content 1fr;gap:.1rem .8rem;margin:0 0 .4rem;font-size:.85rem}
.or-offerte-gegevens dt{color:var(--grijs)}
.or-offerte-gegevens dd{margin:0}
.or-offerte-optie{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .5rem;margin:.25rem 0}
/* Aanpassing gevraagd: vraag van de klant + knop naar IPG (14 okt 2026) */
.pd-aanpassing p,.pd-bestel p{margin:.2rem 0}
.pd-aanpassing blockquote{margin:.35rem 0;padding:.4rem .7rem;background:#fff;border-left:3px solid #B8895A;font-weight:400;white-space:pre-wrap}

/* Orders: automatisch bewaren (14 okt 2026) – stand naast de knoppen */
.or-bewaard{margin-left:auto;align-self:center}
.or-bewaard.fout{color:#B42318;font-weight:600}

/* AI in de Inbox en het orderscherm (14 okt 2026): soort + samenvatting, voorstel van de AI om na te kijken */
.ib-ai{margin:.35rem 0 .1rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;line-height:1.45}
.ib-ai-soort{display:inline-block;padding:.05rem .45rem;border:1px solid #B8895A;color:#8A5F33;background:#F5F3EE;font-weight:600;font-size:.78rem;white-space:nowrap}
.ib-ai-bestelling,.ib-ai-wijziging{border-color:#336029;color:#336029;background:#E8F0E5}
.ib-ai-leveringsvraag,.ib-ai-klacht{border-color:#1D1D1B;color:#1D1D1B;background:#fff}
.ib-ai-andere{border-color:#ccc;color:#777;background:#fafafa}
.ib-ai-knop{margin-left:.25rem}
.or-ai-kop,.mo-ai{background:#F5F3EE;border-left:4px solid #B8895A;padding:.6rem .9rem;margin:.6rem 0}
.or-ai-kop p{margin:.15rem 0}.or-ai-kop ul{margin:.3rem 0 0;padding-left:1.2rem}
.or-ai{display:block;color:#8A5F33;margin-top:.15rem}
.mo-ai{margin:0 0 .6rem}

/* Mailen vanuit het proefdossier (14 okt 2026) */
.pd-links-kop .pd-mailknoppen{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem}
.tl-item .pd-mailknoppen,.pd-knoppen.pd-mailknoppen{margin-top:.4rem}
/* HDPE: orderlijst van Vas nakijken (vas-controle-venster.js, 14 okt 2026) */
.ib-vas{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.4rem 0;padding:.45rem .7rem;background:var(--mist);border-left:4px solid var(--kraft-hout);font-size:.9rem}
.ib-vas .knop{margin-left:auto}
.vc-dialoog{width:min(60rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;border:1px solid var(--lijn);border-top:4px solid var(--inkt);border-radius:6px;background:var(--papier,#fff);color:var(--tekst)}
.vc-dialoog::backdrop{background:rgba(29,29,27,.45)}
.vc-kop{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--lijn);position:sticky;top:0;background:inherit;z-index:1}
.vc-kop h2{margin:0;font-size:1.15rem}
.vc-inhoud{padding:.8rem 1.1rem 1.1rem}
.vc-oordeel{margin:.6rem 0;padding:.6rem .8rem;font-weight:700;border-left:5px solid var(--lijn)}
.vc-oordeel.ok,.vc-al.ok{background:var(--bpc-licht);border-left-color:var(--bpc)}
.vc-oordeel.let,.vc-al.let{background:#FBF3E6;border-left-color:var(--kraft-hout)}
.vc-oordeel.fout{background:#FBEAE8;border-left-color:#B42318;color:#7A1A12}
.vc-al{margin:.4rem 0;padding:.4rem .7rem;border-left:4px solid var(--lijn);font-size:.9rem}
.vc-regel{margin:.8rem 0;padding:.6rem .8rem;border:1px solid var(--lijn);border-left:4px solid var(--lijn)}
.vc-regel.ok{border-left-color:var(--bpc)}.vc-regel.let{border-left-color:var(--kraft-hout)}.vc-regel.fout{border-left-color:#B42318}
.vc-regel h3{margin:0 0 .4rem;font-size:1rem}
.vc-punten{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.vc-punten li{display:grid;grid-template-columns:1.3rem 7.5rem 1fr auto;gap:.2rem .5rem;align-items:start;font-size:.9rem;padding:.15rem 0}
.vc-punten li.ok{color:var(--grijs)}
.vc-punten li.let .vc-ic{color:var(--kraft-donker);font-weight:700}
.vc-punten li.fout{color:#7A1A12}.vc-punten li.fout .vc-ic{color:#B42318;font-weight:700}
.vc-punten li.ok .vc-ic{color:var(--bpc)}
.vc-mee{display:inline-flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.8rem;font-weight:400;white-space:nowrap;color:var(--grijs);cursor:pointer}
.vc-mee input{margin:0;width:auto}
.vc-meer{margin-top:.4rem}
.vc-dl{display:grid;grid-template-columns:max-content 1fr;gap:.1rem .8rem;font-size:.85rem;margin:.4rem 0}
.vc-dl dt{color:var(--grijs)}.vc-dl dd{margin:0}
.vc-vorige{width:100%;border-collapse:collapse;font-size:.8rem}
.vc-vorige th,.vc-vorige td{text-align:left;padding:.2rem .4rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.vc-acties{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--lijn)}
@media (max-width:700px){.vc-dialoog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .vc-punten li{grid-template-columns:1.3rem 1fr}.vc-punten li>span:not(.vc-ic){grid-column:2}.vc-mee{grid-column:2}}
/* Geleerde koppelingen (14 okt 2026): artikel kiezen voor een regel uit de mail */
.or-ai-kies{background:#F5F3EE;border-left:3px solid #B8895A;padding:.35rem .6rem;margin:.3rem 0}
.or-ai-ander{display:block;margin-top:.1rem;color:#8A5F33;opacity:.75}.or-ai-ander:hover{opacity:1}
.or-ai-kop details{margin-top:.3rem}.or-ai-kop summary{cursor:pointer;color:#8A5F33}
/* Proefdrukken bij de orderbevestiging (14 okt 2026): per klant, archiefdossier opladen */
.or-proefob{border:1px solid #B8895A;background:#FBFAF7;padding:.6rem .8rem;margin:.8rem 0}
.or-proefob h3{margin:0 0 .4rem;font-size:1rem}
.or-proefob ul{margin:.2rem 0 0;padding-left:1.1rem}.or-proefob li{margin:.3rem 0}
.or-proefob-waarom{background:#F5F3EE;border-left:3px solid #B8895A;padding:.4rem .6rem;margin:.2rem 0 .5rem}
.or-proefob-geen{color:#1D1D1B}
.or-proefob-op{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.3rem}
.or-proefob-formaten{margin:.25rem 0 .2rem;padding-left:1.1rem}.or-proefob-formaten li{margin:.25rem 0}
.pa-staffel{display:block}
.pa-staffels{display:grid;gap:.4rem;justify-items:start}
.pa-staffelrij{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.pa-staffelrij input{width:6.5rem}
.pa-bestelbon{margin:.2rem 0 .9rem}
.pa-bestelbon .klein{display:block;font-weight:400;margin-top:.15rem}
/* "Klopt niet" (14 okt 2026): het AI-label in de Inbox is een knop */
button.ib-ai-soort{cursor:pointer;font-family:inherit;line-height:1.4}button.ib-ai-soort:hover{filter:brightness(.95);text-decoration:underline}
.or-ai-klopt{margin-left:.4rem}

/* AI leest proefantwoorden (14 okt 2026): voorstel per formaat in het kraftblok van een onverwerkte mail */
.pd-ai{margin:.4rem 0}
.pd-ai .tl-voorstel{margin:.3rem 0}
.badge.pd-ai-label{background:#1D1D1B;color:#F5F3EE;font-size:.7rem;letter-spacing:.04em}
.pd-ai-lijst{margin:.2rem 0 .4rem;padding-left:1.1rem;font-size:.9rem}
.pd-ai-lijst>li{margin:.25rem 0}
.pd-ai-aanp{margin:.2rem 0 .2rem;padding-left:1.1rem}
.badge.pd-ai-akkoord{background:var(--bpc-licht);color:var(--bpc)}
.badge.pd-ai-aanpassing{background:#F6E3DF;color:#A63D32}
.badge.pd-ai-onduidelijk,.badge.pd-ai-geen{background:#ECEAE5;color:var(--grijs)}
.pd-ai-vraag{margin:.25rem 0;padding:.3rem .5rem;border-left:3px solid #B8895A;background:#F5F3EE}
.pd-ai-details summary{cursor:pointer}
.pd-ai-details ul{padding-left:1.1rem;font-size:.9rem}
.ib-proefvoorstel{margin:.3rem 0;padding:.4rem .6rem;border-left:3px solid #B8895A;background:#F5F3EE}

/* ---------- Offertes (/beheer/offertes, 14 okt 2026): één scherm van boven naar onder, rechts het voorbeeld voor de klant ---------- */
main:has(#btab-offertes:not([hidden]) .ofe-raster){max-width:100rem}
.ofe-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:1rem;align-items:start;margin-top:.75rem}
.ofe-form{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0}
.ofe-form fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.ofe-stap{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem;min-width:0}
.ofe-stap h3{display:flex;align-items:center;gap:.55rem;margin:0}
.ofe-nr{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;background:var(--kraft-hout);color:#fff;font-weight:800;font-size:.9rem;border-radius:2px}
.ofe-klantsoort{justify-self:start}
.ofe-fost{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}
.ofe-fost .vinkje{margin:0}
.ofe-afspraken{padding:.55rem .8rem;border-left:3px solid var(--bpc);background:var(--bpc-licht)}
.ofe-afspraken ul{margin:.3rem 0;padding-left:1.1rem}
.ofe-let{margin:0;padding:.5rem .75rem;background:#FFF4CC;border:1px dashed #C9A227;color:#7A5C00}
.ofe-regel{position:relative;display:grid;gap:.55rem;padding:.8rem .9rem;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);border-radius:6px;background:#FCFBF8}
.ofe-regel-vrij{border-left-color:var(--grijs)}
.ofe-regel-cliche{border-left-color:var(--bpc)}
.ofe-regel+.ofe-regel{margin-top:.6rem}
.ofe-regel-kop{padding-right:7rem}
.ofe-regel-kop .stil{display:block}
.ofe-regel-acties{position:absolute;top:.6rem;right:.8rem;display:flex;gap:.7rem}
.ofe-weg{color:#A63D32}
.ofe-perso{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center}
.ofe-perso label:not(.or-ts){display:flex;gap:.4rem;align-items:center;font-weight:600}
.ofe-perso select{width:auto;padding:.3rem .4rem}
.ofe-tsgroep{display:inline-flex;flex-wrap:wrap;gap:.3rem}
.ofe-staffels{width:100%;border-collapse:collapse;font-size:.88rem}
.ofe-staffels th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grijs);padding:.3rem .4rem;border-bottom:2px solid var(--kraft-hout)}
.ofe-staffels td{padding:.3rem .4rem;border-bottom:1px solid var(--lijn);vertical-align:middle}
.ofe-staffels .num{text-align:right;white-space:nowrap}
.ofe-staffels .vinkje{margin:0;font-weight:600;align-items:center}
.ofe-staffels .ib-onbekend{display:block}
.ofe-uit td{opacity:.5}
.ofe-uit td:first-child{opacity:1}
.ofe-prijs{width:6.5rem;text-align:right;padding:.35rem .45rem;font-variant-numeric:tabular-nums}
.ofe-bron{display:inline-block;font-size:.72rem;font-weight:700;padding:.05rem .45rem;border-radius:99px;background:var(--vlak);color:var(--grijs);margin-right:.3rem}
.ofe-afspraak{background:var(--bpc-licht);color:var(--bpc)}
.ofe-hand{background:#FBF1E4;color:var(--kraft-donker)}
.ofe-eigen{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ofe-eigen input{width:6rem;padding:.35rem .45rem}
.ofe-eigen select{width:auto;padding:.35rem .45rem}
.ofe-notitie{display:flex;gap:.5rem;align-items:center;font-weight:600}
.ofe-notitie input{flex:1;padding:.35rem .5rem}
.ofe-vect{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:center}
.ofe-vect legend{font-weight:600;font-size:.9rem;padding:0;margin-bottom:.25rem}
.ofe-picker{margin-top:.6rem;padding-top:.8rem;border-top:1px dashed var(--lijn);display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
.ofe-picker #ofePkZoek{flex:1 1 18rem;min-width:0}
.ofe-chips,.ofe-stappen,.ofe-stap-keuze{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.ofe-stappen{flex-direction:column;align-items:flex-start}
.ofe-chip{font:inherit;font-size:.86rem;font-weight:600;padding:.3rem .65rem;border:1px solid var(--lijn);border-radius:99px;background:#fff;color:var(--inkt);cursor:pointer}
.ofe-chip:hover{border-color:var(--kraft-hout)}
.ofe-chip.aan{background:var(--inkt);border-color:var(--inkt);color:#fff}
.ofe-chip.aan .stil{color:#ddd}
.ofe-resultaten{list-style:none;margin:0;padding:.4rem .6rem;background:#fff;border:1px solid var(--lijn);border-radius:6px;max-height:22rem;overflow:auto;display:grid;gap:.25rem}
.ofe-resultaten .vinkje{margin:0}
.ofe-pk-acties{display:flex;flex-wrap:wrap;gap:.5rem}
.ofe-acties{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.ofe-acties #ofeKlaar{flex-basis:100%}
.ofe-acties #ofeKlaar ul{margin:.2rem 0 0;padding-left:1.1rem}
.ofe-acties .melding{flex-basis:100%;margin:0}
.ok-tekst{color:var(--bpc);font-weight:700}
.ofe-status{padding:.8rem 1rem;margin-top:.5rem}
.ofe-voorbeeld{position:sticky;top:4.5rem;background:#fff;border:1px solid var(--lijn);border-top:4px solid var(--kraft-hout);border-radius:8px;padding:.8rem;max-height:calc(100vh - 6rem);overflow:auto}
.ofe-vb-kop{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center;margin-bottom:.6rem}
.ofe-vb-kop .filters{margin-left:auto}
/* Rechts: mail van de klant of het voorbeeld (22 okt 2026) */
.ofe-mailblok{margin:0 0 .8rem;padding:0 0 .6rem;border-bottom:2px solid var(--kraft-hout)}
.ofe-mailblok>summary{cursor:pointer;padding:.2rem 0 .4rem}
.ofe-voorbeeld .mailvak .or-mail-frame{height:40vh;min-height:16rem;resize:vertical}
.ofe-voorbeeld .mailvak .or-mail-pdf{height:50vh;min-height:18rem;resize:vertical}
.ofe-vb-mail{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;color:#1D1D1B}
.ofe-vb-mail p{margin:0 0 .8em}
.badge.ofe-concept{background:var(--vlak);color:var(--grijs)}
.badge.ofe-verstuurd{background:#E3ECF6;color:#2B5A88}
.badge.ofe-aanvaard,.badge.ofe-order{background:var(--bpc-licht);color:var(--bpc)}
.badge.ofe-geweigerd{background:#FBE9E6;color:#A63D32}
.badge.ofe-verlopen{background:#F6E9D7;color:#7A5426}
.ofe-rand-verstuurd{border-left-color:#2B5A88}
.ofe-rand-aanvaard,.ofe-rand-order{border-left-color:var(--bpc)}
.ofe-rand-verlopen,.ofe-rand-geweigerd{border-left-color:var(--lijn)}
@media (max-width:1100px){ .ofe-raster{grid-template-columns:1fr} .ofe-voorbeeld{position:static;max-height:none} }
@media (max-width:640px){
  .ofe-regel-kop{padding-right:0;padding-top:1.4rem}
  .ofe-staffels thead{display:none}
  .ofe-staffels tr{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;border-bottom:1px solid var(--lijn);padding:.25rem 0}
  .ofe-staffels td{border:0;padding:.15rem .3rem}
  .ofe-staffels td[data-uitleg]{grid-column:1/-1;order:5}
}
.ofe-tsgroep label.or-ts{display:inline-flex;align-items:center;gap:.3rem;margin:0;padding:.15rem .55rem;border:1px solid var(--lijn);border-radius:999px;background:#fff;
  font-size:.8rem;font-weight:500;line-height:1.35;color:var(--grijs);cursor:pointer;white-space:nowrap;position:relative}
.ofe-tsgroep label.or-ts input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ofe-tsgroep label.or-ts b{font-weight:600;color:inherit}
.ofe-tsgroep label.or-ts:hover{border-color:var(--kraft-hout)}
.ofe-tsgroep label.or-ts:focus-within{outline:2px solid var(--kraft-hout);outline-offset:1px}
.ofe-tsgroep label.or-ts.aan{background:var(--bpc-licht);border-color:var(--bpc);color:var(--bpc-donker)}
.ofe-tsgroep label.or-ts.aan::before{content:"✓";font-weight:700}
.ofe-cliche{align-items:start}
.ofe-vect .vinkje{display:inline-flex;align-items:center;gap:.4rem}
.ofe-vect input,.or-raster .ofe-vect input{width:auto;margin:0}
/* Bedrukking uit de proef (14 okt 2026) */
.pd-kl-bedrukking{margin:.5rem 0}
.pd-kl-ipg{margin:.5rem 0;padding:.4rem .6rem;border-left:3px solid var(--kraft,#B8895A);background:rgba(184,137,90,.08)}
.pd-ipg-werkelijk input{width:6em;padding:.15rem .35rem;margin:0 .3rem}
.pb-ipg-tabel{width:100%;border-collapse:collapse}.pb-ipg-tabel th,.pb-ipg-tabel td{padding:.3rem .45rem;border-bottom:1px solid #E5E1D8;text-align:left;vertical-align:top}.pb-ipg-tabel .r{text-align:right;white-space:nowrap}
.pd-kl-volvlak{color:#8A5F33;font-weight:700}
.badge.pd-kl-volvlak{background:#FBF1E4;border:1px solid #B8895A;margin-left:.4rem}

.pa-tabellen{display:grid;gap:.4rem}
.pa-tablijst{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.6rem 1.2rem;max-height:22rem;overflow:auto;padding:.5rem .7rem;border:1px solid var(--lijn);border-radius:4px;background:#fff}
.pa-tabgroep{display:grid;gap:.25rem;align-content:start}
.pa-tabgroep .vinkje{font-size:.85rem}
.pa-perstaffel{border:0;margin:0;padding:0;display:grid;gap:.4rem}
.pa-perstaffel legend{padding:0;margin-bottom:.2rem}
.ofe-mail{padding:.7rem 1rem;margin-top:.5rem;border-left:4px solid var(--kraft-hout)}
.ofe-mail-tekst{margin:.3rem 0 0;white-space:pre-line;max-height:4.5em;overflow:hidden}
/* Bestaand cliché: proeven uit het archief (15 okt 2026) */
.pd-archief{background:#fff;border:1px solid var(--lijn);border-left:4px solid #B8895A;padding:.6rem .9rem .8rem;margin:0 0 1rem}
.pd-archief>summary{font-weight:700;cursor:pointer}
.pd-arch-rij{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1.4fr) auto;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--lijn)}
.pd-arch-rij input.pd-arch-naam{width:100%}
.pd-arch-klaar{margin:.3rem 0 .6rem;padding-left:0;list-style:none}
@media (max-width:640px){.pd-arch-rij{grid-template-columns:1fr}}
.ofe-vorm{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;margin-top:.6rem}
/* Offertes: verwijderd en transportkosten (15 okt 2026) */
.badge.ofe-verwijderd{background:#EEE9E1;color:#67625A;text-decoration:line-through}
.badge.ofe-stil{background:#EEE9E1;color:#67625A}
.ofe-weg-blok{border-left:4px solid #A63D32}
.ofe-transport{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center}
.ofe-transport .vinkje{margin:0}
.ofe-transport-velden{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.ofe-transport-velden input{width:6.5rem}
.ofe-transport p{flex-basis:100%;margin:0}
/* Offertes: artikel van de klant uit Exact (16 okt 2026) */
.ofe-exact{display:flex;flex-wrap:wrap;gap:.3rem .6rem;align-items:center;padding:.45rem .6rem;margin:.3rem 0;background:#FBF1E4;border-left:3px solid var(--kraft-hout)}
.ofe-exact .ofe-klantcode{display:inline-flex;gap:.4rem;align-items:center;margin:0;flex-basis:100%}
.ofe-exact .ofe-klantcode input{width:12rem}
.pd-arch-zoek{position:relative}
.pd-arch-lijst{position:absolute;z-index:20;left:0;right:0;top:100%;margin:2px 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--lijn);box-shadow:0 4px 14px rgba(0,0,0,.12);max-height:20rem;overflow:auto}
.pd-arch-lijst li{padding:.4rem .6rem;border-bottom:1px solid var(--lijn);cursor:pointer;line-height:1.3}
.pd-arch-lijst li[data-pactie]:hover{background:#F5F3EE}
.pd-arch-lijst li .stil{display:block}
.pd-arch-gekozen{display:block;margin-top:.15rem}
/* Automatisch gekoppeld aan order of proefdossier (15 okt 2026) */
.ib-auto{display:inline-block;margin-left:.25rem;padding:0 .3rem;font-size:.7rem;line-height:1.4;border:1px solid #B8895A;color:#8A5F33;border-radius:2px;cursor:help;vertical-align:1px}
/* Prijsafspraak per staffel en aantal kleuren (15 okt 2026) */
.pa-kleurtabellen{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0}
.pa-kleurtabel{border-collapse:collapse;font-size:13px}
.pa-kleurtabel th,.pa-kleurtabel td{padding:2px 8px;text-align:right;border-bottom:1px solid #e3ded4;white-space:nowrap}
.pa-kleurtabel th:first-child,.pa-kleurtabel td:first-child{text-align:left}
.pa-kleurtabel input{width:6.5em;text-align:right}
/* Proeven: lijst compacter (15 okt 2026) */
.pb-tabel .pb-nr strong{white-space:nowrap}
.pb-tabel .pb-codes{font-size:.82rem;line-height:1.35}
.pb-tabel .pb-code{display:block;white-space:nowrap;font-family:inherit}
.pb-tabel .pb-status{min-width:9rem}
.pb-tabel .pb-status .badge{white-space:nowrap;display:inline-block;margin:0 .25rem .25rem 0}
.pb-tabel td:last-child{font-size:.85rem;min-width:13rem;max-width:18rem}
.pb-tabel td.pb-telling{white-space:normal;min-width:7rem}
.pb-tabel td:nth-child(3){min-width:8rem}
/* Orderscherm: mail van de klant ernaast + klad van een nieuwe order (15 okt 2026) */
main:has(#btab-orders:not([hidden]) .or-werk.met-mail){max-width:110rem}
/* Brede schermen (9 nov 2026): de order en de bestelbon naast elkaar over meer breedte, zodat de PDF leesbaar is */
@media (min-width:1900px){main:has(#btab-orders:not([hidden]) .or-werk.met-mail){max-width:145rem} .or-werk.met-mail{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important}}
.or-werk.met-mail{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,42%);gap:1.25rem;align-items:start}
.or-mail{position:sticky;top:.75rem;max-height:calc(100vh - 1.5rem);overflow:auto;background:#fff;border:1px solid #e3ded3;border-left:4px solid #B8895A;padding:.6rem .8rem}
.or-mail.ingeklapt{position:static;max-height:none;margin:.5rem 0}
.or-werk:not(.met-mail) .or-mail{position:static;max-height:none}
.or-mail-kop{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem}
.or-mail-blok p{margin:.2rem 0}
.or-mail-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0 .5rem}
.or-mail-tab{font:inherit;font-size:.82rem;padding:.2rem .55rem;border:1px solid #d8d1c3;background:#F5F3EE;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.or-mail-tab.actief{background:#1D1D1B;color:#fff;border-color:#1D1D1B}
.or-mail-frame{width:100%;height:60vh;border:1px solid #e3ded3;background:#fff}
.or-mail-pdf{width:100%;height:calc(100vh - 13rem);min-height:24rem;border:1px solid #e3ded3;background:#fff}
.or-mail-beeld{max-width:100%;height:auto;border:1px solid #e3ded3}
.or-klad{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:#eef4ea;border-left:4px solid #336029;padding:.5rem .8rem;margin:.6rem 0;font-size:.9rem}
.or-kladden ul{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.35rem}
.or-kladden li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
@media (max-width:1100px){ .or-werk.met-mail{display:flex;flex-direction:column;align-items:stretch} .or-werk.met-mail .or-mail{order:-1;position:static;max-height:none;width:100%;box-sizing:border-box} .or-mail-pdf{height:55vh;min-height:18rem} }

/* Zoeken in gewone taal (index.html, 15 okt 2026): balk onder de tabbladen met wat Claude van de zin maakte */
.slim-balk{display:flex;align-items:flex-start;gap:.8rem;background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);padding:.6rem .9rem;margin:0 0 1rem}
.slim-balk .slim-tekst{flex:1;min-width:0}
.slim-balk p{margin:.1rem 0}
.slim-balk .slim-uitleg{font-weight:600}
.slim-balk .slim-periode{display:inline-block;font-weight:400;font-size:.85rem;padding:0 .45rem;border:1px solid var(--lijn);border-radius:999px;margin-left:.3rem}
.slim-balk .slim-niet{color:#8A5F33}
.slim-balk .slim-acties{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem}
.slim-balk .slim-acties .link{text-align:left;padding:0}
.slim-balk .slim-sluit{background:none;border:0;cursor:pointer;font-size:1rem;line-height:1;padding:.2rem;color:inherit}
.documenten .document.uitgelicht{border-color:var(--kraft-hout);box-shadow:0 0 0 2px var(--kraft-hout)}
/* Zoeken in gewone taal in /beheer (artikelzoekers Orders en Offertes, slim-beheer.js) */
.slim-balk-klein{margin:0 0 .4rem;padding:.45rem .75rem}
.slim-balk-klein .slim-uitleg{font-size:.95rem}
.slim-balk .slim-los{color:#8A5F33}
.slim-bezig{margin:.2rem 0}
.act-slim{display:inline-block;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;padding:0 .4rem;margin-left:.35rem;border:1px solid var(--kraft-hout);color:var(--kraft-donker);border-radius:999px;vertical-align:.1em}

/* ---------- Clichécalculator: ontwerp laten nakijken en offerte aanvragen (15 okt 2026) ---------- */
.ow{border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout,#B8895A);background:#FBFAF7;padding:.8rem 1rem;margin:0 0 1rem;display:grid;gap:.55rem}
.ow p{margin:0}
.ow-titel{font-size:1rem}
.ow-modus{display:flex;flex-wrap:wrap;gap:.4rem}
.ow-tab{font:inherit;font-size:.9rem;padding:.4rem .8rem;border:1px solid var(--lijn);background:#fff;color:var(--inkt);cursor:pointer}
.ow-tab[aria-pressed=true]{border-color:#1D1D1B;background:#1D1D1B;color:#fff}
.ow-bestand{display:grid;gap:.3rem;font-size:.92rem}
.ow-bestand input[type=file]{padding:.45rem;background:#fff}
.ow textarea,.oa textarea{font:inherit;width:100%;padding:.6rem .7rem;border:1px solid var(--lijn);background:#fff;resize:vertical}
.ow-bezig{color:#8A5F33}
.ow-res{border:1px solid var(--lijn);background:#fff;padding:.7rem .85rem;display:grid;gap:.35rem}
.ow-res ul{margin:0;padding-left:1.1rem}
.ow-res.ow-drukklaar{border-left:4px solid #336029}
.ow-res.ow-reproductie{border-left:4px solid #B8895A}
.ow-res.ow-niet_geschikt{border-left:4px solid var(--rood)}
.oa{margin-top:1rem;display:grid;gap:.55rem;justify-items:start}
.oa textarea{max-width:40rem}
/* /beheer → Offertes: aanvragen uit het portaal */
.ofe-aanvragen{margin:0 0 1rem;display:grid;gap:.6rem}
.ofe-aanvragen h3{margin:0}
.ofe-aanvraag{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-top:1px solid var(--lijn);padding-top:.6rem}
.ofe-aanvraag-knoppen{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;flex-shrink:0}
@media (max-width:640px){.ofe-aanvraag{flex-direction:column}.ofe-aanvraag-knoppen{align-items:flex-start;flex-direction:row}}

/* Medewerkerslijst (17 okt 2026, knop "Medewerkers" in de kop van /beheer; enkel Dimitri en Laura) */
.mw-dialoog { max-width: 720px; }
.mw-dialoog h3 { margin: 20px 0 6px; font-size: 1rem; }
.mw-tabel { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: .92rem; }
.mw-tabel th, .mw-tabel td { text-align: left; padding: 6px 8px; border-bottom: 1px solid #E4DFD4; vertical-align: top; }
.mw-tabel th { font-weight: 600; color: #5E5A52; }
.mw-tabel td:last-child { text-align: right; white-space: nowrap; }
.mw-label { display: inline-block; font-size: .72rem; padding: 1px 6px; margin-left: 4px; background: #F5F3EE; border: 1px solid #B8895A; color: #8A5F33; }
.mw-toevoegen { display: flex; gap: 8px; margin: 10px 0; }
.mw-toevoegen input { flex: 1; min-width: 0; }

/* Mogelijk dubbele order (17 okt 2026) */
.or-dubbel{border-left:4px solid #a4441d;background:#fbefe8}
.or-dubbel p{margin:.2rem 0}.or-dubbel ul{margin:.3rem 0 .4rem 1.1rem;padding:0}
/* Partners (17 okt 2026, partners-beheer.js): zelfde venster als Medewerkers */
.pa-dialoog .mw-tabel td:last-child{white-space:normal;text-align:left;overflow-wrap:anywhere}
.pa-knoppen{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
/* IPG-portaal (17 okt 2026): nieuwe proef van IPG in het proefdossier (proeven-beheer.js tekenIpgProef) en de to-do in de Inbox */
.badge.ps-ipg-na{background:#FBF1E4;color:#8A5F33;border:1px solid #B8895A}
.pd-ipgproef{background:#fff;border:1px solid var(--lijn);border-top:4px solid var(--kraft-hout);border-radius:6px;padding:.9rem 1.1rem;margin:1rem 0}
.pd-ipgproef h3{margin:0 0 .6rem;font-size:1.05rem}
.pd-ipgproef h3 .stil{font-weight:400;margin-left:.4rem}
.pd-ipgproef-f{padding:.6rem 0;border-top:1px solid var(--lijn)}
.pd-ipgproef-f:first-of-type{border-top:0}
.pd-ipgproef-f p{margin:.25rem 0}
.pd-ipgproef-check{margin:.3rem 0;padding-left:1.1rem;font-size:.88rem;color:var(--grijs)}
.pd-ipgproef-check li.waarschuwing{color:#8A5F33;font-weight:600}
.pd-ipgproef-prijs{display:block;margin:.4rem 0;font-weight:600}
.pd-ipgproef-prijs input{width:7rem;padding:.35rem .5rem}
.pd-ipgproef .pd-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.ib-kaart.ib-todo{border-left:4px solid var(--kraft-hout)}
.ib-todo-band{display:inline-block;background:var(--kraft-hout);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .5rem;border-radius:3px;margin-right:.4rem}
.ib-todo-f{margin:.25rem 0;font-size:.9rem}
.ib-todo-check{font-size:.82rem;color:var(--grijs);margin:.2rem 0}
/* Opvolging IPG (proeven-beheer.js tekenOpvolging) */
.pb-weergave{margin-left:auto}
.ipg-cijfers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
@media (max-width:620px){.ipg-cijfers{grid-template-columns:1fr}}
.ipg-cijfer{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.75rem 1rem}
.ipg-cijfer b{display:block;font-size:1.9rem;font-weight:800;font-stretch:118%;color:var(--inkt);line-height:1.1;font-variant-numeric:tabular-nums}
.ipg-cijfer.rood{border-left:4px solid #A63D32}.ipg-cijfer.oranje{border-left:4px solid var(--kraft-hout)}.ipg-cijfer.blauw{border-left:4px solid #3D5167}
.ipg-dagen{font-weight:800;font-variant-numeric:tabular-nums;padding:.05rem .5rem;border-radius:99px;font-size:.8rem;white-space:nowrap;background:var(--mist)}
.ipg-dagen.oranje{background:#F6E9D7;color:#7A5426}.ipg-dagen.rood{background:#F4DEDB;color:#A63D32}
.pb-kop-rechts{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.pb-ipg-na{margin:.3rem 0 1rem;padding-left:1.1rem}
.verborgen{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================================================================
   Prijzenbeheer (/beheer/prijzen, 17 okt 2026): zijbalk met onderdelen, tabellen met een kraftrand voor wijzigingen die nog niet live zijn
   ================================================================ */
main:has(#btab-prijzen:not([hidden]) .pz){max-width:100rem}
.pz{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.pz-melding{border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);background:#fff;padding:10px 14px;border-radius:6px}
.pz-melding.fout{border-left-color:#A63D32;color:#A63D32}
.pz-melding.ok{border-left-color:var(--bpc)}
.pz-kop{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pz-kop .pz-zoek{flex:1 1 220px;min-width:180px;padding:.5rem .7rem}
.pz-kop .pz-live{font-size:.85rem;color:var(--grijs);margin-left:auto}
.pz-kop select{padding:.45rem .6rem;max-width:280px}
.pz-lijf{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;align-items:start}
.pz-zij{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:2px;position:sticky;top:76px}
.pz-zij a{display:flex;justify-content:space-between;gap:6px;padding:7px 10px;border-radius:4px;color:var(--grijs);font-weight:600;text-decoration:none;font-size:.92rem}
.pz-zij a:hover{background:var(--bpc-licht);color:var(--inkt)}
.pz-zij a[aria-current=page]{background:var(--bpc-licht);color:var(--bpc)}
.pz-zij .pz-wie{border-top:1px solid var(--lijn);margin-top:6px;padding:8px 10px 2px;font-size:.8rem;color:var(--grijs)}
.pz-hoofd{display:flex;flex-direction:column;gap:12px;min-width:0}
.pz-balk{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pz-balk h2{font-size:1.35rem;margin:0 auto 0 0}
.pz-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.pz-filters label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;font-weight:600;color:var(--grijs)}
.pz-filters select,.pz-filters input{padding:.4rem .55rem;font-size:.9rem}
.pz-wrap{overflow-x:auto;background:#fff;border:1px solid var(--lijn);border-radius:6px}
table.pz-t{border-collapse:collapse;width:100%;font-size:.88rem}
table.pz-t th{font-weight:600;color:var(--grijs);text-align:left;padding:7px 8px;border-bottom:1px solid var(--lijn);font-size:.78rem;white-space:nowrap;background:var(--mist)}
table.pz-t td{padding:7px 8px;border-bottom:1px solid var(--lijn);vertical-align:top;font-variant-numeric:tabular-nums}
table.pz-t td.num,table.pz-t th.num{text-align:right}
table.pz-t td.pz-code{font-family:ui-monospace,Menlo,monospace;font-size:.82rem;white-space:nowrap}
table.pz-t tr.klik{cursor:pointer}
table.pz-t tr.klik:hover td{background:#FBF8F2}
table.pz-t tr.pz-gewijzigd td{background:#FBF5EC}
table.pz-t tr.pz-gewijzigd td:first-child{box-shadow:inset 4px 0 0 var(--kraft-hout)}
table.pz-t tr.pz-groep td{background:var(--mist);font-weight:700;color:var(--bpc);font-size:.8rem;letter-spacing:.02em}
table.pz-t input,table.pz-t select{padding:.3rem .45rem;font-size:.86rem;width:100%;min-width:5em}
table.pz-t input.num{text-align:right;max-width:8em}
.pz-tag{display:inline-block;font-size:.72rem;font-weight:650;padding:.1rem .5rem;border-radius:99px;background:var(--mist);color:var(--grijs);border:1px solid var(--lijn);white-space:nowrap;margin:0 .2rem .1rem 0}
.pz-tag.ok{background:var(--bpc-licht);color:var(--bpc);border-color:transparent}
.pz-tag.kraft{background:#F6E9D7;color:#7A5426;border-color:transparent}
.pz-tag.warn{background:#FDF0DC;color:#b45309;border-color:transparent}
.pz-tag.fout{background:#F4DEDB;color:#A63D32;border-color:transparent}
.pz-tag.zwart{background:var(--inkt);color:#fff;border-color:transparent}
.pz-oud{text-decoration:line-through;color:var(--grijs);font-weight:400;margin-right:.3em}
.pz-nieuw{color:var(--bpc);font-weight:700}
.pz-twee{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}
.pz-drie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.pz-paneel{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.pz-paneel h3{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--bpc);font-weight:700}
.pz-velden{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.pz-veld{display:flex;flex-direction:column;gap:3px;min-width:0}
.pz-veld>span{font-size:.76rem;font-weight:600;color:var(--tekst);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pz-veld input,.pz-veld select,.pz-veld textarea{padding:.45rem .55rem;font-size:.9rem;width:100%}
.pz-veld.breed{grid-column:1/-1}
.pz-calc{font-family:ui-monospace,Menlo,monospace;font-size:.85rem;padding:.45rem .55rem;border-radius:4px;background:var(--mist);color:var(--grijs);border:1px dashed var(--lijn);min-height:2.1em;overflow-wrap:anywhere}
.pz-slot{font-size:.75rem;opacity:.7}
.pz-veld.vast input{border-color:var(--kraft-hout);background:#FBF5EC}
.pz-veld.anders input,.pz-veld.anders select{border-color:var(--kraft-hout);box-shadow:inset 3px 0 0 var(--kraft-hout)}
.pz-voorbeeld{background:var(--mist);border-left:3px solid var(--kraft-hout);border-radius:4px;padding:10px 12px;font-size:.86rem;display:flex;flex-direction:column;gap:4px}
.pz-voorbeeld b{font-stretch:110%}
.pz-log{list-style:none;margin:0;padding:0;font-size:.85rem}
.pz-log li{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid var(--lijn)}
.pz-log li time{color:var(--grijs);font-size:.78rem}
.pz-boom{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.pz-boom li{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--lijn);border-radius:6px;background:#fff;font-size:.9rem}
.pz-boom li.l1{font-weight:780;font-stretch:110%;background:var(--bpc-licht);border-color:transparent}
.pz-boom li.l2{margin-left:20px;font-weight:650}
.pz-boom li.l3{margin-left:40px}
.pz-boom li.l4{margin-left:60px;font-size:.84rem}
.pz-boom li[draggable=true]{cursor:grab}
.pz-boom li.sleep{opacity:.5}
.pz-boom li.boven{box-shadow:0 -3px 0 var(--bpc)}
.pz-boom .grip{color:var(--grijs);letter-spacing:-2px}
.pz-boom .rechts{margin-left:auto;display:flex;gap:6px;align-items:center}
.pz-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.pz-foto{margin:0;background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px}
.pz-foto.pz-gewijzigd{border-color:var(--kraft-hout);box-shadow:inset 4px 0 0 var(--kraft-hout)}
.pz-foto .beeld{aspect-ratio:4/3;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pz-foto .beeld img{max-width:100%;max-height:100%;object-fit:contain}
.pz-foto .beeld.leeg{border:2px dashed var(--lijn);background:var(--mist);color:var(--grijs);font-size:.8rem;text-align:center;padding:6px}
.pz-foto .beeld.slepen{border-color:var(--bpc)}
.pz-foto figcaption{font-size:.8rem;line-height:1.3;display:flex;flex-direction:column}
.pz-concept{border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);background:#fff;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pz-concept.gepland{border-left-color:var(--bpc)}
.pz-concept header{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pz-concept header b{font-size:1rem;margin-right:auto}
.pz-concept ol{margin:0;padding-left:1.2em;font-size:.84rem;max-height:260px;overflow:auto}
.pz-concept ol li{padding:2px 0}
.pz-banner{background:var(--bpc-licht);border:1px solid var(--bpc);border-radius:6px;padding:8px 12px;margin:10px 0 0;font-size:.9rem;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pz-banner a{color:var(--bpc);font-weight:700}
.pz-nummers{display:flex;gap:14px;flex-wrap:wrap}
.pz-nummers div{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:8px 14px;min-width:120px}
.pz-nummers b{display:block;font-size:1.4rem;font-stretch:110%}
@media (max-width:860px){
  .pz-lijf{grid-template-columns:1fr}
  .pz-zij{position:static;flex-direction:row;flex-wrap:wrap}
  .pz-zij .pz-wie{width:100%}
  .pz-twee,.pz-drie{grid-template-columns:1fr}
}
/* Kostprijscalculator (Prijzenbeheer, 18 okt 2026; enkel Dimitri): cel van de Excel naast elk veld, gekozen opslag, kostprijzen vet */
.pz-zij .pz-zijkop{border-top:1px solid var(--lijn);margin-top:6px;padding:8px 10px 2px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--kraft-donker)}
.kp{display:flex;flex-direction:column;gap:12px}
.kp-inhoud{display:flex;flex-direction:column;gap:12px}
.kp-kopregel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.kp-cel{font-family:ui-monospace,Menlo,monospace;font-size:.7rem;font-weight:600;color:var(--kraft-donker);background:#F6E9D7;border-radius:3px;padding:0 .3rem;margin-left:auto;white-space:nowrap}
td.kp-cel{background:none;padding-left:4px}
.pz-veld input.kp-ongeldig,table.pz-t input.kp-ongeldig{border-color:#A63D32;box-shadow:inset 3px 0 0 #A63D32}
table.pz-t tr.kp-kost td{font-weight:700;color:var(--inkt)}
table.pz-t tr.kp-kostrij td{background:var(--mist);font-weight:700}
table.pz-t tr.kp-gekozen td{background:var(--bpc-licht);color:var(--bpc);font-weight:700}
table.pz-t tr.kp-gekozen td:first-child{box-shadow:inset 4px 0 0 var(--bpc)}
.kp-stappen td:first-child{white-space:normal}
.kp-offerte-t td:last-child{white-space:nowrap}
.kp-hulp{border:1px dashed var(--lijn);border-radius:6px;padding:8px 10px;background:var(--mist)}
.kp-hulp summary{cursor:pointer;font-size:.84rem;font-weight:600;color:var(--tekst)}
.kp-hulp[open] summary{margin-bottom:8px}
.kp-hulp-uit{display:flex;gap:8px;align-items:center;min-height:2.1em}
table.pz-t.kp-snel input{min-width:3.2em;padding:.25rem .35rem;text-align:right}
table.pz-t.kp-snel input.kp-formaat{min-width:15em;text-align:left}
.kp-opbouw{font-size:.84rem}
.kp-opm li{grid-template-columns:190px 1fr}
.kp-opgelost{margin:.4rem 0 0;color:var(--tekst)}
.kp-klap>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.kp-klap>summary::before{content:"▸";color:var(--bpc);font-size:.8rem}
.kp-klap[open]>summary::before{content:"▾"}
.kp-klap>summary::-webkit-details-marker{display:none}
table.pz-t.kp-volume-t input{max-width:7em}
/* Berekening (22 okt 2026, vraag Dimitri): invoer links, kostprijs en marges rechts en in beeld bij het scrollen; stappen van de Excel inklapbaar */
.kp-werk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}
.kp-velden{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kp-velden.kp-uur{grid-template-columns:repeat(3,minmax(0,1fr))}
.kp-velden>.pz-veld{justify-content:space-between}
.kp-subkop{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--kraft-donker);border-top:1px solid var(--lijn);padding-top:10px}
.kp-marges{position:sticky;top:76px;max-height:calc(100vh - 90px);overflow:auto;border-top:4px solid var(--bpc)}
.kp-kostprijzen{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.kp-kostprijzen>.pz-melding{grid-column:1/-1;margin:0}
.kp-kp{font:inherit;text-align:left;background:#fff;color:var(--inkt);border:1px solid var(--lijn);border-radius:6px;padding:7px 10px;cursor:pointer}
.kp-kp span{display:block;font-size:.72rem;color:var(--grijs);font-weight:600}
.kp-kp b{display:block;font-size:1.15rem;font-stretch:110%}
.kp-kp:hover{border-color:var(--bpc)}
.kp-kp[aria-pressed="true"]{border-color:var(--bpc);background:var(--bpc-licht);box-shadow:inset 0 -3px 0 var(--bpc)}
.kp-kp[aria-pressed="true"] b{color:var(--bpc)}
table.pz-t.kp-volume-t td.kp-prijscel{font-weight:700;color:var(--inkt)}
.kp-uren{font-size:.72rem;margin-top:2px;white-space:nowrap}
table.pz-t.kp-volume-t .kp-weg{padding:.2rem .5rem;line-height:1}
table.pz-t.kp-volume-t td,table.pz-t.kp-volume-t th{padding-left:6px;padding-right:6px}
.kp-subkop.kp-subkop-eerst{border-top:0;padding-top:0}
/* Stuks ⇄ kg onder de kostprijzen (26 okt 2026) */
.kp-omreken{margin:10px 0 4px;padding:8px 10px;background:var(--vlak);border-radius:6px;font-size:.85rem}
.kp-omreken-lijn{margin:0 0 6px;line-height:1.5}
.kp-omreken-tool{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kp-omreken-tool input{width:7.5em;padding:.25rem .45rem}
.kp-acties{border-top:1px solid var(--lijn);padding-top:10px}
.kp-uitleg{margin:0}
.kp-klap:not([open]){gap:0}
table.pz-t.kp-volume-t th{white-space:normal}
@media (max-width:1100px){ .kp-werk{grid-template-columns:1fr} .kp-marges{position:static;max-height:none} }
@media (max-width:520px){ .kp-velden,.kp-velden.kp-uur{grid-template-columns:1fr} }
table.pz-t.kp-volume-t select{min-width:5.5em;max-width:6.5em}
table.pz-t.kp-volume-t td{vertical-align:middle;white-space:nowrap}
td.kp-knoppen{white-space:nowrap}
td.kp-knoppen .knop{margin:0 0 4px 0}
/* Maatwerk uit de Kostprijscalculator in een offerte (18 okt 2026) */
.ofe-maatwerk td{vertical-align:middle}
.ofe-maatwerk td:first-child{white-space:nowrap}
.ofe-maatwerk input[data-of-volume]{width:8em;text-align:right}
.ofe-maatwerk select{margin-right:6px}
.ofe-mw{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ofe-mw input{padding:.45rem .6rem;max-width:420px}
@media (max-width:860px){ .kp-opm li{grid-template-columns:1fr} }
/* Order met een oudere prijslijst (Prijzenbeheer, 17 okt 2026) */
.or-prijsversie{border-left:4px solid var(--kraft-hout);background:#FBF5EC}
.or-prijsversie p{margin:.2rem 0}.or-prijsversie ul{margin:.3rem 0 .2rem 1.1rem;padding:0}
/* Bestellingen in voorbereiding – compacte tabel (17 okt 2026): één regel per order, "Wie moet wat doen?", details bij een klik */
.voorbereiding h2 .vb-melding{display:inline-block;margin:0 0 0 .4rem;padding:.15rem .55rem;font-size:.8rem;vertical-align:middle}
.voorbereiding>.vb-sub{margin:0 0 .5rem;font-size:.88rem}
.vb-tabel-wrap{background:#fff;border:1px solid var(--lijn);border-radius:6px;overflow-x:auto}
.vb-tabel{width:100%;border-collapse:collapse;font-size:.88rem}
.vb-tabel th{text-align:left;font-weight:600;font-size:.74rem;color:var(--grijs);padding:.45rem .6rem;border-bottom:1px solid var(--lijn);white-space:nowrap}
.vb-tabel td{padding:.4rem .6rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.vb-r{cursor:pointer}
.vb-r:hover td,.vb-r.open td{background:var(--mist)}
.vb-r td:first-child{border-left:4px solid var(--kraft-hout)}
.vb-r.vb-actie td:first-child{border-left-color:#C77A1E}
.vb-r.vb-verwerking td:first-child{border-left-color:var(--bpc)}
.vb-c-nr{font-weight:750;color:var(--inkt);white-space:nowrap}
.vb-c-naam{font-weight:650;color:var(--inkt)}
.vb-c-ref,.vb-c-lev{white-space:nowrap;color:var(--grijs)}
.vb-w{display:block;line-height:1.35}
.vb-w.actie{color:#7A5426}
.vb-w.bpc{color:#2B5A88}
.vb-w a{color:inherit;font-weight:650}
.vb-wie{color:var(--inkt)}
.vb-w.actie .vb-wie{color:#9A5B12}
.vb-c-meer{width:1.5rem;text-align:right}
.vb-meer{background:none;border:0;cursor:pointer;color:var(--kraft-donker);font:inherit;padding:0 .2rem}
.vb-detail td{background:var(--mist);padding:.3rem .8rem .6rem 1.4rem;font-size:.85rem}
.vb-art{list-style:none;margin:.3rem 0 0;padding:0;display:grid;gap:.15rem}
.vb-art li{display:flex;flex-wrap:wrap;gap:.1rem .6rem;align-items:baseline}
.vb-art .code{color:var(--grijs);font-size:.8rem}
.vb-k-klaar,.vb-k-info{margin:.2rem 0 0;color:var(--grijs)}
.vb-k-klaar{color:var(--bpc)}
@media (max-width:700px){
  .vb-tabel thead{display:none}
  .vb-tabel tr.vb-r{display:grid;grid-template-columns:auto 1fr auto;gap:0 .5rem;border-bottom:1px solid var(--lijn);border-left:4px solid var(--kraft-hout)}
  .vb-tabel tr.vb-r.vb-actie{border-left-color:#C77A1E}
  .vb-tabel tr.vb-r.vb-verwerking{border-left-color:var(--bpc)}
  .vb-tabel tr.vb-r td{border:0;padding:.2rem .5rem}
  .vb-tabel tr.vb-r td:first-child{border-left:0}
  .vb-c-wacht{grid-column:1/-1}
  .vb-c-ref,.vb-c-lev,.vb-c-klant{font-size:.8rem}
  .vb-tabel tr.vb-detail,.vb-tabel tr.vb-detail td{display:block}
}

/* Startpagina "Vandaag" (17 okt 2026): begroeting, vier tegels en "Deze week" – kraft en inkt zoals de website */
.vandaag{margin:0 0 1.5rem;background:#fff;border:1px solid var(--lijn);border-radius:8px;overflow:hidden}
.vandaag[hidden]{display:none}
.vd-kop{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding:.9rem 1.1rem .7rem;
  background:var(--inkt);color:#fff;background-image:var(--ribs)}
.vd-kop h2{margin:0;color:#fff;font-size:1.35rem}
.vd-datum{color:#E7D3BC;font-size:.9rem}
.vd-tegels{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--lijn)}
.vd-tegel{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.75rem 1.1rem .8rem;background:#fff;border:0;
  border-right:1px solid var(--lijn);border-top:4px solid var(--lijn);font:inherit;text-align:left;cursor:pointer;color:var(--inkt)}
.vd-tegel:last-child{border-right:0}
.vd-tegel:hover{background:var(--mist)}
.vd-getal{font-size:1.9rem;font-weight:800;font-stretch:115%;line-height:1.05;letter-spacing:-.02em}
.vd-label{font-weight:650;font-size:.9rem}
.vd-sub{font-size:.78rem;color:var(--grijs)}
.vd-wacht{border-top-color:#C77A1E}.vd-wacht .vd-getal{color:#B8650F}
.vd-productie{border-top-color:#D99A2B}
.vd-gereed{border-top-color:var(--bpc)}.vd-gereed .vd-getal{color:var(--bpc)}
.vd-levering{border-top-color:var(--kraft-hout)}.vd-levering .vd-getal{font-size:1.35rem;padding:.3rem 0 .15rem}
.vd-tegel.leeg .vd-getal{color:#C9C3B8}
.vd-week{padding:.55rem 1.1rem .7rem;font-size:.86rem}
.vd-week-titel{display:block;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--kraft-donker);margin-bottom:.25rem}
.vd-week ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.vd-week li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .5rem;padding-left:.9rem;position:relative}
.vd-week li::before{content:"";position:absolute;left:0;top:.45rem;width:.45rem;height:.45rem;border-radius:50%;background:#2B5A88}
.vd-week li.vd-productie::before{background:#D99A2B}
.vd-week li.vd-gereed::before{background:var(--bpc)}
.vd-wanneer{min-width:5.2rem;color:var(--grijs)}
.vd-wat{font-weight:650}
.vd-art{color:var(--inkt)}
.vd-nr,.vd-meer{color:var(--grijs);font-size:.8rem}
@media (max-width:700px){
  .vd-tegels{grid-template-columns:1fr 1fr}
  .vd-tegel:nth-child(2){border-right:0}
  .vd-tegel:nth-child(-n+2){border-bottom:1px solid var(--lijn)}
  .vd-wanneer{min-width:0}
}
/* Vandaag → "Wat moet u doen?" (klik op de tegel wacht op u) */
.vd-wacht .vd-sub{color:#9A5B12;font-weight:600}
.vd-todo{padding:.6rem 1.1rem .7rem;background:#FBF3E8;border-bottom:1px solid var(--lijn);font-size:.9rem}
.vd-todo ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.vd-todo li{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .8rem}
.vd-td-wat{font-weight:650;color:var(--inkt)}
.vd-td-hoe{flex-basis:100%;color:#7A5426;font-size:.85rem}
.vd-todo .knop{padding:.3rem .7rem}
.vd-gr li{display:grid;grid-template-columns:10.5rem minmax(0,1fr);column-gap:1rem;row-gap:.1rem;align-items:baseline}
.vd-gr-aantal{font-weight:700;color:#336029;white-space:nowrap;grid-row:span 2}
.vd-gr .vd-td-wat{grid-column:2;min-width:0}
.vd-gr .vd-td-hoe{grid-column:2;color:var(--stil,#6b6b6b);font-size:.82rem}
.vd-gr .link{margin-top:.5rem;font-size:.85rem}
@media (max-width:640px){.vd-gr li{grid-template-columns:minmax(0,1fr)}.vd-gr-aantal{grid-row:auto}.vd-gr .vd-td-wat,.vd-gr .vd-td-hoe{grid-column:1}}

/* Proeven → weergave "IPG-portaal" (18 okt 2026): het portaal van IPG ingebed (zelfde domein) */
.pb-ipg-frame{display:block;width:100%;height:calc(100vh - 230px);min-height:520px;border:1px solid var(--lijn,#d9d4c7);background:#fff}
.pa-cliche{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:0 0 .9rem}
.pa-cliche label{flex:0 0 auto;white-space:nowrap}
.pa-cliche input{width:5.5rem}
.pa-cliche .klein{flex-basis:100%}
.pd-geleverd{display:block;margin-top:.2rem;color:#336029;font-weight:600}

/* Proeven → weergave "Facturen IPG" (18 okt 2026, fase 3 van het IPG-portaal): maandfacturen van IPG naast de prijzen in het portaal */
.ipgf-opladen{margin:.9rem 0 1.1rem}
.ipgf-drop{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1.1rem 1rem;border:2px dashed var(--lijn);border-radius:6px;background:#fff;cursor:pointer;text-align:center}
.ipgf-drop:hover,.ipgf-drop.over{border-color:var(--bpc);background:var(--bpc-licht)}
.ipgf-drop input{position:absolute;width:1px;height:1px;opacity:0}
.ipgf-drop b{color:var(--bpc)}
.ipgf-uploads{list-style:none;margin:.5rem 0 0;padding:0;font-size:.88rem}
.ipgf-uploads li{padding:.3rem .6rem;border-left:3px solid var(--lijn);margin-top:.25rem}
.ipgf-u-klaar{border-left-color:var(--bpc)!important;background:var(--bpc-licht)}
.ipgf-u-fout{border-left-color:#A63D32!important;background:#F4DEDB;color:#7A2A22}
.ipgf-ontbreekt{margin:.5rem 0 1rem;padding:.55rem .8rem;border-left:4px solid var(--kraft-hout);background:#F6E9D7;color:#5E4220}
.ipgf-kaart{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--bpc);border-radius:6px;padding:.85rem 1rem;margin:0 0 .9rem}
.ipgf-kaart.probleem{border-left-color:#A63D32}
.ipgf-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.ipgf-kop h4{margin:0 0 .15rem;font-size:1.05rem}
.ipgf-kop .stil.klein{display:block}
.ipgf-totaal{text-align:right}
.ipgf-totaal b{display:block;font-size:1.25rem;font-variant-numeric:tabular-nums}
.ipgf-tellers{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0 .3rem}
.ipgf-chip{display:inline-block;font-size:.78rem;font-weight:700;padding:.12rem .55rem;border-radius:99px;background:var(--mist);color:var(--grijs);white-space:nowrap}
.ipgf-chip.ipgf-klopt{background:var(--bpc-licht);color:var(--bpc)}
.ipgf-chip.ipgf-wijkt_af{background:#F4DEDB;color:#A63D32}
.ipgf-chip.ipgf-nakijken{background:#F6E9D7;color:#7A5426}
.ipgf-todo{margin:.3rem 0;font-size:.9rem;color:var(--grijs)}
.ipgf-todo.open{color:#7A2A22}
.ipgf-fout{color:#7A2A22}
p.ipgf-fout{margin:.3rem 0;padding:.4rem .6rem;background:#F4DEDB;border-left:3px solid #A63D32;font-size:.88rem}
.ipgf-acties{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-top:.6rem}
.ipgf-regels{margin-top:.8rem}
.ipgf-filter{margin-bottom:.5rem}
.ipgf-tabel{font-size:.85rem}
.ipgf-tabel td.ipgf-bedrag,.ipgf-tabel .ipgf-bedrag{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ipgf-nowrap{white-space:nowrap}
.ipgf-tabel tr.ipgf-r-wijkt_af td{background:#FBF0EE}
.ipgf-tabel tr.ipgf-r-nakijken td{background:#FBF3E8}
.ipgf-tabel tr.ipgf-r-onbekend td,.ipgf-tabel tr.ipgf-r-gratis td{color:var(--grijs)}
.ipgf-tabel tr.ipgf-laat td{background:#FBF3E8}
.ipgf-meldingen{margin:0;padding-left:1rem;font-size:.82rem;color:var(--grijs)}
.ipgf-tabel tr:has(+ tr > td.ipgf-sub) td{border-bottom:0;padding-bottom:.2rem}
.ipgf-tabel td.ipgf-sub{padding-top:0}
.ipgf-meldingen li.ipgf-fout{color:#7A2A22;font-weight:600}
.ipgf-niet{margin:1rem 0}
.ipgf-niet summary{cursor:pointer;font-weight:650}
.ipgf-niet ul{margin:.4rem 0;padding-left:1.1rem;font-size:.88rem}
.ipgf-niet li{margin:.35rem 0}
.ipgf-niet .ipgf-acties{display:inline-flex;margin:0 0 0 .5rem}
.ib-todo-lijst{margin:.25rem 0 .4rem;padding-left:1.1rem;font-size:.85rem}
.ib-todo-lijst li{margin:.15rem 0}
@media (max-width:620px){.ipgf-totaal{text-align:left}}
.ipgf-kaart{scroll-margin-top:5.5rem}

/* Order aanpassen nadat ze in Exact staat (19 okt 2026) */
.or-aanpas{margin:1rem 0;padding:.8rem 1rem;background:#fff;border:1px solid var(--kraft, #B8895A);border-left:4px solid var(--kraft, #B8895A);border-radius:2px}
.or-aanpas ul{margin:.3rem 0 .6rem;padding-left:1.2rem}
.or-aanpas .acties{margin-top:.5rem}
.or-slot{display:block;color:var(--kraft-dark, #8A5F33);margin-top:.15rem}

/* Voorbeeld van de proef van IPG naast de controles (19 okt 2026) */
.pd-ipgproef-f{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
@media (min-width:900px){.pd-ipgproef-f{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pd-ipgproef-pdf iframe{width:100%;height:520px;border:1px solid var(--lijn);border-radius:4px;background:#f4f2ee}

/* Proeven: versies van IPG per formaat (19 okt 2026); de goedgekeurde versie valt meteen op */
.pd-ipgversies{margin-top:1rem;border-top:1px solid #DDD6CA;padding-top:.75rem}
.pd-ipgversies h4{margin:0 0 .5rem;font-size:.95rem}
.pd-ipggoed{background:#E3EDDF;border:2px solid #336029;color:#1F3D18;padding:.6rem .8rem;margin:0 0 .6rem;font-size:.92rem}
.pd-ipgv{width:100%;border-collapse:collapse;font-size:.85rem}
.pd-ipgv th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#6B6458;border-bottom:2px solid #1D1D1B;padding:.3rem .4rem}
.pd-ipgv td{border-bottom:1px solid #E6E0D5;padding:.45rem .4rem;vertical-align:top}
.pd-ipgv tr.goed td{background:#E3EDDF}
.pd-ipgv tr.goed td:first-child{border-left:5px solid #336029}
.pd-ipgv tr.oud td{color:#8A8478}
.pd-goedlabel{display:inline-block;background:#336029;color:#fff;font-weight:700;letter-spacing:.04em;padding:.25rem .55rem;font-size:.8rem}
.pd-ipgstand{display:inline-block;padding:.1rem .45rem;background:#F1EDE4;font-size:.8rem}
.pd-ipgstand.let{background:#F6E7CF;color:#7A4E12}
.pd-ipgstand.rood{background:#F4DEDB;color:#A63D32}
.pd-ipgstand.grijs{background:#EEEBE5;color:#8A8478}
@media (max-width:700px){.pd-ipgv th:nth-child(3),.pd-ipgv td:nth-child(3){display:none}}

/* MyBPC - Internal: overzicht per afdeling (internal.belpaper.com, 17 okt 2026; intern.html) */
#scherm-overzicht{max-width:1040px;margin:0 auto;padding:28px 16px 48px}
#scherm-overzicht h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:8px 0 6px}
#scherm-overzicht .intro{color:var(--grijs);margin:0 0 22px}
.in-pad{min-height:1.4em;font-size:.92rem}
.in-pad .link{border:0;padding:0;background:none}
.in-tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.in-tegel{display:flex;flex-direction:column;gap:6px;min-height:118px;padding:18px 18px 16px;background:#fff;border:1px solid var(--lijn);
  border-top:4px solid var(--kraft-hout);color:var(--tekst);text-decoration:none;transition:border-color .15s,transform .15s}
a.in-tegel:hover{border-color:var(--bpc);border-top-color:var(--bpc);transform:translateY(-2px)}
.in-tegel-titel{font-weight:800;font-stretch:112%;font-size:1.15rem;color:var(--inkt)}
.in-tegel-uitleg{color:var(--grijs);font-size:.92rem;line-height:1.4}
.in-afdeling{min-height:150px}
.in-afdeling .in-tegel-titel{font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}
.in-uit{opacity:.6;cursor:default}
.in-binnenkort{margin-top:auto;align-self:flex-start;font-size:.72rem;padding:1px 6px;border:1px solid var(--kraft-hout);color:var(--kraft-donker);background:var(--mist)}

/* Klantenportaal: "zien als" voor medewerkers (17 okt 2026) */
.zien-als{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0 0 16px;padding:10px 14px;border:1px solid var(--lijn, #d9d4ca);background:var(--mist)}
.zien-als p{margin:0;line-height:1.4}
.zien-als.actief{border:2px solid var(--kraft-donker);background:#fff}
.za-acties{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.za-kies{display:flex;align-items:center;gap:8px;font-weight:600}
.za-kies select{max-width:min(420px,70vw)}
.za-kies select{min-width:0;text-overflow:ellipsis}
@media (max-width:600px){.zien-als{flex-direction:column;align-items:stretch}.za-acties{flex-direction:column;align-items:stretch}.za-kies{flex-direction:column;align-items:stretch}.za-kies select{width:100%;max-width:100%}}

/* Prijsafspraken in de order: inklapbaar (20 okt 2026) */
details.or-afspraken > summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .6rem;align-items:baseline}
details.or-afspraken > summary::-webkit-details-marker{display:none}
details.or-afspraken > summary::before{content:"▸";color:var(--bpc)}
details.or-afspraken[open] > summary::before{content:"▾"}
details.or-afspraken[open] > summary{margin-bottom:.3rem}

/* Proeven: clichéartikel mee uit Exact verwijderen (20 okt 2026) */
.pb-exactweg { margin: 0 0 12px; }
.pb-exactweg p { margin: 4px 0; }
label.pb-vink { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; margin: 8px 0; }
label.pb-vink input { margin-top: 3px; width: auto; flex: none; }
label.pb-vink > span.vink-tekst { flex: 1; }

/* Proeven: versie van IPG hiernaast bekijken (20 okt 2026) */
.pd-ipgtoon { margin: 0 0 8px; padding: 8px 12px; background: #f3e7d6; border-left: 4px solid #B8895A; font-size: 14px; }
.pd-ipgtoon .link { margin-left: 8px; }
table.pd-ipgv tr.getoond td { background: #f3e7d6; }

/* ---------- Productie: grondstoffen en machines (20 okt 2026; grondstoffen.js, machines.js, productie-gedeeld.js) ---------- */
.pr-main{max-width:76rem}
.pr-kopnaam{font-size:.85rem}
.pr-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1.25rem}
.pr-kop h1{margin:0 0 .4rem}
.pr-kop .intro{margin:0;max-width:44rem}
.pr-acties{display:flex;gap:.5rem;flex-wrap:wrap}
.pr-nummer{display:inline-block;background:var(--inkt);color:#fff;font-size:.6em;padding:.15em .45em;border-radius:3px;vertical-align:.25em;letter-spacing:.02em}
.pr-bol{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:-.05em;flex:0 0 auto}
.pr-bol.pr-rood{background:#B42318}.pr-bol.pr-oranje{background:#D98A1C}.pr-bol.pr-grijs{background:#B8B2A6}.pr-bol.pr-groen{background:var(--bpc)}
.pr-stand{font-size:.8rem;font-weight:650;padding:.1rem .5rem;border-radius:99px;white-space:nowrap}
.pr-stand.pr-rood{background:#F4DEDB;color:#A63D32}.pr-stand.pr-oranje{background:#FBF1E4;color:#8A5F33}.pr-stand.pr-grijs{background:#ECEAE5;color:var(--grijs)}.pr-stand.pr-groen{background:var(--bpc-licht);color:var(--bpc)}
.pr-todo{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);border-radius:6px;padding:.9rem 1.1rem;margin:0 0 1.5rem}
.pr-todo.leeg{border-left-color:var(--bpc);color:var(--grijs);text-align:left;padding:.8rem 1.1rem}
.pr-todo h2{margin:0 0 .6rem;font-size:1.1rem}
.pr-todolijst{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.pr-todolijst li{display:grid;grid-template-columns:auto minmax(9rem,16rem) 1fr auto;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--mist)}
.pr-todolijst li:last-child{border-bottom:0}
.pr-tabs{margin:1.5rem 0 1rem}
.pr-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 1rem}
.pr-filters input[type=search]{flex:1 1 16rem;width:auto}
.pr-filters select{width:auto}
.pr-nw{white-space:nowrap}
.pr-blok{display:block}
.pr-uit{opacity:.55}
.pr-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;margin-bottom:1rem}
.pr-kaart{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:1rem 1.2rem;margin-bottom:1rem}
.pr-raster .pr-kaart{margin-bottom:0}
.pr-kaart h2{margin:0 0 .75rem;font-size:1.1rem}
.pr-kaart h3{margin:1rem 0 .35rem}
.pr-vinkjes{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.pr-vinkjes .vinkje{font-weight:500}
.pr-artikels{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.3rem}
.pr-artikels li{padding:.25rem 0;border-bottom:1px solid var(--mist)}
.pr-voorstellen li{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.pr-tag{display:inline-block;font-size:.75rem;background:var(--mist);border:1px solid var(--lijn);border-radius:99px;padding:0 .45rem;color:var(--kraft-donker)}
.pr-waarschuw{font-size:.8rem;color:#A63D32;font-weight:600}
.pr-lev{display:grid;gap:.15rem;margin:0 0 .6rem}
.pr-levrij{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;border-bottom:1px solid var(--mist);padding:.3rem 0}
.pr-contact{font-size:.88rem}
.pr-ontbreekt{background:#F5F3EE;border:1px dashed #B8B2A6;border-radius:4px;padding:.45rem .7rem;margin:0 0 .75rem}
.pr-docs .pr-oud td{color:var(--grijs);font-size:.88rem}
.pr-oudkop td{border-bottom:0;padding-top:0}
.pr-subtabel{margin-top:.3rem}
.pr-alarm{background:#F4DEDB;border-left:4px solid #B42318;border-radius:4px;padding:.7rem 1rem;margin:0 0 1rem;color:#7A1F17}
.pr-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:.5rem 0}
.pr-dl dt{color:var(--grijs);font-size:.85rem}
.pr-dl dd{margin:0}
.pr-foto img{max-width:100%;max-height:220px;border-radius:4px;border:1px solid var(--lijn);display:block;margin-bottom:.5rem}
.pr-fotoknop{cursor:pointer}
.pr-notitie{white-space:pre-wrap;background:var(--mist);padding:.5rem .7rem;border-radius:4px}
.pr-tijdlijn{list-style:none;margin:0;padding:0 0 0 1rem;border-left:3px solid var(--lijn);display:grid;gap:.8rem}
.pr-tijdlijn li{position:relative;padding-left:.4rem}
.pr-tijdlijn li::before{content:"";position:absolute;left:-1.45rem;top:.35rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--kraft-hout)}
.pr-tijdlijn li.pr-rood::before{background:#B42318}
.pr-tijdlijn li.pr-oud{opacity:.55}
.pr-tl-bestanden .link{margin-right:.6rem}
.pr-planning{display:grid;gap:.75rem}
.pr-week{background:#fff;border:1px solid var(--lijn);border-radius:6px;padding:.7rem 1rem}
.pr-week h3{margin:0 0 .4rem;font-size:1rem}
.pr-week ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.pr-week li{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.pr-week li.pr-rood{color:#7A1F17}
.pr-soorten{display:flex;flex-wrap:wrap;gap:.4rem}
.pr-soortknop input{position:absolute;opacity:0;pointer-events:none}
.pr-soortknop span{display:inline-block;padding:.55rem .9rem;border:2px solid var(--lijn);border-radius:4px;background:#fff;font-weight:600;cursor:pointer}
.pr-soortknop input:checked+span{border-color:var(--bpc);background:var(--bpc-licht);color:var(--bpc)}
.pr-soortknop input:focus-visible+span{outline:3px solid var(--kraft-hout)}
.pr-werkbon{max-width:40rem}
.knop.pr-groot{padding:.9rem 1.3rem;font-size:1.05rem}
.pr-keuzes{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.5rem}
.pr-keuzes .knop{width:100%;text-align:left;white-space:normal}
.pr-zoek{width:100%}
.pr-keuzelijst{max-height:22rem;overflow:auto;margin:.5rem 0;padding:0;list-style:none}
.pr-keuzelijst li{padding:.45rem .6rem;cursor:pointer;border-bottom:1px solid var(--mist)}
.pr-keuzelijst li[data-id]:hover,.pr-keuzelijst li[data-id]:focus{background:var(--mist)}
.pr-firma{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.pr-firma select{flex:1 1 14rem;width:auto}
.pr-venster{border:1px solid var(--lijn);border-radius:8px;padding:1.2rem 1.4rem;width:min(40rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;box-shadow:0 18px 40px rgba(29,29,27,.28)}
.pr-venster.breed{width:min(60rem,calc(100vw - 2rem))}
.pr-venster::backdrop{background:rgba(29,29,27,.45)}
.pr-venster h2{margin:0 0 .5rem}
.pr-sluit{position:absolute;right:.6rem;top:.4rem;border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--grijs)}
.pr-voorstel{background:var(--bpc-licht);padding:.4rem .6rem;border-radius:4px;margin:0}
.pr-voortgang{display:flex;align-items:center;gap:.5rem}
.pr-voortgang progress{flex:1}
.pr-melding{position:fixed;left:50%;bottom:1.2rem;transform:translateX(-50%);background:var(--inkt);color:#fff;padding:.7rem 1.1rem;border-radius:6px;z-index:100;max-width:calc(100vw - 2rem);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pr-melding[data-soort=fout]{background:#A63D32}
.in-teller{display:inline-flex;gap:.3rem;margin-top:auto;font-size:.8rem;font-weight:700}
.in-teller span{padding:.05rem .5rem;border-radius:99px}
.in-teller .pr-rood{background:#F4DEDB;color:#A63D32}.in-teller .pr-oranje{background:#FBF1E4;color:#8A5F33}
/* QR-stickers: A4, 2 × 4 stickers van 105 × 74 mm (stijl transportlabels: zwart-wit) */
.pr-qrbladen{display:grid;gap:1rem;margin-top:1rem}
.pr-qrblad{background:#fff;width:210mm;max-width:100%;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--lijn)}
.pr-sticker{height:74mm;display:flex;gap:5mm;align-items:center;padding:6mm;border:1px dashed #CFC7B8;color:#000;font-family:Archivo,Arial,sans-serif;overflow:hidden}
.pr-qr{flex:0 0 auto;width:42mm;height:42mm}
.pr-qr img,.pr-qr canvas{width:42mm!important;height:42mm!important}
.pr-st-nr{font-size:30pt;font-weight:800;line-height:1}
.pr-st-naam{font-size:13pt;font-weight:700;margin:2mm 0;line-height:1.15}
.pr-st-uitleg{font-size:9pt}
.pr-st-bpc{font-size:8pt;margin-top:3mm;text-transform:uppercase;letter-spacing:.06em}
@media print{
  @page{size:A4;margin:0}
  body{background:#fff!important}
  .kop,.pr-nietprint,.pr-melding{display:none!important}
  main.pr-main{padding:0;max-width:none}
  .pr-qrbladen{gap:0;margin:0}
  .pr-qrblad{border:0;width:210mm;height:297mm;break-after:page;align-content:start}
  .pr-sticker{border:.2mm dashed #999}
}
@media (max-width:640px){
  .pr-todolijst li{grid-template-columns:auto 1fr;align-items:start}
  .pr-todolijst li>span:not(.pr-bol),.pr-todolijst li>button{grid-column:2}
  .pr-todolijst li>.pr-bol{margin-top:.35rem}
  .pr-todolijst li>button{justify-self:start}
  .pr-acties .knop{flex:1 1 auto;text-align:center}
  .pr-kop h1{font-size:1.7rem}
  .pr-machines th:nth-child(4),.pr-machines td:nth-child(4),.pr-machines th:nth-child(3),.pr-machines td:nth-child(3){display:none}
  .pr-werkbon .pb-rij>label{flex:1 1 100%}
}
.pr-main select{padding:.7rem .6rem}
.pr-kaart .knop+h2,.pr-kaart #prLev+.knop+h2{margin-top:1.4rem}
.pr-docform .pb-rij>label{flex:1 1 9rem}
.pr-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .6rem}
.pr-chipwrap{display:inline-flex;align-items:center;gap:.2rem}
.pr-chip{display:inline-block;background:var(--mist);border:1px solid var(--lijn);border-radius:99px;padding:.15rem .6rem;font-size:.88rem;color:var(--inkt);text-decoration:none}
.pr-chip:hover{border-color:var(--bpc)}
.pr-ster{border:0;background:none;cursor:pointer;font-size:1.05rem;line-height:1;padding:0 .15rem;color:var(--kraft-donker)}
.pr-contact.pr-gekozen{font-weight:600}
.pr-todoknoppen{display:inline-flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:1000px){
  .pr-todolijst li{grid-template-columns:auto 1fr;align-items:start}
  .pr-todolijst li>span:not(.pr-bol){grid-column:2}
  .pr-todolijst li>.pr-bol{margin-top:.35rem}
  .pr-todoknoppen{justify-content:flex-start}
}
/* Proeven: templates in Exact kiezen bij een formaat (20 okt 2026) */
.pd-kies-rij .tk { flex: 1 1 100%; }
.tk .kz-lijst li[data-tpl] { cursor: pointer; }
.tk .kz-lijst li.actief, .tk .kz-lijst li[data-tpl]:hover { background: var(--mist); }
.tk .kz-lijst li .stil { display: block; font-size: 12px; }
.tk-gekozen { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.tk-item { border: 1px solid var(--lijn); border-left: 4px solid var(--kraft-hout); background: #fff; padding: 8px 10px; }
.tk-kop { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.tk-kop .link { margin-left: auto; font-size: 18px; line-height: 1; }
.tk-velden { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.tk-velden label { flex: 1 1 10rem; margin: 0; }
.tk-velden label.tk-breed { flex: 2 1 18rem; }
.tk-item .waarschuwing { margin: 4px 0 0; }
.tk-fout { margin: 4px 0 0; color: var(--rood); }
.tk-fout:empty { display: none; }
.tk-formaat { margin: 4px 0 0; color: var(--rood); font-weight: 600; }
/* Fout van een artikel uit een template: één probleem per regel (21 okt 2026) */
.aanmaak-fout { white-space: pre-line; }
.waarschuwing.aanmaak-fout { display: inline-block; border-radius: 6px; margin-top: 2px; }
tr.pf-tpl td { border-top: 0; padding-top: 0; }
@media (max-width:600px) { .tk-velden label, .tk-velden label.tk-breed { flex: 1 1 100%; } }
.tk-standen { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.tk-stand { display: inline-block; font-size: 12px; line-height: 1.4; padding: 1px 6px; border: 1px solid var(--lijn); background: #fff; white-space: nowrap; }
.tk-stand.ok { border-color: var(--bpc); color: var(--bpc); }
.tk-stand.bezig { border-color: var(--kraft-hout); color: var(--kraft-donker); }
.tk-stand.fout { border-color: var(--rood); color: var(--rood); }
.tk-nieuw { margin: 6px 0; }
.tk-nieuw p { margin: 3px 0; }

/* Orders: verkoopeenheid kiezen naast het aantal (20 okt 2026) */
.or-regels select.or-eenheid { display: block; width: 6.5rem; margin-top: 4px; padding: 2px 4px; font-size: 12px; }

/* Proeven: geïmporteerd uit SharePoint zonder artikel (20 okt 2026) – moet opvallen */
.pd-import-balk{background:#B3261E;color:#fff;padding:12px 16px;margin:8px 0 12px;font-size:1.02rem;line-height:1.45}
.pd-import-balk b{display:block;margin-bottom:2px}
.pr-todoknoppen>span:empty{display:none}

/* "Actie nodig" springt eruit (21 okt 2026, vraag Dimitri): rode filterknop zolang er iets te doen is, rode rand + label op de rij */
.filters button.filter-actie{background:#B3261E;color:#fff;font-weight:700}
.filters button.filter-actie *{color:#fff;opacity:1}
.filters button.filter-actie .tel{background:#fff;color:#B3261E;border-radius:999px;padding:0 .45em;margin-left:.35rem;font-weight:700}
.filters button.filter-actie[aria-selected=true]{background:#7F1B15;box-shadow:0 0 0 2px #F4DEDB}
.filters button.filter-actie:not([aria-selected=true]):hover{background:#951F18}
.pb-rij-dossier.pb-actie>td:first-child{box-shadow:inset 4px 0 0 #B3261E}
.pb-rij-dossier.pb-actie{background:#FDF4F3}
.badge.actie-nodig{background:#B3261E;color:#fff;font-weight:700}
.badge.or-actie{background:#B3261E;color:#fff;border-color:#B3261E;font-weight:700}
/* Proeven: onverwerkte mail in de tijdlijn (21 okt 2026, vraag Dimitri: "ACTIE NODIG vooraan en zichtbaarder dan de rest") */
.tijdlijn>li.tl-mail-open{background:#FFF4F2;border:2px solid #B3261E;border-left-width:6px;box-shadow:0 2px 10px rgba(179,38,30,.14)}
.tijdlijn>li.tl-mail-open::before{background:#B3261E}
.tl-actie{display:inline-block;background:#B3261E;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;margin-right:4px}

/* Stappen in een proefdossier: datum per stap; rood als proeven op de klant wachten zonder dat de mail vertrok (21 okt 2026) */
.pd-stap-datum{font-size:.78rem;color:var(--inkt);font-variant-numeric:tabular-nums;margin-top:.15rem}
.pd-stappen li.fout{border-top-color:#B3261E}
.pd-stappen li.fout::before{content:counter(stap) " !";color:#B3261E}
/* Gekoord en PEFC per orderregel (21 okt 2026): JA/NEE-knopjes naast elkaar in de rij onder het artikel; rood zolang het leeg is in Exact */
.or-km{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .9rem;margin:0 0 .35rem}
.or-km-g{display:inline-flex;align-items:center;gap:.25rem}
.or-km-g>span:first-child{margin-right:.15rem}
.or-km-k{border:1px solid #C9C2B6;background:#fff;color:var(--inkt);font:inherit;font-size:.8rem;padding:.1rem .45rem;cursor:pointer;border-radius:0}
.or-km-k.aan{background:#336029;border-color:#336029;color:#fff}
.or-km-k:disabled{cursor:default;opacity:.7}
.or-km-leeg .or-km-k{border-color:#B3261E}
.or-km-kies{color:#B3261E;font-size:.8rem}
.or-km-anders{color:#8A5F33;font-size:.8rem}

/* Orders → AI-controle: AI-voorstel tegenover Exact (21 okt 2026, ai-controle.js) */
.ac-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ac-tegel{font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem}
.ac-tegel:hover,.ac-tegel.gekozen{border-color:var(--inkt);box-shadow:inset 0 0 0 1px var(--inkt)}
.ac-tegel.ac-fout b{color:#B3261E}.ac-tegel.ac-aantal b{color:#8A5F33}
.ac-grid{margin-bottom:1.25rem}
.ac-tabel{width:100%;border-collapse:collapse;font-size:.9rem}
.ac-tabel th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grijs);border-bottom:1px solid var(--lijn);padding:.35rem .5rem}
.ac-tabel td{padding:.4rem .5rem;border-bottom:1px solid var(--lijn);vertical-align:top}
.ac-tabel tr.gekozen td{background:#F5F3EE}
.ac-tabel tr.ac-fout td:first-child{color:#B3261E;font-weight:700}
.ac-tabel tr.ac-aantal td:first-child{color:#8A5F33;font-weight:700}
.ac-tabel tr.ac-juist td:first-child{color:var(--groen);font-weight:700}
.ac-tabel tr.ac-neutraal td:first-child{color:var(--grijs)}
.ac-order{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft);border-radius:6px;padding:.75rem 1rem;margin:.6rem 0;overflow-x:auto}
.ac-kop{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.4rem}
.ac-rij.ac-fout{color:#B3261E;margin:.2rem 0}
.ac-sub{font-size:.8rem;color:var(--grijs)}
.ac-kop a{color:var(--inkt)}
.ac-geleerd{margin:0 0 1.25rem}

/* Taken voor collega's (22 okt 2026, taken.js): knop "Mijn taken" in de kop, kiezen in de Inbox, taak op de mailkaart */
.tk-knop{white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid currentColor;background:transparent;color:inherit;
  font:inherit;font-weight:600;cursor:pointer;border-radius:0}
.tk-knop.tk-heeft{background:#B3261E;border-color:#B3261E;color:#fff}
.tk-tel{display:inline-block;min-width:1.25rem;padding:0 .35rem;border-radius:99px;background:#fff;color:#B3261E;font-size:.8rem;text-align:center}
.tk-kies{border:0;padding:0;margin:0 0 .6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.35rem}
.tk-kies legend{font-weight:600;margin-bottom:.35rem;padding:0}
.tk-kies label.tk-persoon{display:flex;font-weight:400;gap:.5rem;align-items:flex-start;padding:.45rem .6rem;border:1px solid var(--lijn);background:#fff;cursor:pointer;margin:0}
.tk-persoon:has(input:checked){border-color:var(--groen);box-shadow:inset 0 0 0 1px var(--groen);background:#F1F6EF}
.tk-kies .tk-persoon input[type=radio],.tk-kies .tk-persoon input[type=checkbox]{width:auto;flex:0 0 auto;margin:.2rem 0 0;display:inline-block}
.tk-kies label.tk-bezet{cursor:default;opacity:.7;background:#F5F3EE}
.tk-blok+.tk-blok{margin-top:.4rem}
.tk-persoon span{display:flex;flex-direction:column;line-height:1.25}
.tk-adres{font-size:.75rem;color:var(--grijs);word-break:break-all}
.tk-blok{margin:.5rem 0;padding:.6rem .8rem;border-left:4px solid #B3261E;background:#FDF3F2}
.tk-blok.tk-gedaan{border-left-color:var(--groen);background:#F1F6EF}
.tk-kop{margin:0 0 .25rem}
.tk-notitie{margin:.2rem 0 .4rem;font-size:1rem;white-space:pre-wrap;font-weight:500}
.tk-af{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem}
.tk-af input,.tk-acties input{flex:1 1 14rem;min-width:0}
.tk-dialoog{max-width:760px}
.tk-paneel .filters{margin:.5rem 0 1rem}
.tk-kaart{border:1px solid var(--lijn);border-left:4px solid #B3261E;padding:.7rem .9rem;margin:0 0 .75rem;background:#fff}
.tk-kaart.tk-gedaan{border-left-color:var(--groen);opacity:.85}
.tk-mail{display:flex;flex-direction:column;gap:.15rem;margin:.4rem 0;padding:.5rem .6rem;background:var(--vlak)}
.tk-preview{color:var(--grijs)}
.tk-acties{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.tk-open{color:#B3261E;font-weight:600}
.tk-recent summary{cursor:pointer;margin:.5rem 0;font-weight:600}
@media (max-width:640px){.tk-knop{padding:.25rem .5rem}}
/* Losse taken (22 okt 2026): + Nieuwe taak in Mijn taken */
.tk-tabs{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin:.5rem 0 1rem}
.tk-paneel .tk-tabs .filters{margin:0}
.tk-titel{margin:.2rem 0;font-weight:700;font-size:1.05rem}
.tk-nieuw{display:grid;gap:.7rem}
.tk-nieuw label{display:grid;gap:.25rem;font-weight:600;font-size:.88rem}
.tk-rij{display:grid;grid-template-columns:2fr 1fr;gap:.7rem}
.tk-nieuw label.vinkje,.ib-editor label.tk-mailen{display:flex;gap:.5rem;align-items:center;font-weight:400}
.tk-mailen input{width:auto}
@media (max-width:640px){.tk-rij{grid-template-columns:1fr}}

/* Huisstijl & marketing (/andere/huisstijl, 22 okt 2026): de merkgids, bron van waarheid voor huisstijl en marketing */
.hs-kop{margin:1.2rem 0 1.4rem}
.hs-kop h1{margin:0 0 .4rem}
.hs-kop p{max-width:52rem;margin:.2rem 0}
.hs-acties{display:flex;gap:.8rem;align-items:center;margin-top:.8rem}
.hs-raster{display:grid;grid-template-columns:13rem 1fr;gap:1.6rem;align-items:start}
.hs-inhoud{position:sticky;top:5rem;display:grid;gap:.15rem;background:#fff;border:1px solid var(--lijn);border-top:4px solid var(--kraft-hout);padding:.8rem .9rem}
.hs-inhoud b{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grijs);margin-bottom:.3rem}
.hs-inhoud a{color:var(--tekst);text-decoration:none;font-size:.9rem;padding:.15rem 0}
.hs-inhoud a:hover{color:var(--bpc)}
.hs-secties{display:grid;gap:1.2rem;min-width:0}
.hs-sectie{background:#fff;border:1px solid var(--lijn);border-top:4px solid var(--kraft-hout);padding:1.1rem 1.3rem;scroll-margin-top:5rem}
.hs-sectiekop{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.6rem}
.hs-sectiekop h2{margin:0;font-size:1.35rem;text-transform:uppercase;letter-spacing:.02em}
.hs-sectiekop p{margin:.2rem 0 0}
.hs-tekst p{margin:.35rem 0;max-width:52rem;line-height:1.55}
.hs-leeg{color:var(--kraft-donker);font-style:italic}
.hs-tabel td{vertical-align:top}
.hs-eerste{font-weight:600}
.hs-wel{color:var(--bpc);font-weight:600}
.hs-niet{color:#A63D32}
.hs-kleuren{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem}
.hs-kleur{border:1px solid var(--lijn);display:grid}
.hs-staal{height:6rem;border:0;border-bottom:1px solid var(--lijn);font:600 .95rem/1 "Archivo",sans-serif;letter-spacing:.04em;cursor:copy;display:flex;align-items:flex-end;padding:.6rem}
.hs-kleur-tekst{display:grid;gap:.15rem;padding:.6rem .7rem;font-size:.85rem}
.hs-kleur-tekst b{font-size:.95rem}
.hs-letters{display:grid;gap:.8rem}
.hs-letter{border:1px solid var(--lijn);padding:.8rem 1rem}
.hs-letter p{margin:.2rem 0}
.hs-voorbeeld{font-size:1.4rem;color:var(--inkt)}
.hs-voorbeeld.kop{font-weight:800;font-stretch:118%;letter-spacing:-.02em;font-size:1.9rem}
.hs-gegevens{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:.35rem 1rem;margin:0}
.hs-gegevens dt{font-weight:600;color:var(--grijs)}
.hs-gegevens dd{margin:0}
.hs-gegevens dd .link{margin-left:.4rem;opacity:.7}
.hs-bestanden{margin-top:1rem;border-top:1px solid var(--lijn);padding-top:.8rem}
.hs-bestandenkop{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.hs-bestandenkop h3{margin:0;font-size:1rem}
.hs-raster-bestanden{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.7rem;margin-top:.7rem}
.hs-bestand{border:1px solid var(--lijn);display:grid;grid-template-rows:auto 1fr auto}
.hs-bestand.hs-gearchiveerd{opacity:.65}
.hs-bestand .hs-voorbeeld{height:7.5rem;display:flex;align-items:center;justify-content:center;background:var(--mist);border-bottom:1px solid var(--lijn);padding:.6rem}
.hs-bestand .hs-voorbeeld img{max-width:100%;max-height:100%;object-fit:contain}
.hs-bestand .hs-voorbeeld.donker{background:var(--bpc)}
.hs-ext{font:800 1.4rem/1 "Archivo",sans-serif;color:var(--kraft-donker);letter-spacing:.05em}
.hs-bestand-tekst{display:grid;gap:.15rem;padding:.6rem .7rem;font-size:.9rem}
.hs-bestand-knoppen{display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center;padding:0 .7rem .7rem}
.hs-bewerk{display:grid;gap:.7rem}
.hs-bewerk label{display:grid;gap:.25rem;font-weight:600;font-size:.88rem}
.hs-bewerk textarea,.hs-bewerk input{font:inherit;font-weight:400;width:100%;box-sizing:border-box}
.hs-bewerktabel td{padding:.25rem}
.hs-bewerktabel input,.hs-bewerktabel textarea{min-width:7rem}
.hs-rijknoppen{white-space:nowrap}
.hs-bewerkknoppen{display:flex;gap:.6rem;flex-wrap:wrap}
.hs-opladen{display:grid;gap:.7rem}
.hs-opladen label{display:grid;gap:.25rem;font-weight:600;font-size:.88rem}
@media (max-width:860px){
  .hs-raster{grid-template-columns:minmax(0,1fr)}
  .hs-sectie{min-width:0}
  .hs-inhoud{position:static;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}
  .hs-gegevens{grid-template-columns:1fr}
  .hs-gegevens dt{margin-top:.4rem}
  .hs-sectie{padding:.9rem}
  .hs-sectiekop{flex-direction:column}
}
/* (kop op gsm: zie de laag "MyBPC op gsm" onderaan) */
@page hs{size:A4;margin:14mm}
@media print{
  .hs{page:hs}
  .hs-raster{display:block}
  .hs-sectie{break-inside:avoid-page;border:0;border-top:3px solid var(--kraft-hout);padding:.6rem 0;margin-bottom:.8rem}
  .hs-staal{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hs-bestand .hs-voorbeeld{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Personeel (/personeel, 22 okt 2026): personeelsdossiers (enkel superbeheerders) */
.ps{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem}
.ps .hs-acties{flex-wrap:wrap}
.ps .hs-kop{margin:.4rem 0 .2rem}
.ps-roepnaam{font-size:.55em;font-weight:500;font-stretch:100%;letter-spacing:0}
.ps-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1.1rem}
.ps-raster .hs-sectie h2,.ps .hs-sectie h2{margin:0 0 .7rem;font-size:1.1rem;text-transform:uppercase;letter-spacing:.02em}
.ps .hs-gegevens{grid-template-columns:minmax(8rem,12rem) 1fr}
.ps-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.9rem}
.ps-filters input[type=search]{flex:1 1 18rem}
.ps-tabel td{vertical-align:top}
.ps-todo .pr-todolijst{margin:0}
.ps-todo .pr-todolijst li{grid-template-columns:auto 1fr;align-items:baseline}
.ps-velden{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem 1rem}
.ps-velden label,.ps-formulier label{display:grid;gap:.25rem;font-weight:600;font-size:.88rem}
.ps-velden input,.ps-velden select,.ps-velden textarea{font:inherit;font-weight:400;width:100%;box-sizing:border-box}
.ps-breed{grid-column:1/-1}
.ps-verborgen{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.ps-historie{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ps-historie li{display:grid;gap:.1rem;border-left:3px solid var(--lijn);padding-left:.7rem;font-size:.9rem}
@media (max-width:640px){
  .ps-raster{grid-template-columns:minmax(0,1fr)}
  .ps .hs-gegevens{grid-template-columns:1fr}
}
@page ps{size:A4;margin:14mm}
@media print{
  .ps{page:ps}
  .ps .hs-sectie{break-inside:avoid-page;border:0;border-top:3px solid var(--kraft-hout);padding:.5rem 0}
}

/* Rechtenbeheer (22 okt 2026): per medewerker per module geen / lezen / bewerken (venster Medewerkers) */
.mw-dialoog { max-width: 860px; }
.mw-samen { font-size: .82rem; color: #5E5A52; }
.mw-tabel tr.mw-open td { border-bottom: 0; background: #F5F3EE; }
.mw-rechtenrij > td { background: #F5F3EE; text-align: left !important; white-space: normal !important; }
.mw-rechten { display: grid; gap: 10px; }
.mw-groep h4 { margin: 6px 0 4px; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #8A5F33; }
.mw-module { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 6px 0; border-bottom: 1px solid #E4DFD4; }
.mw-mnaam { flex: 1 1 260px; min-width: 0; }
.mw-mnaam .klein { display: block; }
.mw-niveaus { display: inline-flex; border: 1px solid #1D1D1B; }
.mw-niveau { border: 0; border-left: 1px solid #1D1D1B; background: #fff; padding: 4px 10px; font: inherit; font-size: .85rem; cursor: pointer; }
.mw-niveau:first-child { border-left: 0; }
.mw-niveau[aria-checked="true"].mw-geen { background: #9B2C2C; color: #fff; }
.mw-niveau[aria-checked="true"].mw-lezen { background: #B8895A; color: #fff; }
.mw-niveau[aria-checked="true"].mw-bewerken { background: #336029; color: #fff; }
.mw-std { margin-left: 2px; opacity: .7; }
.mw-hard { border-color: #336029; color: #336029; background: #fff; }
.mw-zacht { border-color: #B8B2A6; color: #5E5A52; background: #fff; }
.mw-acties { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.mw-historie ul { margin: 4px 0 0; padding-left: 18px; font-size: .85rem; }
.rb-geen { padding: 24px 0; }
@media (max-width: 640px) {
  .mw-tabel th:first-child { width: 44%; }
  .mw-tabel th:nth-child(2), .mw-tabel td:nth-child(2) { display: none; }
  .mw-tabel td:not(:last-child) { overflow-wrap: anywhere; }
  .mw-tabel td:last-child { white-space: nowrap; width: 1%; }
  .mw-tabel td:last-child .link { display: block; margin-left: auto; }
  .mw-niveau { padding: 4px 8px; }
}
/* Enkel lezen (rechtenbeheer, startPagina met module): schrijfknoppen weg, formulieren niet in te vullen; de regels weigeren bewaren toch */
.rb-lezenmelding { max-width: 1180px; margin: 12px auto 0; padding: 8px 12px; background: #F5F3EE; border-left: 4px solid #B8895A; font-size: .9rem; }
body.rb-lezen :is(.rb-schrijf, [data-ga="/nieuw"], [data-ga="/producent/nieuw"], [data-ga*="/werkbon"], [data-ga$="/bewerken"],
  [data-pa="artKoppel"], [data-pa="artWeg"], [data-pa="docOpladen"], [data-pa="docOpladenP"], [data-pa="grondstofVoorP"], [data-pa="levKiezen"],
  [data-pa="levWeg"], [data-pa="lijnWeg"], [data-pa="standaardDocs"], [data-pa="todoOpladen"], [data-pa="draaiuren"], [data-pa="firmaKiezen"],
  [data-pa="firmaWeg"], [data-pa="foto"], [data-pa="grondstofWeg"], [data-pa="standaardTaken"], [data-pa="taak"], [data-pa="wbBewerken"],
  [data-pa="wbCorrectie"], [data-pa="nieuweVersie"], [data-pa="contactKies"], form button[type="submit"]) { display: none !important; }
body.rb-lezen form:has(button[type="submit"]) :is(input, select, textarea) { pointer-events: none; background: #F5F3EE; }
/* Mijn artikels (22 okt 2026): Bestellingen per artikel – in bestelling, in voorbereiding of laatst geleverd */
.weergave-keuze{display:inline-flex;margin:0 0 .9rem}
.weergave-keuze button{border:0;background:none;font:inherit;font-size:.92rem;padding:.4rem 1.1rem;cursor:pointer}
.art-sub{margin:0 0 .5rem;font-size:.88rem}
.art-tabel td:first-child{border-left:4px solid var(--lijn);width:42%}
.art-r.art-in td:first-child{border-left-color:var(--bpc)}
.art-r.art-vb td:first-child{border-left-color:var(--kraft-hout)}
.art-nd{display:block;color:var(--inkt);font-weight:750}
.art-oms{display:block;color:var(--inkt)}
.art-tabel .code{display:block;color:var(--grijs);font-size:.78rem}
.art-l{display:block;line-height:1.55}
.art-l+.art-l{margin-top:.2rem}
.art-l.niet{color:var(--grijs)}
.art-l.vb{color:#7A5426}
.art-l .link{font-weight:650;padding:0}
.art-l .po-status{white-space:nowrap}
.vd-productie .vd-sub{text-decoration:underline;text-underline-offset:2px}
@media (max-width:700px){
  .weergave-keuze{display:flex}
  .weergave-keuze button{flex:1}
  .art-tabel thead{display:none}
  .art-tabel tr.art-r{display:block;border-bottom:1px solid var(--lijn);border-left:4px solid var(--lijn)}
  .art-tabel tr.art-r.art-in{border-left-color:var(--bpc)}
  .art-tabel tr.art-r.art-vb{border-left-color:var(--kraft-hout)}
  .art-tabel tr.art-r td{display:block;border:0;width:auto;padding:.3rem .6rem}
  .art-tabel tr.art-r td:first-child{border-left:0;padding-bottom:0}
}
/* /beheer → Orders → Artikels */
.oa-zoek input{flex:1;min-width:min(100%,520px)}
.oa-klant input{min-width:260px}
.oa-tabel td{font-size:.85rem}
.oa-tabel .oa-l+.oa-l{margin-top:.35rem;padding-top:.35rem;border-top:1px dashed var(--lijn)}
.oa-tabel .oa-wo{font-size:.78rem}
.oa-tabel .oa-keer{text-align:center}
.oa-r.oa-in td:first-child{border-left:4px solid var(--bpc)}
.oa-r.oa-vb td:first-child{border-left:4px solid var(--kraft-hout)}
.oa-r.oa-niet td:first-child{border-left:4px solid var(--lijn)}
.oa-r.oa-klaar td:first-child{border-left:4px solid var(--groen,#336029)}
.oa-tabel .oa-sinds{color:var(--groen,#336029)}
/* Intern domein (22 okt 2026): het aanmeldscherm van het portaal toont enkel de Google-aanmelding voor medewerkers */
body.op-intern #scherm-aanmelden .tabs,body.op-intern #form-login,body.op-intern #form-registreer,body.op-intern #introProef{display:none!important}
body.op-intern #melding-aanmelden:empty{display:none}
#klantNietHier{margin:.6rem 0 0}
/* Klantenportaal (portaal.belpaper.com, 25 okt 2026): geen aanmelding voor medewerkers, die gebruiken MyBPC - Internal */
body.op-portaal .medewerker-login{display:none!important}
/* Order die enkel in Exact staat (22 okt 2026, order-exact.js) */
.or-exact-kop{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1.2rem;margin:0}
.or-exact-kop dt{color:var(--grijs);font-size:.85rem}
.or-exact-kop dd{margin:0}
.or-exact-regels{width:100%}
.or-exact-regels .getal{text-align:right;white-space:nowrap}
.or-exact-regels .klein{font-size:.82rem;color:var(--grijs);margin-top:.25rem}
.or-exact-mails{padding-left:1.1rem}
.or-exact-mails li{margin:.25rem 0}

/* =========================================================   Proefdruk in 3D (public/proef-3d.js; 22 okt 2026): venster met de zak, cliché-kaart, maat, zegel, watermerk en afscherming
   ================================================================ */
.p3d{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}
@media (max-width:820px){.p3d{grid-template-columns:minmax(0,1fr)}}
.p3d-venster{position:relative;background:#ECE7DE;border:1px solid var(--lijn);aspect-ratio:4/3;min-width:0;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.p3d-venster canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.p3d-venster canvas:active{cursor:grabbing}
.p3d-venster canvas[hidden],.p3d-status[hidden],.p3d-tip[hidden]{display:none}
.p3d-venster .p3d-plat{position:absolute;inset:0;object-fit:contain;cursor:default;background:#fff}
.p3d-status{position:absolute;inset:0;display:grid;place-items:center;color:var(--grijs);font-size:14px;pointer-events:none}
.p3d-kaart{position:absolute;left:12px;top:12px;z-index:4;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline;background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);padding:8px 12px;pointer-events:none;max-width:calc(100% - 24px)}
.p3d-lab{grid-column:1/-1;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--kraft-donker);font-weight:700}
.p3d-nr{font-weight:800;font-size:28px;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--inkt)}
.p3d-naam{font-weight:700;font-size:17px;color:var(--inkt)}
.p3d-fmt{grid-column:1/-1;font-size:11px;color:var(--grijs);margin-top:2px}
@media (max-width:560px){.p3d-nr{font-size:20px}.p3d-naam{font-size:14px}}
.p3d-tip{position:absolute;right:12px;top:12px;font-size:12px;color:var(--grijs);z-index:2}
.p3d-maat{position:absolute;left:12px;bottom:12px;z-index:4;background:#fff;border:1px solid var(--lijn);padding:6px 10px;font-size:12px;font-variant-numeric:tabular-nums}
.p3d-zegel{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;gap:8px;background:var(--inkt);color:#F5F3EE;padding:6px 10px 6px 8px;font-size:12px;letter-spacing:.02em;pointer-events:none}
.p3d-zegel svg{height:20px;width:20px;display:block}
.p3d-watermerk{position:absolute;inset:0;pointer-events:none;z-index:3;background-repeat:repeat;mix-blend-mode:multiply}
.p3d-scherm{position:absolute;inset:0;z-index:5;display:none;place-items:center;text-align:center;padding:20px;background:rgba(29,29,27,.82);color:#F5F3EE;font-size:14px;cursor:pointer}
.p3d-scherm b{display:block;font-size:16px;margin-bottom:4px}
.p3d-af .p3d-venster canvas{filter:blur(28px) grayscale(1)}
.p3d-af .p3d-scherm{display:grid}
.p3d-kolom{display:grid;gap:14px;background:#fff;border:1px solid var(--lijn);padding:14px}
.p3d-groep{display:grid;gap:6px}
.p3d-groep h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--grijs);font-weight:600}
.p3d-keuze{display:flex;flex-wrap:wrap;gap:6px}
.p3d-keuze button{font:inherit;font-size:13px;padding:6px 9px;border:1px solid var(--lijn);background:var(--mist);color:var(--inkt);cursor:pointer;border-radius:0}
.p3d-keuze button[aria-pressed="true"]{background:var(--inkt);color:#F5F3EE;border-color:var(--inkt)}
.p3d-open{width:100%;accent-color:var(--bpc)}
.p3d-schuif{display:flex;justify-content:space-between;font-size:12px;color:var(--grijs);font-variant-numeric:tabular-nums}
.p3d-vink{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:400;margin:0}
.p3d-vink input{width:auto;margin:0;flex:none}
.p3d-noot{font-size:12px;color:var(--grijs);margin:0}
@media print{.p3d-extern{display:none!important}}
/* plaats van het 3D-venster: proefpagina van de klant en het dossier in /beheer (smalle kolom: bediening onder het venster) */
.pr-weergave,.pd-weergave{margin:.6rem 0}
.pr-3d .p3d,.pd-3d .p3d{grid-template-columns:minmax(0,1fr)}
.pr-3d .p3d-kolom,.pd-3d .p3d-kolom{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start}
.pd-3d-fout{margin:.4rem 0}
.pr-3d .p3d-venster,.pd-3d .p3d-venster{aspect-ratio:4/5;max-height:78vh}
.pr-3d .p3d-groep,.pd-3d .p3d-groep{min-width:200px;flex:1 1 200px}
.pr-3d .p3d-vink,.pd-3d .p3d-vink{flex:1 1 100%}
/* Blanco proefdrukken (22 okt 2026): blok in Documenten en knoppen bij de gepersonaliseerde artikels van de catalogus */
.blanco{margin-top:1.75rem;background:#fff;border:1px solid var(--lijn);border-radius:1rem;padding:1.1rem 1.25rem}
.bl-mb{opacity:.75;font-weight:500}
.bl-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.bl-kop h2{font-size:1.15rem;margin:0 0 .25rem}
.bl-kop p{margin:0;max-width:44rem}
.bl-zoek{margin:1rem 0 .5rem;max-width:30rem}
.bl-cat{border-top:1px solid var(--lijn)}
.bl-cat summary{cursor:pointer;padding:.7rem 0;font-weight:700;color:var(--inkt);display:flex;gap:.6rem;align-items:baseline}
.bl-cat summary{list-style:none}
.bl-cat summary::-webkit-details-marker{display:none}
.bl-cat summary::before{content:"▸";color:var(--kraft-hout);transition:transform .15s;display:inline-block}
.bl-cat[open] summary::before{transform:rotate(90deg)}
.bl-cat ul{list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.1rem}
.bl-rij{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .6rem;border-left:3px solid var(--mist)}
.bl-rij:hover{background:var(--mist);border-left-color:var(--kraft-hout)}
.bl-rij > div{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;min-width:0}
.bl-rij .knop{flex-shrink:0}
.bl-intern{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--inkt);color:#fff;padding:.05rem .35rem}
.bl-knoppen{display:flex;flex-wrap:wrap;gap:.3rem .5rem;margin-top:.35rem}
.bl-knop{font:inherit;font-size:.82rem;font-weight:600;color:var(--bpc);background:#fff;border:1px solid var(--bpc);border-radius:0;padding:.2rem .55rem;cursor:pointer;white-space:nowrap}
.bl-knop:hover{background:var(--bpc-licht)}
.prijstabel th .bl-knoppen{display:flex}
.rek-uitkomst .bl-knoppen,.formulier > .bl-knoppen{margin:.1rem 0 .4rem}
.bl-rij > .bl-knoppen,.bl-kop > .bl-knoppen{margin-top:0;justify-content:flex-end;flex-shrink:0}
@media (max-width:600px){
  .blanco{padding:1rem}
  .bl-rij{padding:.5rem .3rem;align-items:flex-start}
  .bl-zoek{max-width:none}
}
/* Prijzenbeheer → Blanco proefdrukken */
.pz-blk{list-style:none;margin:.3rem 0;padding:0;display:grid;gap:.2rem}
.pz-blk .stil{display:block;margin-left:1.6rem}
/* Intern breder (23 okt 2026, vraag Dimitri: "alle tabellen wat breder"): /beheer en Productie/Personeel gebruiken de breedte van het scherm
   tot 100rem i.p.v. 64rem (76rem); de klantpagina's en Huisstijl blijven smal. Orders met de mail ernaast blijft 110rem. */
main.intern-breed{max-width:100rem}
/* Magazijn · Ontvangsten (/magazijn/ontvangsten, 23 okt 2026): tablet en gsm eerst – grote knoppen en cijfervelden */
main.ov-main{max-width:76rem}
.ov-kop{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.8rem}
.ov-kop h1{margin:0}
.ov-tabs,.ov-keuze{display:inline-flex;border:2px solid var(--bpc);border-radius:4px;overflow:hidden}
.ov-tabs button,.ov-keuze button{font:inherit;font-weight:600;background:#fff;color:var(--bpc);border:0;padding:.6rem 1rem;cursor:pointer;min-height:44px}
.ov-tabs button+button,.ov-keuze button+button{border-left:2px solid var(--bpc)}
.ov-tabs [aria-selected=true],.ov-keuze [aria-checked=true]{background:var(--bpc);color:#fff}
.ov-balk{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:.4rem 0 1rem}
.ov-zoek{flex:1 1 20rem;font-size:1.05rem;padding:.7rem .8rem;min-height:48px}
.ov-vernieuw{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}
.ov-leeg{padding:1rem 0}
.ov-lev{margin:0 0 1.4rem}
.ov-lev h2{font-size:1.15rem;margin:.2rem 0 .5rem;padding-bottom:.25rem;border-bottom:2px solid var(--inkt)}
.ov-aankoop,.ov-ontv,.ov-art{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft-hout);padding:.75rem .9rem;margin:0 0 .7rem}
.ov-aankoopkop,.ov-artkop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:.4rem}
.ov-nr,.ov-code{font-size:1.1rem}
.ov-label{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--mist);border:1px solid var(--kraft-hout);color:var(--kraft-donker);padding:0 .35rem}
.ov-label-oud{background:#fff;border-color:var(--grijs);color:var(--grijs)}
.ov-label-exact{background:#fff;border-color:var(--groen,#336029);color:var(--groen,#336029)}
.ov-label-lb{background:#fff4e5;border-color:#c77a1a;color:#8a4f0b}
.ov-melding{margin:0 0 1.25rem;padding:.85rem 1rem;border:2px solid;background:#fff}
.ov-melding h2{margin:0 0 .35rem;font-size:1.05rem}
.ov-melding p{margin:0 0 .4rem}
.ov-melding ul{margin:.35rem 0 0;padding-left:1.1rem}
.ov-melding li{margin:.15rem 0}
.ov-melding-rood{border-color:var(--rood,#A63D32);background:#fbecea;color:#5e1d16}
.ov-melding-rood h2{color:var(--rood,#A63D32)}
.ov-melding-oranje{border-color:#c77a1a;background:#fff4e5;color:#5a3507}
/* Aangekondigde leveringen uit de mails van magazijn@ (25 okt 2026, functions/magazijnai.js) */
.ov-komend{margin:0 0 1.25rem;padding:.85rem 1rem;border:2px solid var(--groen,#336029);background:#f1f6ee}
.ov-komend h2{margin:0 0 .35rem;font-size:1.05rem;color:var(--groen,#336029)}
.ov-komend ul{margin:.2rem 0 .4rem;padding-left:1.1rem}
.ov-komend li{margin:.2rem 0}
.ov-komend p{margin:0}
.ov-aank{margin:.15rem 0 .45rem;padding:.3rem .5rem;background:#f1f6ee;border-left:3px solid var(--groen,#336029)}
.ov-label-aank{background:#f1f6ee;border-color:var(--groen,#336029);color:var(--groen,#336029);text-transform:none;letter-spacing:0}
.ib-mag-ai{margin:.35rem 0 .2rem;padding:.35rem .55rem;background:#f1f6ee;border-left:3px solid var(--groen,#336029);font-size:.92rem}
.ib-mag-ai ul{margin:.2rem 0 0;padding-left:1.1rem}
.ov-aankoop.ov-gefactureerd{border-left-color:var(--rood,#A63D32);box-shadow:0 0 0 2px var(--rood,#A63D32) inset}
.ov-rood{margin:.25rem 0 .5rem;color:var(--rood,#A63D32);font-weight:700}
.ov-uitleg{margin-top:1.5rem}
.ov-blok{display:block}
.ov-oms{color:var(--tekst)}
.knop.ov-groot{font-size:1.05rem;padding:.8rem 1.2rem;min-height:52px}
.ov-regels{width:100%;border-collapse:collapse;font-size:.95rem}
.ov-regels th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grijs);border-bottom:1px solid var(--lijn);padding:.3rem .4rem}
.ov-regels td{border-bottom:1px solid var(--lijn);padding:.45rem .4rem;vertical-align:top}
.ov-regels .num{text-align:right;white-space:nowrap}
.ov-regels tr.ov-klaar td{color:var(--grijs)}
.ov-portaal{font-size:.8rem;color:var(--kraft-donker);font-weight:600}
.ov-oud{margin-top:1.5rem;border-top:2px dashed var(--lijn);padding-top:.6rem}
.ov-oud summary{cursor:pointer;font-weight:700;padding:.5rem 0;color:var(--grijs)}
.ov-oud .ov-aankoop{border-left-color:var(--grijs)}
.ov-totaal{font-size:1rem}
.ov-artrijen{list-style:none;margin:0;padding:0}
.ov-artrijen li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.45rem 0;border-top:1px solid var(--lijn)}
.ov-artrijen li>span:first-child{flex:1 1 16rem}
.ov-artrijen .ov-artnog{font-weight:700;white-space:nowrap}
.ov-artrijen li.ov-is-oud{opacity:.75}
/* Formulier */
.ov-formulier{max-width:52rem}
.ov-terug{margin:0 0 .4rem}
.ov-sub{margin:.2rem 0 1rem}
.ov-stappen{list-style:none;counter-reset:stap;margin:0;padding:0}
.ov-stappen>li{counter-increment:stap;position:relative;padding:.2rem 0 1rem 2.6rem;border-left:2px solid var(--lijn);margin-left:1rem}
.ov-stappen>li::before{content:counter(stap);position:absolute;left:-1rem;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--inkt);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.ov-stappen h2{font-size:1.1rem;margin:.2rem 0 .5rem}
.ov-veld{font-size:1.05rem;padding:.7rem .8rem;width:100%;max-width:28rem;min-height:48px;box-sizing:border-box}
textarea.ov-veld{max-width:none}
.ov-verplicht{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--rood,#A63D32);letter-spacing:.04em;margin-left:.3rem}
.ov-fregel{border:1px solid var(--lijn);padding:.7rem;margin:0 0 .6rem;background:#fff;opacity:.7}
.ov-fregel.aan{opacity:1;border-color:var(--bpc);box-shadow:inset 4px 0 0 var(--bpc)}
.ov-vink{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}
.ov-vink input[type=checkbox]{width:28px;height:28px;flex-shrink:0;accent-color:var(--bpc);margin:0}
.ov-getallen{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;margin:.6rem 0 0 2.4rem}
.ov-getallen label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600}
.ov-getal{font-size:1.4rem;font-weight:700;padding:.5rem .6rem;width:9rem;min-height:52px;text-align:right;box-sizing:border-box}
.ov-lot{font-size:1.1rem;font-weight:700;padding:.5rem .6rem;width:12rem;min-height:52px;box-sizing:border-box;font-family:ui-monospace,Menlo,monospace}
.ov-label-scan{background:#eef5ec;border-color:var(--groen,#336029);color:var(--groen,#336029)}
.ov-scan{margin:.6rem 0 0;padding:.6rem .8rem;border:1px solid var(--lijn);background:#fff}
.ov-scan p{margin:.15rem 0}
.ov-scan-bezig{border-style:dashed}
.ov-scan-ok{border-color:var(--groen,#336029);box-shadow:inset 4px 0 0 var(--groen,#336029)}
.ov-scan-fout{border-color:#c77a1a;background:#fff4e5}
.ov-afsluiten{margin:.2rem 0 .4rem}
/* Per artikel een rij per lot (24 okt 2026) */
.ov-deel{align-items:flex-end;padding-top:.6rem;border-top:1px dashed var(--lijn)}
.ov-deel:first-of-type{border-top:0}
.ov-deelnr{flex-basis:100%;font-size:.85rem;font-weight:700;color:var(--bpc)}
.ov-deelweg{align-self:center;font-size:.9rem}
.ov-deelplus{margin:.5rem 0 0 2.4rem}
.ov-deelplus button{font-weight:700}
.ov-telling{margin:0 0 .6rem;font-size:1.05rem}
/* Leverbon & labels: welke artikels (24 okt 2026) */
.ov-betrokken{margin:.8rem 0 1.4rem;padding:.8rem 1rem;border:2px solid var(--bpc);background:#fff}
.ov-betrokken h2{margin:0 0 .4rem;font-size:1.05rem}
.ov-betrokken .ov-regels{margin:0}
/* Aantallen achteraf aanpassen (24 okt 2026) */
.ov-aanpas{margin:.6rem 0 1rem}
.ov-aanpastabel{border-collapse:collapse;width:100%;max-width:44rem}
.ov-aanpastabel th{text-align:left;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--stil,#6b6a66);padding:.3rem .5rem;border-bottom:1px solid var(--lijn)}
.ov-aanpastabel td{padding:.35rem .5rem;border-bottom:1px solid var(--lijn);vertical-align:middle}
.ov-aanpastabel .ov-getal{width:8rem;min-height:44px;font-size:1.15rem}
.ov-aanpastabel .ov-colli{width:5rem}
.ov-aanpasveld{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
@media (max-width:600px){.ov-aanpastabel .ov-getal{width:6rem}.ov-aanpastabel .ov-colli{width:3.6rem}}
/* Leverbon en CMR in Exact (24 okt 2026): stand bij "Geprint" */
.ov-exact{margin:.35rem 0 0;padding:.3rem .55rem;border-left:3px solid #9a9a96;background:#f3f2ee;font-size:.9rem}
.ov-exact-ok{border-left-color:#336029;background:#eef4ec}
.ov-exact-wacht,.ov-exact-bezig{border-left-color:#B8895A;background:#f8f1e8}
.ov-exact-let{border-left-color:#c77a1a;background:#fff4e5}
.ov-exact-fout{border-left-color:#b3261e;background:#fdecea;color:#7a1712}
.ov-wacht{margin:.2rem 0;padding:.8rem 1rem;border:1px dashed var(--lijn);background:#fff}
.ov-colli{width:5rem;text-align:center}
.ov-teller{display:inline-flex;align-items:stretch;gap:.3rem}
.ov-teller button{font:inherit;font-size:1.5rem;font-weight:800;width:52px;min-height:52px;border:2px solid var(--bpc);background:#fff;color:var(--bpc);cursor:pointer}
.ov-teller button:disabled{opacity:.4;cursor:default}
.ov-bestandknoppen{display:flex;flex-wrap:wrap;gap:.5rem}
.ov-bestandknoppen label.knop{cursor:pointer}
.ov-bestanden{list-style:none;margin:.5rem 0 0;padding:0}
.ov-bestanden li{display:flex;justify-content:space-between;gap:1rem;padding:.35rem .5rem;background:var(--mist);margin-bottom:.25rem}
#ovCmrKnoppen.ov-uit{opacity:.4;pointer-events:none}
.ov-geencmr{margin-top:.7rem;font-weight:600}
#ovReden{margin-top:.5rem}
.ov-bewaar{margin:.5rem 0 2rem 1rem;padding-left:2.6rem}
.ov-nog{margin:.6rem 0 0;padding-left:1.1rem;color:var(--rood,#A63D32);font-size:.9rem}
.ov-bewaard h1{color:var(--bpc)}
.ov-samen{margin:.3rem 0 .6rem;padding-left:1.1rem}
.ov-opm{font-style:italic;margin:.3rem 0}
.ov-docs{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;margin:.3rem 0}
.ov-acties{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem}
.ov-opnieuw fieldset{border:1px solid var(--lijn);margin:0 0 .6rem;padding:.5rem .7rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.ov-opnieuw .ov-vink input[type=checkbox]{width:22px;height:22px}
.mw-label.mw-magazijn{background:var(--inkt);color:#fff;border-color:var(--inkt)}
@media (max-width:640px){
  .ov-regels thead{display:none}
  .ov-regels tr{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--lijn);padding:.35rem 0}
  .ov-regels td{border:0;padding:.15rem .2rem}
  .ov-regels td:first-child{grid-column:1/-1}
  .ov-regels td.num{text-align:left;font-size:.88rem}
  .ov-regels td.num::before{display:block;font-size:.68rem;text-transform:uppercase;color:var(--grijs);letter-spacing:.03em}
  .ov-regels td:nth-child(2)::before{content:"Besteld"}
  .ov-regels td:nth-child(3)::before{content:"Ontvangen"}
  .ov-regels td:nth-child(4)::before{content:"Nog"}
  .ov-aankoopkop .knop.ov-groot{width:100%}
  .ov-stappen>li{padding-left:1.8rem;margin-left:.9rem}
  .ov-getallen{margin-left:0}
  .ov-bewaar{margin-left:0;padding-left:0}
  .ov-bewaar .knop{width:100%}
  .ov-vernieuw{margin-left:0}
  .ov-tabs{width:100%}.ov-tabs button{flex:1}
}
/* Proef van het dossier in het orderscherm (23 okt 2026, orders.js proefRegelHtml) */
.or-proefzien{margin:.35rem 0 0}

/* Leverdatum voorbij en nog niet geleverd (23 okt 2026) */
.lev-volgt{color:#8A5F33;font-weight:600}

/* Briefing aan IPG boven de bronbestanden (23 okt 2026) */
.pd-briefing{border-left:4px solid var(--kraft,#B8895A);background:#FBF8F2;padding:.45rem .7rem;margin:.2rem 0 .6rem}
.pd-briefing p{margin:.15rem 0}
.pd-briefing-tekst{white-space:pre-wrap;font-size:.95rem}

/* Magazijn · Inzichten en Leverplanning (24 okt 2026, leveradvies-scherm.js). Tablet en gsm eerst. */
.la-main h1{margin:0}
.la-kop{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 .4rem}
.la-balk{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0 0 .9rem}
.la-tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:0 0 1rem}
.la-tegel{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid var(--lijn);border-top:5px solid var(--grijs,#8a8a85);padding:.7rem .8rem;min-height:4.6rem}
.la-tegel-getal{font-size:1.7rem;font-weight:800;line-height:1.1}
.la-tegel.gekozen{outline:3px solid var(--inkt);outline-offset:-3px}
.la-adv-nu{--la-kleur:#B3261E}.la-adv-afhalen{--la-kleur:#1D1D1B}.la-adv-franco{--la-kleur:#336029}.la-adv-bijna{--la-kleur:#B8895A}.la-adv-wachten{--la-kleur:#8a8a85}
.la-tegel.la-adv-nu,.la-tegel.la-adv-afhalen,.la-tegel.la-adv-franco,.la-tegel.la-adv-bijna{border-top-color:var(--la-kleur)}
.la-tegel-waarde{border-top-color:var(--bpc,#336029)}
.la-filters{display:flex;flex-wrap:wrap;gap:.5rem .8rem;align-items:flex-end;margin:.4rem 0 .8rem}
.la-filters label{display:flex;flex-direction:column;font-size:.8rem;gap:.15rem}
.la-filters input[type=search]{flex:1;min-width:14rem}
.la-klanten{display:grid;gap:.7rem}
.la-klant{background:#fff;border:1px solid var(--lijn);border-left:5px solid var(--la-kleur);padding:.75rem .9rem}
.la-klant-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.la-klant-kop h3{margin:0 0 .1rem;font-size:1.05rem}
.la-label{flex-shrink:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--la-kleur);padding:.15rem .45rem}
.la-uitleg{margin:.35rem 0}
.la-franco{display:flex;flex-direction:column;gap:.2rem;margin:.3rem 0 .5rem}
.la-franco-balk{display:flex;height:10px;background:#efece5;border:1px solid var(--lijn);max-width:28rem}
.la-franco-balk .klaar{background:var(--bpc,#336029)}
.la-franco-balk .binnenkort{background:repeating-linear-gradient(45deg,#B8895A 0 4px,#d9c2a3 4px 8px)}
.la-klant-acties{display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}
.la-ingepland{font-size:.85rem;font-weight:700;color:var(--bpc,#336029)}
.la-voorstel-mini{font-size:.85rem;border:1px dashed var(--kraft-hout,#8A5F33);padding:.1rem .4rem}
.la-orders{margin:.6rem 0 0;display:grid;gap:.6rem}
.la-order-kop{margin:0 0 .2rem;font-size:.9rem}
.la-regels{width:100%;border-collapse:collapse;font-size:.88rem}
.la-regels th,.la-regels td{border-bottom:1px solid var(--lijn);padding:.3rem .4rem;text-align:left;vertical-align:top}
.la-regels td span.klein{display:block}
.la-regels .getal{text-align:right;white-space:nowrap}
.la-ok{color:var(--bpc,#336029);font-weight:700}.la-bijna{color:#8A5F33;font-weight:700}.la-niet{color:#B3261E;font-weight:700}
.la-wachten{margin:1rem 0}.la-wachten>summary{cursor:pointer;font-weight:700;margin:0 0 .6rem}
.la-voorstel{background:#FBF8F2;border:1px solid var(--lijn);padding:.7rem .9rem;margin:0 0 1rem}
.la-voorstel.leeg{background:none;border-style:dashed}
.la-voorstel-kop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem}
.la-voorstel-kop h2{margin:0;font-size:1.1rem}
.la-voorstel-dagen{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem;margin:.6rem 0 0}
.la-voorstel-dag h3{margin:0 0 .3rem;font-size:.95rem;text-transform:capitalize}
.la-rit{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--la-kleur,var(--inkt));padding:.45rem .55rem;margin:0 0 .45rem;font-size:.9rem}
.la-rit p{margin:.1rem 0}
.la-rit.voorstel{border:2px dashed var(--kraft-hout,#8A5F33);background:#fffdf8}
.la-rit.geleverd{opacity:.75}
.la-rit.niet-geleverd{border-color:#B3261E;box-shadow:inset 4px 0 0 #B3261E}
.la-rit.sleept{opacity:.4}
.la-rit[draggable=true]{cursor:grab}
.la-rit-kop{display:flex;justify-content:space-between;gap:.4rem}
.la-rit-acties{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin:.3rem 0 0}
.la-pallets{display:flex;flex-direction:row;align-items:center;gap:.4rem;margin:.2rem 0}
.la-pallets input{width:4.2rem;padding:.2rem .4rem}
.la-week{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;margin:0 0 .8rem}
.la-planning{display:grid;gap:.9rem}
.la-dag{background:#fff;border:1px solid var(--lijn);padding:.6rem .7rem}
.la-dag.vandaag{border:2px solid var(--inkt)}
.la-dag.voorbij{background:#f7f6f2}
.la-dag-kop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin:0 0 .4rem}
.la-dag-kop h2{margin:0;font-size:1.05rem;text-transform:capitalize}
.la-kolommen{display:grid;grid-template-columns:repeat(var(--kols,3),minmax(10rem,1fr));gap:.6rem;overflow-x:auto}
.la-kolom{background:#f4f2ec;min-height:4rem;padding:.4rem;border:1px solid transparent}
.la-kolom.over{border:2px dashed var(--inkt);background:#ece8de}
.la-kolom h3{margin:0 0 .35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.la-leeg{margin:.2rem 0}
.la-form{display:grid;gap:.6rem;min-width:min(26rem,80vw)}
.la-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}
.la-form fieldset{display:grid;gap:.4rem;border:1px solid var(--lijn);padding:.5rem .7rem}
.la-form-knoppen{margin:.2rem 0 0}
@media (max-width:760px){
  .la-kolommen{grid-template-columns:1fr}
  .la-tegel-getal{font-size:1.4rem}
  .la-regels thead{display:none}
  .la-regels tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--lijn);padding:.3rem 0}
  .la-regels td{border:0}
  .la-regels td:first-child,.la-regels td:last-child{grid-column:1/-1}
  .la-regels .getal{text-align:left}
}
/* Relatiebeheer → klant → Levering (24 okt 2026) */
.rb-levering{display:grid;gap:.6rem;max-width:36rem}
.rb-levering .rb-dagen{display:flex;flex-wrap:wrap;gap:.3rem .9rem}
.rb-levering label.veld{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}

/* Management → Contracten (24 okt 2026): de volgende stap (opzegdatum) leesbaar breed */
.ct-stap{min-width:15rem}
@media (max-width:640px){ .ct-stap{min-width:10rem} }
.ct-termijn{display:flex;gap:.4rem}
.ps-velden .ct-termijn input{max-width:6rem}
.ps-formulier label.vinkje,.ps-velden label.vinkje{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.ps-formulier label.vinkje input,.ps-velden label.vinkje input{width:auto}

/* Management → Paswoorden (24 okt 2026): versleutelde kluis */
.pw-slot{max-width:40rem}
.pw-open{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end;margin:.6rem 0}
.pw-open label{display:grid;gap:.25rem;font-weight:600;flex:1 1 16rem}
.pw-open input{font:inherit}
.pw-open-label{font-size:.4em;font-weight:600;letter-spacing:0;font-stretch:100%;color:var(--groen,#336029);vertical-align:middle}
.pw-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;word-break:break-all}
.pw-tabel td{vertical-align:top}
.pw-rij{display:flex;gap:.4rem;align-items:center}
.pw-rij input{flex:1 1 auto;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.pw-sterkte[data-sterkte=zwak]{color:#B42318}.pw-sterkte[data-sterkte=redelijk]{color:#B26A00}.pw-sterkte[data-sterkte=sterk]{color:var(--groen,#336029)}
.pw-maak{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.pw-maak label{display:flex;align-items:center;gap:.35rem;font-weight:400}
.pw-vorige{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.3rem}
/* Paswoorden – noodcode (24 okt 2026): één keer getoond, afdrukken op een eigen blad */
.pw-nood-open{margin:.4rem 0 .8rem}
.pw-nood-open summary{cursor:pointer;display:inline}
.pw-noodcode{border:2px solid var(--kraft,#B8895A);background:#FBF7F0;padding:1rem 1.1rem;margin:.8rem 0;display:grid;gap:.6rem}
.pw-noodcode p{margin:0}
.pw-code{font-size:1.35rem;font-weight:700;letter-spacing:.06em;word-break:break-all;color:var(--inkt,#1D1D1B)}
.pw-noodcode .vinkje{display:flex;gap:.5rem;align-items:flex-start;font-weight:600}
#pwDruk{display:none}
@media print{
  body.pw-druk > *:not(#pwDruk){display:none !important}
  body.pw-druk #pwDruk{display:block;font-family:Archivo,Arial,sans-serif;color:#000;max-width:17cm;margin:1.5cm auto}
  #pwDruk h1{font-size:20pt;margin:0 0 .3cm}
  #pwDruk .pw-druk-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:20pt;font-weight:700;letter-spacing:.08em;border:2px solid #000;padding:.5cm;margin:.8cm 0;text-align:center}
  #pwDruk p{font-size:11pt;line-height:1.45}
}
/* ---------- Magazijn · Planning (24 okt 2026, public/planning.js; vPlan, enkel kijken) ---------- */
.pl-kopblok{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1.5rem;margin-bottom:1rem}
.pl-kopblok h1{margin:0}
.pl-bijgewerkt{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;font-size:.9rem;color:var(--grijs)}
.pl-fout{color:var(--rood);font-weight:600}
.pl-balk{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin-bottom:.9rem}
.pl-filters{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}
.pl-filters select,.pl-filters input{width:auto;min-width:9rem;min-height:44px;padding:.45rem .6rem}
.pl-filters input{flex:1;min-width:14rem}
.pl-weeknav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.3rem 0 .7rem}
.pl-weeknav b{margin-left:.5rem}
.pl-raster-wrap{overflow-x:auto;border:1px solid var(--lijn);background:#fff;border-radius:6px}
.pl-raster{min-width:52rem}
.pl-dagkop{display:grid;position:sticky;top:0;background:#F5F3EE;border-bottom:2px solid var(--lijn);z-index:2}
.pl-dagkop>div{padding:.45rem .5rem;font-weight:700;font-size:.85rem}
.pl-dagkop>div::first-letter{text-transform:uppercase}
.pl-dagkop>.pl-nu{color:var(--bpc)}
.pl-bordnaam{display:block;padding:.45rem .6rem;background:var(--inkt);color:#fff;font-weight:700;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}
.pl-lijnrij{display:grid;border-bottom:1px solid var(--lijn);gap:3px 0;padding:3px 0;position:relative}
.pl-lijnnaam{grid-column:1;padding:.35rem .6rem;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--lijn);background:#FAF9F6;z-index:1}
.pl-lijnnaam span{font-size:.75rem;color:var(--grijs)}
.pl-dagvak{border-right:1px solid #EFEDE8}
.pl-dagvak.pl-nu{background:#F3F8F1}
.pl-plek{padding:0 3px;min-width:0;z-index:1}
.pl-kaart{display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;font:inherit;font-size:.8rem;line-height:1.25;padding:.3rem .45rem;border:1px solid var(--lijn);border-left:4px solid #6D8FB8;border-radius:4px;background:#fff;color:var(--inkt);cursor:pointer;overflow:hidden}
.pl-kaart:hover,.pl-kaart:focus-visible{box-shadow:0 2px 8px rgba(29,29,27,.18)}
.pl-kaart>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-k1{display:flex;align-items:center;gap:.3rem}
.pl-k3{color:var(--grijs)}
.pl-aantal{margin-left:auto;font-weight:700}
.pl-ex{font-size:.62rem;font-weight:700;line-height:1;padding:.1rem .25rem;border-radius:3px;border:1px solid;white-space:nowrap}
.pl-ex-ja{color:#336029;border-color:#9DBB93;background:#EEF4EC}.pl-ex-nee{color:#8a857c;border-color:#d9d4ca;background:#F5F3EE}
.pl-kaart.pl-gepland{border-left-color:#6D8FB8}
.pl-kaart.pl-bezig{border-left-color:#D98A1C;background:#FFF8EE}
.pl-kaart.pl-klaar{border-left-color:var(--bpc);background:var(--bpc-licht);color:#4C5A48}
.pl-kaart.pl-achter,.pl-kaart.pl-probleem{border-left-color:#B42318;background:#FDF2F0}
.pl-kaart.pl-gepauzeerd{border-left-color:#8C8C8C;background:#F3F3F3}
.pl-w{font-size:.75rem;line-height:1}
.pl-w-rood{color:#B42318}.pl-w-oranje{color:#C77A12}.pl-w-grijs{color:#8C8C8C}
.pl-stand{font-size:.78rem;font-weight:650;padding:.08rem .45rem;border-radius:99px;white-space:nowrap;background:#E8EEF6;color:#2E4F78}
.pl-stand.pl-bezig{background:#FBF1E4;color:#8A5F33}.pl-stand.pl-klaar{background:var(--bpc-licht);color:var(--bpc)}
.pl-stand.pl-achter,.pl-stand.pl-probleem{background:#F4DEDB;color:#A63D32}.pl-stand.pl-gepauzeerd{background:#ECEAE5;color:var(--grijs)}
.pl-legende{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center}
.pl-leg{padding:.05rem .5rem;border-left:4px solid #6D8FB8;background:#fff}
.pl-leg.pl-bezig{border-left-color:#D98A1C}.pl-leg.pl-klaar{border-left-color:var(--bpc)}.pl-leg.pl-achter{border-left-color:#B42318}
.pl-lijst td:nth-child(-n+4),.pl-lijst td:nth-child(7),.pl-lijst td:nth-child(8){white-space:nowrap}
.pl-lijst tr.pl-rij{cursor:pointer}.pl-lijst tr.pl-rij:hover{background:#F5F3EE}
.pl-lijst th button{font-weight:700;text-decoration:none;white-space:nowrap}
.pl-ordergroep{background:#fff;border:1px solid var(--lijn);border-left:4px solid var(--kraft);border-radius:6px;padding:.8rem 1rem;margin-bottom:.8rem}
.pl-ordergroep h3{margin:0 0 .4rem;font-size:1rem}
.pl-orderlijst{list-style:none;margin:0;padding:0}
.pl-orderlijst li{padding:.3rem 0;border-top:1px solid #EFEDE8}
.pl-paneel h2{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:0}
.pl-paneel h3{margin:1rem 0 .4rem;font-size:1rem}
.pl-artikel{font-size:1.05rem;margin:.2rem 0 .6rem}
.pl-waarsch{list-style:none;margin:0 0 .6rem;padding:0}
.pl-waarsch li{padding:.35rem .6rem;margin-bottom:.25rem;border-left:4px solid currentColor;background:#FAF9F6;font-weight:600}
.pl-gegevens{font-size:.92rem}
.pl-kleur{display:inline-block;padding:.05rem .45rem;border:1px solid var(--lijn);border-radius:99px;font-size:.85rem;margin:0 .15rem .15rem 0}
.pl-acties{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
@media (max-width:760px){
  .pl-filters select,.pl-filters input{flex:1 1 100%}
  .pl-tabs{width:100%}.pl-tabs button{flex:1;padding:.6rem .4rem}
}

/* ---------- Productie · Werkorders (24 okt 2026, public/werkorders.js; operators aan de lijn, tablet eerst) ---------- */
main.wo-main{max-width:84rem}
.wo-login{max-width:40rem}
.wo-namen{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;margin:.8rem 0}
.wo-naam{font:inherit;font-size:1.15rem;font-weight:700;min-height:64px;padding:.7rem;border:2px solid var(--bpc);border-radius:8px;background:#fff;color:var(--inkt);cursor:pointer}
.wo-naam:active{background:var(--bpc-licht)}
.wo-uitleg{font-size:1.1rem;font-weight:600}
.wo-reden{color:var(--rood);font-weight:600;min-height:1.4em}
.wo-wie{font-size:1.4rem;font-weight:800;margin:.2rem 0}
.wo-bolletjes{display:flex;gap:.8rem;justify-content:center;margin:1rem 0 .4rem}
.wo-bolletjes span{width:22px;height:22px;border-radius:50%;border:2px solid var(--inkt)}
.wo-bolletjes span.vol{background:var(--inkt)}
.wo-klavier{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;max-width:22rem;margin:0 auto}
.wo-klavier button{font:inherit;font-size:1.8rem;font-weight:700;min-height:72px;border:2px solid var(--lijn);border-radius:10px;background:#fff;color:var(--inkt);cursor:pointer}
.wo-klavier button:active{background:var(--bpc-licht);border-color:var(--bpc)}
.wo-klavier .wo-klein{font-size:1rem}
.wo-medewerker{margin-top:1.5rem}
.wo-medewerker summary{cursor:pointer;color:var(--grijs)}
.wo-afmelden{padding:.55rem 1.1rem;min-height:44px}
body.wo-operator .wo-afmelden{font-size:1.1rem;padding:.7rem 1.4rem;background:#fff;color:var(--inkt)}
.wo-machinekeuze{color:#fff}
.wo h1{margin:.2rem 0 .8rem}
.wo-machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.8rem}
.wo-machine{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font:inherit;text-align:left;min-height:96px;padding:1rem 1.1rem;border:2px solid var(--lijn);border-left:6px solid var(--bpc);border-radius:8px;background:#fff;color:var(--inkt);cursor:pointer}
.wo-machine b{font-size:1.35rem}
.wo-machine.wo-alle{border-left-color:var(--kraft)}
.wo-tablet{margin-top:2rem;padding:1rem 1.2rem;background:#fff;border:1px dashed var(--lijn);border-radius:8px}
.wo-tablet h2{margin:0 0 .4rem;font-size:1.05rem}
.wo-netwerk{margin:.8rem 0}
.wo-lijnkop h1 span{font-weight:500;color:var(--grijs);font-size:.8em}
.wo-sectie{margin:1.2rem 0}
.wo-sectie h2{font-size:1.05rem;margin:0 0 .5rem}
.wo-sectie h2::first-letter{text-transform:uppercase}
.wo-nu h2{font-size:1.3rem;color:var(--bpc)}
.wo-kaarten{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.7rem}
.wo-kaart{position:relative;display:flex;background:#fff;border:1px solid var(--lijn);border-left:6px solid #6D8FB8;border-radius:8px}
.wo-kaart.wo-bezig{border-left-color:#D98A1C}.wo-kaart.wo-klaar{border-left-color:var(--bpc);opacity:.75}
.wo-kaart.wo-achter,.wo-kaart.wo-probleem{border-left-color:#B42318}.wo-kaart.wo-gepauzeerd{border-left-color:#8C8C8C}
.wo-kaart.wo-telaat{box-shadow:inset 0 0 0 2px #B42318}
.wo-kaartlink{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem;color:inherit;text-decoration:none;min-width:0}
.wo-k1{display:flex;align-items:center;gap:.5rem;font-size:1.25rem}
.wo-aantal{font-weight:800}
.wo-k1 .pl-stand{margin-left:auto}
.wo-k2{font-size:1rem}
.wo-k3{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.9rem}
.wo-k4{color:#B42318;font-weight:700;font-size:.9rem}
.wo-klein .wo-kaartlink{padding:.6rem .8rem}.wo-klein .wo-k1{font-size:1.05rem}.wo-klein .wo-k2{font-size:.9rem}
.wo-label{display:flex;align-items:center;justify-content:center;width:56px;border-left:1px solid var(--lijn);font-size:1.4rem;text-decoration:none}
.wo-kbol{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.35);vertical-align:-3px}
.wo-kbol.wo-onbekend{background:repeating-linear-gradient(45deg,#ddd 0 3px,#fff 3px 6px)}
.wo-fichekop{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.wo-labels{font-size:1.15rem;padding:.85rem 1.4rem;min-height:56px;background:var(--bpc);border-color:var(--bpc)}
.wo-artikel{font-size:1.15rem;margin:.1rem 0}
.wo-blokken{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.8rem;margin:1rem 0}
.wo-blok{background:#fff;border:1px solid var(--lijn);border-radius:8px;padding:.9rem 1.1rem}
.wo-blok h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grijs);margin:0 0 .4rem}
.wo-groot{font-size:2rem;font-weight:800;margin:0;line-height:1.1}
.wo-groot span{font-size:1rem;font-weight:600;color:var(--grijs)}
.wo-kleuren{list-style:none;margin:0;padding:0;font-size:1.1rem}
.wo-kleuren li{display:flex;align-items:center;gap:.5rem;padding:.15rem 0}
.wo-kleuren .wo-kbol{width:22px;height:22px}
.wo-verschil{color:var(--grijs);font-size:.85rem;border-left:3px solid #B8B2A6;padding-left:.5rem}
.wo-kaartjes{margin:.3rem 0 0;padding-left:1.1rem;font-size:.9rem}
.wo-status{margin-bottom:1rem}
.wo-statusknoppen{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:.6rem 0}
.wo-sk{font:inherit;font-size:1.2rem;font-weight:800;min-height:72px;border-radius:10px;border:2px solid;cursor:pointer;background:#fff}
.wo-sk-gestart{border-color:#D98A1C;color:#8A5F33}.wo-sk-gepauzeerd{border-color:#8C8C8C;color:#4D4D4D}
.wo-sk-probleem{border-color:#B42318;color:#A63D32}.wo-sk-klaar{border-color:var(--bpc);color:#fff;background:var(--bpc)}
.wo-st-gestart{background:#FBF1E4;color:#8A5F33}.wo-st-gepauzeerd{background:#ECEAE5;color:var(--grijs)}
.wo-st-probleem{background:#F4DEDB;color:#A63D32}.wo-st-klaar{background:var(--bpc-licht);color:var(--bpc)}.wo-st-gepland{background:#E8EEF6;color:#2E4F78}
.wo-historie{margin-top:.6rem;font-size:.9rem}
.wo-proeflabel{font-weight:800;padding:.2rem .6rem;border-radius:4px}
.wo-proeflabel.goed{background:var(--bpc-licht);color:var(--bpc)}
.wo-proeflabel.niet{background:#B42318;color:#fff}
.wo-proeftabs{margin:.5rem 0}
.wo-pdfblad{display:block;width:100%;height:auto;border:1px solid var(--lijn);background:#fff;margin-bottom:.6rem}
.wo-3d{min-height:30rem}
.wo-redenen{display:grid;gap:.4rem;margin:.6rem 0}
.wo-reden-keuze{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;padding:.6rem .8rem;border:1px solid var(--lijn);border-radius:6px;cursor:pointer}
.wo-reden-keuze input{width:24px;height:24px}
.wo-vraag input[type=number]{font-size:1.4rem;max-width:12rem}
@media (max-width:760px){
  .wo-fichekop{flex-direction:column;align-items:stretch}
  .wo-labels{text-align:center}
  .wo-kaarten{grid-template-columns:1fr}
}
/* Personeel → Toegang als operator en Tablets (24 okt 2026, public/personeel-operator.js) */
.ps-pin{font-size:3rem;font-weight:800;letter-spacing:.3em;text-align:center;margin:.8rem 0;font-variant-numeric:tabular-nums}
.ps-oplijnenkeuze{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.5rem 0}
.ps-ips{margin:.3rem 0 .6rem;padding-left:1.1rem}
/* Inbox: to-do "Probleem aan de lijn" (24 okt 2026): de knop is een link */
.ib-todo a.knop{color:#fff;text-decoration:none}

/* Leveringen (24 okt 2026 avond): klikken en verzetten, labels in een venster */
.la-kies{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;background:#fffbe6;border:2px solid var(--kraft-hout,#8A5F33);padding:.5rem .7rem;margin:0 0 .8rem}
.la-kies-uitleg{margin:-.3rem 0 .7rem}
.la-rit.gekozen{outline:3px solid var(--inkt);outline-offset:1px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.la-rit[data-sleep]{cursor:grab}
.la-rit[data-sleep]:active{cursor:grabbing}
.la-kolom.kan-droppen{cursor:pointer;border:2px dashed var(--kraft-hout,#8A5F33)}
.la-kolom.kan-droppen:hover{background:#ece8de}
.la-labels{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin:.25rem 0}
.la-labelframe{display:block;width:100%;height:76vh;border:1px solid var(--lijn);background:#fff;margin-top:.5rem}
.pr-venster.breed:has(.la-labelframe){width:min(1180px,96vw);max-width:96vw}

/* Leveringen: transportkost en tarieven (24 okt 2026) */
.la-kost{color:var(--kraft-donker,#6B4B2A)}
.la-bespaard{color:var(--bpc,#336029)}
.la-geenwinst{color:var(--grijs,#6b6b6b);font-style:italic}
.la-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.4rem .8rem;margin:.6rem 0 .3rem}
.la-zones input{width:100%}
.la-tarief{border-collapse:collapse;font-size:.85rem}
.la-tarief th,.la-tarief td{border:1px solid var(--lijn);padding:.2rem .3rem;text-align:center}
.la-tarief input{width:4.6rem;padding:.15rem .25rem}

/* Leveringen: notitie op een blokje (25 okt 2026, vraag Dimitri: "notas nemen op de leverblokjes, en maak die heel zichtbaar"): geel vak bovenaan */
.la-notitie{display:flex;gap:.4rem;align-items:flex-start;width:100%;box-sizing:border-box;padding:.45rem .55rem;background:#FFE36E;border:1px solid #D9A800;
  border-left:6px solid #C08F00;border-radius:0;color:#1D1D1B;font:inherit;font-size:.92rem;font-weight:700;line-height:1.3;text-align:left;box-shadow:2px 2px 0 rgba(0,0,0,.15)}
.la-notitie,.la-rit .la-notitie{margin:.35rem 0}
.la-notitie-icoon{flex:none}
.la-notitie-tekst{white-space:pre-wrap;overflow-wrap:anywhere}
button.la-notitie{cursor:pointer}
button.la-notitie:hover,button.la-notitie:focus-visible{background:#FFD83D;outline:2px solid #8A5F33;outline-offset:1px}
.la-rit.met-notitie{border-top:4px solid #D9A800}
.la-notitie-tel{background:#FFE36E;border:1px solid #D9A800;padding:0 .35rem;font-size:.82rem;font-weight:700;color:#1D1D1B}
.la-notitie-nieuw{font-weight:700}
.la-klant .la-notitie{max-width:36rem}
.pr-venster .la-notitie{font-size:1rem;margin:.4rem 0 .6rem}

/* Contracten: overeenkomst laten lezen door Claude (24 okt 2026). Gemarkeerd = uit de overeenkomst; oranje = nakijken. */
.ct-lezen{border-top-color:var(--kraft)}
.ct-lezen.ct-sleep{outline:2px dashed var(--kraft);outline-offset:-6px;background:#fbf6ef}
.ps-formulier label.ct-kies{display:inline-block;width:auto;cursor:pointer;margin-right:.6rem}
.ct-gelezen{border-left:4px solid #336029;background:#eef4ec;padding:.75rem 1rem;margin-top:.5rem}
.ct-gelezen.ct-gelezen-stil{border-left-color:var(--kraft);background:#f8f1e8}
.ct-gelezen p{margin:.25rem 0}
.ct-twijfels{margin:.4rem 0 .2rem;padding-left:1.2rem}
.ct-twijfels:empty{display:none}
.ct-twijfels li{margin:.15rem 0}
.ct-docvelden{margin-top:.6rem}
.ct-bezig b::after{content:"";display:inline-block;width:.8em;height:.8em;margin-left:.5rem;border:2px solid var(--kraft);border-right-color:transparent;border-radius:50%;animation:ct-draai .8s linear infinite;vertical-align:-.1em}
@keyframes ct-draai{to{transform:rotate(360deg)}}
.ct-merk{text-transform:none;letter-spacing:normal;font-style:normal;font-size:.75rem;font-weight:600;color:#8A5F33;white-space:nowrap}
.ct-merk-let,.ct-twijfel .ct-merk{color:#b35f00}
label.ct-ai input,label.ct-ai select,section.ct-ai textarea{border-color:#B8895A;background:#fbf6ef}
label.ct-ai.ct-twijfel input,label.ct-ai.ct-twijfel select{border-color:#c77a1a;background:#fff4e5}

/* Leveringen: verschil ingeplande rit en voorstel iets duidelijker (25 okt 2026, vraag Dimitri) – rit = vast (wit, schaduw), voorstel = voorlopig (kraft, stippellijn, label) */
.la-rit:not(.voorstel){box-shadow:0 1px 3px rgba(29,29,27,.14)}
.la-rit.voorstel{background:#F8F1E5;box-shadow:none}
.la-tag-voorstel{display:inline-block;margin:0 .4rem .1rem 0;padding:.05rem .35rem;border:1px solid #8A5F33;color:#8A5F33;background:#fff;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;vertical-align:middle}

/* Lijnplanning (25 okt 2026, vraag Dimitri: "optimaliseer voor tablet, duidelijke status – in productie, afgewerkt; voor zakken gekoord of niet,
   type papier en het gewicht per doos"). public/werkorders.js; status = lijnStand in planning-rekenen.js, kenmerken = functions/lijnartikel.js */
main.wo-main{font-size:1.05rem}
.wo-main button,.wo-main a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.wo-operator .wo-machinekeuze{font-size:1.05rem;min-height:48px;padding:.55rem 1rem}
.wo-st{display:inline-flex;align-items:center;gap:.3em;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .75rem;border-radius:99px;white-space:nowrap;border:2px solid transparent;line-height:1.2}
.wo-st-gepland{background:#E8EEF6;color:#2E4F78;border-color:#C9D6E8}
.wo-st-bezig{background:#D98A1C;color:#fff;border-color:#D98A1C}
.wo-st-gepauzeerd{background:#ECEAE5;color:#4D4D4D;border-color:#8C8C8C}
.wo-st-probleem{background:#B42318;color:#fff;border-color:#B42318}
.wo-st-klaar{background:var(--bpc);color:#fff;border-color:var(--bpc)}
.wo-st.groot{font-size:1.15rem;padding:.5rem 1.15rem}
.wo-lijnkop h1{margin-bottom:.2rem}
.wo-telling{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 0}
.wo-telling:empty{display:none}
.wo-tel{font-size:.95rem;padding:.25rem .7rem;border-radius:99px;background:#fff;border:2px solid var(--lijn)}
.wo-tel b{font-size:1.1rem}
.wo-tel-bezig{border-color:#D98A1C}.wo-tel-probleem{border-color:#B42318}.wo-tel-klaar{border-color:var(--bpc)}.wo-tel-gepland{border-color:#C9D6E8}
.wo-nu h2{color:#8A5F33;font-size:1.3rem}
.wo-kaarten{grid-template-columns:1fr;gap:.8rem}
.wo-alle-machines .wo-kaarten{grid-template-columns:repeat(auto-fill,minmax(25rem,1fr))}
.wo-kaart{border-left-width:8px}
.wo-kaart.wo-bezig{background:#FFF8EE;border-color:#E9B66E;border-left-color:#D98A1C}
.wo-kaart.wo-probleem{background:#FDF2F0;border-left-color:#B42318}
.wo-kaart.wo-gepauzeerd{background:#F6F5F2}
.wo-kaart.wo-klaar{background:#F6F8F4;opacity:.72}
.wo-kaart.wo-achter{border-left-color:#B42318}
.wo-kaartlink{gap:.35rem;padding:1rem 1.1rem}
.wo-k1{flex-wrap:wrap;gap:.35rem .6rem;font-size:1.3rem}
.wo-k1 .wo-st{margin-left:auto}
.wo-aantal small{font-size:.72em;font-weight:600;color:var(--grijs)}
.wo-kenmerken{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0}
.wo-kenmerken:empty{display:none}
.wo-km{display:inline-flex;align-items:center;gap:.25em;font-size:.95rem;font-weight:700;padding:.3rem .65rem;border-radius:6px;border:2px solid var(--lijn);background:#fff;color:var(--inkt);line-height:1.2}
.wo-koord-ja{background:#8A5F33;border-color:#8A5F33;color:#fff}
.wo-koord-nee{background:#fff;border-color:var(--inkt);color:var(--inkt)}
.wo-koord-onbekend{background:#FFF4E5;border:2px dashed #D98A1C;color:#8A5F33}
.wo-km-papier{font-weight:600}
.wo-km-kg{background:var(--inkt);border-color:var(--inkt);color:#fff;font-weight:500}
.wo-km-kg b{font-weight:800}
.wo-km-leeg{border-style:dashed;color:var(--grijs);font-weight:500}
.wo-klein .wo-km{font-size:.88rem;padding:.2rem .5rem}
.wo-label{flex-direction:column;gap:.15rem;width:76px;font-size:1.6rem;color:var(--inkt)}
.wo-label small{font-size:.75rem;font-weight:700}
.wo-meer{min-height:56px;font-size:1.05rem;padding:.7rem 1.4rem}
/* Werkorder openen */
.wo-fichekop{position:sticky;top:0;z-index:5;background:var(--mist,#F5F3EE);padding:.6rem 0;margin:-.4rem 0 .5rem;border-bottom:1px solid var(--lijn)}
.wo-fichekop #woKopStand{margin-right:auto}
.wo-terug{font:inherit;font-size:1.1rem;font-weight:700;min-height:56px;padding:.6rem 1.1rem;border:2px solid var(--lijn);border-radius:8px;background:#fff;color:var(--inkt);cursor:pointer}
.wo-f-aantal{font-size:.55em;font-weight:700;color:var(--grijs);white-space:nowrap}
.wo-kenmerkblokken{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:1rem 0}
.wo-kb{background:#fff;border:3px solid var(--lijn);border-radius:10px;padding:.9rem 1.1rem}
.wo-kb h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--grijs);margin:0 0 .3rem}
.wo-kb-groot{font-size:clamp(1.5rem,2.9vw,2.1rem);font-weight:800;line-height:1.1;margin:0;overflow-wrap:anywhere}
.wo-kb-sub{margin:.4rem 0 0;color:var(--grijs);font-size:.95rem}
.wo-kb-let{margin:.45rem 0 0;font-weight:700;color:#B42318}
.wo-kb.wo-koord-ja{background:#8A5F33;border-color:#8A5F33;color:#fff}
.wo-kb.wo-koord-ja h2,.wo-kb.wo-koord-ja .wo-kb-sub{color:#F5E9DC}
.wo-kb.wo-koord-ja .wo-kb-let{color:#fff;text-decoration:underline}
.wo-kb.wo-koord-nee{border-color:var(--inkt)}
.wo-kb.wo-koord-onbekend{background:#FFF4E5;border:3px dashed #D98A1C;color:#8A5F33}
.wo-kb.wo-koord-onbekend .wo-kb-sub{color:#8A5F33;font-weight:600}
.wo-kb-kg{border-color:var(--inkt)}
.wo-kb-kg .wo-kb-groot{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.wo-kb-leeg{border-style:dashed;border-color:#D98A1C;background:#FFF4E5}
.wo-kb-leeg .wo-kb-groot{font-size:1.5rem;color:#8A5F33}
.wo-status{border-width:2px}
.wo-status-bezig{border-color:#D98A1C;background:#FFF8EE}
.wo-status-klaar{border-color:var(--bpc);background:#F3F7F1}
.wo-status-probleem{border-color:#B42318;background:#FDF2F0}
.wo-status-gepauzeerd{border-color:#8C8C8C;background:#F6F5F2}
.wo-statusnu{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}
.wo-statusnu p{margin:0;font-size:1.05rem}
.wo-statusknoppen{grid-template-columns:2fr 1fr 1fr;gap:.7rem;margin:.9rem 0 .4rem}
.wo-sk{min-height:84px;font-size:1.3rem}
.wo-sk.eerst{font-size:1.6rem}
.wo-sk-gestart.eerst{background:#D98A1C;color:#fff;border-color:#D98A1C}
.wo-sk:active{transform:translateY(1px);filter:brightness(.95)}
.wo-terugnaar{margin-top:.4rem;font-size:1rem}
@media (max-width:760px){
  .wo-kaarten{grid-template-columns:1fr}
  .wo-statusknoppen{grid-template-columns:1fr}
  .wo-kb-groot{font-size:1.7rem}.wo-kb-kg .wo-kb-groot{font-size:2rem}
  .wo-fichekop{flex-direction:row;flex-wrap:wrap;align-items:center}
}

/* Productie · Productieplanning (25 okt 2026, vraag Dimitri; fase 1 = kijken): bord per lijn en dag met uren, omstellen en bezetting, eigen kaarten,
   Te plannen en de instellingen. pp-* (productieplanning.js). */
.pp-let{background:#FFF4E5;border-left:4px solid #8A5F33;padding:.55rem .8rem;margin:.5rem 0 .8rem}
.pp-weeknav{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .8rem}
.pp-tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;margin:0 0 .9rem}
.pp-tegel{background:#F5F3EE;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.1rem;border-top:3px solid transparent}
.pp-tegel span{font-size:.8rem;color:#5b5750}.pp-tegel b{font-size:1.35rem}.pp-tegel small{font-size:.75rem;color:#5b5750}
.pp-tegel.pp-rood{border-top-color:#B3261E}.pp-tegel.pp-rood b{color:#B3261E}.pp-tegel.pp-oranje{border-top-color:#8A5F33}.pp-tegel.pp-oranje b{color:#8A5F33}
.pp-bord{display:grid;grid-template-columns:8.5rem repeat(var(--dagen),minmax(0,1fr));border:1px solid #d9d4ca;background:#fff}
.pp-kop{background:#1D1D1B;color:#fff;font-size:.82rem;font-weight:600;padding:.4rem .5rem;border-left:1px solid #3a3936}
.pp-kop.pp-vandaag{background:#336029}
.pp-lijn{padding:.45rem .55rem;border-top:1px solid #d9d4ca;display:flex;flex-direction:column;gap:.1rem;background:#F5F3EE}
.pp-lijn b{font-size:.95rem}.pp-lijn small{font-size:.72rem;color:#5b5750;line-height:1.25}
.pp-cel{border-top:1px solid #d9d4ca;border-left:1px solid #e7e2d8;padding:.3rem;display:flex;flex-direction:column;gap:.25rem;min-height:4.5rem}
.pp-cel.pp-vandaag{background:#F6FAF4}.pp-cel.pp-dicht{background:repeating-linear-gradient(135deg,#f3f1ec 0 6px,#ebe8e1 6px 12px)}
.pp-k{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;width:100%;text-align:left;font:inherit;font-size:.78rem;line-height:1.25;padding:.25rem .4rem;
  background:#fff;border:1px solid #c9c3b8;border-left:4px solid #336029;color:#1D1D1B;cursor:pointer}
.pp-k small{font-size:.7rem;color:#5b5750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pp-k:hover{border-color:#1D1D1B}
.pp-k.pp-wacht{background:#FFF4E5;border-left-color:#8A5F33}
.pp-k.pp-telaat{border:2px solid #B3261E;border-left-width:4px}
.pp-k.pp-klaar{background:#f1f0ec;color:#76726a;border-left-color:#a8a39a}
.pp-k.pp-eigen{background:#EEF3F9;border-left-color:#2F6FB3;border-style:dashed;border-left-style:solid}
.pp-omstel{font-size:.7rem;color:#5b5750;border:1px dashed #b8b2a6;padding:.1rem .35rem}
.pp-omstel-klik{cursor:pointer}.pp-omstel-klik:hover{border-style:solid;box-shadow:0 0 0 2px rgba(47,111,179,.25)}
.pp-omstel-formaat,.pp-omstel-paraffine,.pp-omstel-papier{background:#EEF3F9;border-color:#2F6FB3;border-left:3px solid #2F6FB3;color:#1D1D1B;font-weight:600}
.pp-labels i.pp-para-fout{background:#FBE9E7;color:#A12A1D;border-color:#A12A1D;font-weight:700}
.pp-legende .pp-k,.pp-legende .pp-omstel{display:inline-flex;width:auto;margin:0 .3rem .3rem 0;cursor:default}
.pp-plus{align-self:flex-start;font:inherit;font-size:.72rem;background:none;border:1px dashed #b8b2a6;color:#5b5750;padding:.05rem .4rem;cursor:pointer}
.pp-voet{margin-top:auto;font:inherit;font-size:.72rem;background:none;border:0;padding:.1rem 0 0;text-align:left;color:#5b5750;cursor:pointer}
.pp-voet:disabled{cursor:default}
.pp-balk{display:block;height:5px;background:#e7e2d8;margin-bottom:.15rem}.pp-balk i{display:block;height:100%;background:#336029}
.pp-cel.pp-vol .pp-balk i{background:#8A5F33}.pp-cel.pp-over .pp-balk i{background:#B3261E}.pp-cel.pp-over .pp-voet{color:#B3261E;font-weight:700}
.pp-dl{display:grid;grid-template-columns:max-content 1fr;gap:.2rem .9rem;margin:.6rem 0}.pp-dl dt{color:#5b5750}.pp-dl dd{margin:0}
.pp-uitleg{margin:.2rem 0 .7rem 1.1rem;font-size:.9rem}.pp-links{display:flex;gap:1rem;flex-wrap:wrap}
.pp-form{display:flex;flex-direction:column;gap:.6rem;min-width:min(26rem,80vw)}.pp-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}
.pp-rij{display:flex!important;flex-direction:row!important;gap:.6rem;align-items:center;flex-wrap:wrap}
.pp-rij input[type=checkbox],.pp-rij input[type=radio],.pp-tabel input[type=radio]{width:auto!important;flex:0 0 auto;margin:0}
.pp .pp-k .pp-art{display:block;max-width:100%;font-size:.8rem;font-weight:600;color:#1D1D1B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-form input[name=leerMin]{width:3.5rem!important;display:inline-block!important;padding:.15rem .3rem;margin:0 .2rem}
/* Productieplanning fase 2: planning van het portaal */
.pp-actiebalk{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin:0 0 .7rem}
.pp-actiebalk .pp-weeknav{margin:0}.pp-actiebalk .pp-knoppen{display:flex;gap:.4rem;flex-wrap:wrap;margin:0}
.pp-leeg{background:#F5F3EE;border-left:4px solid #B8895A;padding:.7rem .9rem;margin:0 0 .9rem}.pp-leeg p{margin:0 0 .5rem}
.pp-k.pp-vrij{border-left-color:#1D1D1B;background:#F6FAF4}
.pp-k.pp-bezig{border-left-color:#336029;background:#E7F0E3;border-width:2px;border-left-width:6px}
.pp-k[draggable=true]{cursor:grab}.pp-k.pp-sleep{opacity:.45}
.pp-labels{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.1rem}.pp-labels i{font-style:normal;font-size:.66rem;background:#F5F3EE;border:1px solid #d9d4ca;padding:0 .25rem;white-space:nowrap}
.pp-drop-over{outline:2px dashed #336029;outline-offset:-2px;background:#F6FAF4}
.pp-lijn .pp-tot{margin-top:auto;font-weight:600;color:#1D1D1B}
.pp-stand{display:inline-block;font-weight:600;padding:.15rem .5rem;background:#F5F3EE;margin:0 0 .4rem}
.pp-stand-vrijgegeven{background:#F6FAF4;border-left:4px solid #1D1D1B}.pp-stand-bezig{background:#E7F0E3;border-left:4px solid #336029}.pp-stand-klaar{color:#76726a}
.pp-verplaats{border-top:1px solid #d9d4ca;padding-top:.6rem;margin-top:.6rem}.pp-verplaats h3{margin:0}
.pp-wens{font-style:italic;background:#F5F3EE;padding:.4rem .6rem}
.pp-vgl{width:auto;margin:.4rem 0 .8rem}.pp-vgl th,.pp-vgl td{padding:.2rem .8rem .2rem 0;text-align:left}
.pp-vs-lijn{border:1px solid #d9d4ca;padding:.3rem .7rem .5rem;margin:0}.pp-vs-lijn legend{padding:0 .3rem}.pp-vs-lijn ul{margin:.2rem 0 0 1rem;padding:0}.pp-vs-lijn li{margin:.25rem 0}
.pp-vgl .pp-groen,.pp-vgl .pp-rood{font-weight:700}
.pp-vplan{background:#F5F3EE;border-left:4px solid #B8895A;padding:.5rem .8rem;margin:0 0 .8rem;font-size:.9rem}.pp-vplan-aan{border-left-color:#336029;background:#F6FAF4}
.pp-vplan .link{margin-left:.5rem}.pp-vplan-lijst{margin-top:.3rem}.pp-vplan-lijst ul{margin:.3rem 0 0 1.1rem;font-size:.82rem;max-height:14rem;overflow:auto}
/* Niet gepland (boven het bord) en lijn herschikken (25 okt 2026) */
.pp-niet{border:1px solid #d9d4ca;background:#fff;margin:0 0 .8rem}.pp-niet>summary{cursor:pointer;padding:.45rem .7rem;background:#F5F3EE}
.pp-niet-balk{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.45rem .7rem 0}.pp-niet-balk input[type=search]{max-width:22rem}
.pp-niet-lijst{max-height:17rem;overflow:auto;padding:.4rem .7rem .6rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.35rem}
.pp-niet-k{display:grid;grid-template-columns:1fr auto;gap:.15rem .5rem;border:1px solid #d9d4ca;border-left:4px solid #B8895A;padding:.3rem .45rem;font-size:.84rem;background:#fff}
.pp-niet-k[draggable=true]{cursor:grab}.pp-niet-k.pp-sleep{opacity:.45}.pp-niet-k small{color:#5f5b53}
/* 26 okt 2026: Niet gepland klikbaar met kenmerken; tijdens het slepen de lijnen waar het formaat kan in het groen, een werkorder als doel = invoegen erboven */
.pp-niet-k[data-pp=plan]{cursor:pointer}.pp-niet-k[draggable=true]{cursor:grab}.pp-niet-k:hover{border-color:#336029}.pp-niet-kenm{color:#336029!important}
.pp-sleep-actief .pp-cel[data-lijn]:not(.pp-kan),.pp-sleep-actief [data-lijnkop]:not(.pp-kan){opacity:.45}
.pp-sleep-actief .pp-cel.pp-kan{background:#EEF6EA}.pp-sleep-actief [data-lijnkop].pp-kan{box-shadow:inset 4px 0 0 #336029}
.pp-k.pp-drop-over{outline:none;box-shadow:0 -4px 0 #336029;background:#F6FAF4}
.pp-k.pp-drop-over.pp-drop-na{box-shadow:0 4px 0 #336029}
.pp-backup{margin:.2rem 0 .6rem}.pp-backup summary{cursor:pointer}
.pp-niet-cijfers{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.pp-niet-acties{grid-column:1/-1;display:flex;gap:.4rem;align-items:center;justify-content:space-between;font-size:.8rem}
.pp-niet-telaat{border-left-color:#B3261E}.pp-niet-oud{opacity:.7}.pp-niet-lijst.pp-drop-over{background:#FBF3E9}
.pp .pp-k .pp-aantal{display:block;font-size:.74rem;color:#1D1D1B;white-space:normal;overflow:visible;text-overflow:clip}
.pp .pp-k .pp-lever{display:block;font-size:.74rem;font-weight:600;color:#1D1D1B}.pp .pp-k .pp-lever.pp-rood{color:#B3261E}
.pp-geschoven{display:block;font-size:.7rem;font-weight:700;color:#8A4B00;background:#FBF0E2;border:1px solid #E7C9A0;padding:0 .3rem;margin-top:.15rem}
.pp-gevolg{display:inline-block;color:#8A4B00;line-height:1.3}
.pp-rij input[type=date]{width:auto!important;display:inline-block!important;margin:0 .3rem}
@media (max-width:640px){.pp-niet-lijst{grid-template-columns:1fr}}
/* Niet gepland als lijst rechts van de dagen (27 okt 2026, vraag Dimitri: "dat sleept makkelijker en een lijst is duidelijker dan een vol blok") */
.pp-werk{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:.7rem;align-items:start}
.pp-werk-bord{min-width:0}
.pp-werk-niet{position:sticky;top:4.6rem}
.pp-werk-niet .pp-niet{margin:0}
.pp-werk-niet .pp-niet-balk{flex-direction:column;align-items:stretch;gap:.3rem;padding:.4rem .5rem 0}.pp-werk-niet .pp-niet-balk input[type=search]{max-width:none}
.pp-werk-niet .pp-niet-lijst{grid-template-columns:1fr;max-height:calc(100vh - 12rem);padding:.35rem .5rem .5rem;gap:.25rem}
.pp-werk-niet .pp-niet-k{font-size:.76rem;padding:.25rem .4rem;gap:.05rem .4rem}
.pp-werk-niet .pp-niet-acties{font-size:.72rem;gap:.25rem}.pp-werk-niet .pp-niet-acties .knop{padding:.15rem .45rem;font-size:.72rem;min-height:0}
@media (max-width:1100px){.pp-werk{grid-template-columns:1fr}.pp-werk-niet{position:static}.pp-werk-niet .pp-niet-lijst{max-height:20rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}}
.wo-vrij{font-size:.75rem;font-weight:700;color:#1D1D1B;background:#F6FAF4;border:1px solid #1D1D1B;padding:0 .35rem;margin-left:.4rem;white-space:nowrap}
.wo-vrijtekst{font-weight:600;color:#336029;margin:.3rem 0}.wo-vrijknop{margin-top:.6rem}
.pp-fout{color:#B3261E;min-height:1em;margin:0}.pp-knoppen{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.pp-tabel{border-collapse:collapse;width:100%;font-size:.86rem}.pp-tabel th,.pp-tabel td{border-bottom:1px solid #e7e2d8;padding:.35rem .45rem;text-align:left;vertical-align:top}
.pp-tabel thead th{background:#F5F3EE;font-weight:600}.pp-tabel.pp-smal input,.pp-tabel.pp-smal select{font:inherit;font-size:.82rem;padding:.15rem .25rem;max-width:7.5rem}
.pp-rij-telaat td:first-child{box-shadow:inset 4px 0 0 #B3261E}.pp-rij-oud{color:#8f8a80}
.pp-rood{color:#B3261E}.pp-oranje{color:#8A5F33}.pp-groen{color:#336029}
.pp-inst section{margin:0 0 1.4rem}.pp-inst h2{font-size:1.1rem;margin:.2rem 0 .3rem}
@media (max-width:900px){.pp-bord{grid-template-columns:6rem repeat(var(--dagen),minmax(7.5rem,1fr));overflow-x:auto}}
/* Lijnplanning (25 okt 2026, vraag Dimitri): labels pas na vrijgeven, starten pas als de vorige op de lijn afgewerkt is */
.wo-label.wo-label-uit,.wo-labels.wo-labels-uit{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
.wo-wacht{background:#FFF4E5;border-left:4px solid #8A5F33;padding:.6rem .8rem;margin:.6rem 0;font-weight:600}
/* Lijnplanning · Wie gaf vrij? (25 okt 2026, vraag Dimitri; enkel de superbeheerders) */
.wo-vg h1{margin:.4rem 0 .3rem}.wo-vg > .stil{max-width:60rem}
.wo-vg-filters label{display:flex;gap:.4rem;align-items:center;font-weight:600}
.wo-vg-personen{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.wo-vg-persoon{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;border:2px solid var(--lijn);background:#fff;border-radius:4px;padding:.5rem .8rem;min-width:9rem;cursor:pointer;font:inherit;text-align:left;color:var(--inkt)}
.wo-vg-persoon b{font-size:1.6rem;line-height:1}.wo-vg-persoon small{color:var(--grijs)}
.wo-vg-persoon.gekozen{border-color:var(--inkt);background:#F5F3EE}
.wo-vg-tabel td:first-child{white-space:nowrap}
.wo-vg-tabel tr.wo-vg-vrij td:nth-child(4){font-weight:700}
.wo-vg-weg{display:block;color:#A63D32;font-size:.85rem;font-weight:600}
.wo-vg-tabel tr.wo-vg-ingetrokken td:first-child{box-shadow:inset 3px 0 0 #A63D32}
.wo-vg-buiten{margin-top:2rem}.wo-vg-klaar{margin-top:.8rem}.wo-vg-klaar summary{cursor:pointer;font-weight:600}
@media (max-width:700px){
  .wo-vg-stapel thead{display:none}
  .wo-vg-stapel,.wo-vg-stapel tbody,.wo-vg-stapel tr,.wo-vg-stapel td{display:block;width:auto}
  .wo-vg-stapel tr{border-bottom:1px solid var(--lijn);padding:.5rem .1rem}
  .wo-vg-stapel td{border:0;padding:.1rem .5rem}
  .wo-vg-persoon{min-width:0;flex:1 1 8rem}
}
/* Productieplanning en Lijnplanning (26 okt 2026): vrijgave in Exact, ontvangen tegenover het totaal, de proef (PDF en 3D) in het venster */
.pp-labels i.pp-ex-ja{background:#E8F1E5;border-color:#336029;color:#336029;font-weight:700}
.pp-labels i.pp-ex-nee{background:#FFF4E5;border-color:#C2410C;color:#9A3412}
.pp-exact{display:inline-block;margin:.1rem 0 .5rem;padding:.2rem .6rem;font-weight:700;border:1px solid}
.pp-exact-ja{background:#E8F1E5;border-color:#336029;color:#336029}
.pp-exact-nee{background:#FFF4E5;border-color:#C2410C;color:#9A3412}
.pp-exact-onbekend{background:#F5F3EE;border-color:#d9d4ca;color:#5f5a52;font-weight:500}
.pr-venster.breed:has(.pp-plan-grid){width:min(84rem,calc(100vw - 2rem))}
.pp-plan-grid{display:grid;gap:1rem 1.6rem}
@media (min-width:900px){.pp-plan-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start}}
.pp-proef h3{margin-top:0}
.pp-proef .wo-pdfbladen{max-height:70vh;overflow:auto}
.pp-proef .wo-3d{min-height:0}
.pp-proef .p3d{grid-template-columns:minmax(0,1fr)}
.pp-proef .p3d-kolom{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-start}
.pp-proef .p3d-venster{aspect-ratio:4/3;max-height:70vh}
.pp-proef .p3d-groep{min-width:180px;flex:1 1 180px}
.pp-proef .p3d-vink{flex:1 1 100%}
.wo-ontv{font-size:.8rem;padding:.05rem .4rem;border:1px solid #d9d4ca;background:#F5F3EE;white-space:nowrap}
.wo-ontv.vol{border-color:#336029;background:#E8F1E5;color:#336029;font-weight:700}
.wo-ontvangen{margin:.2rem 0 .4rem}
.wo-ontvbalk{display:block;height:.45rem;background:#ece8df;margin-top:.25rem}
.wo-ontvbalk i{display:block;height:100%;background:#336029}
/* Productieplanning (26 okt 2026): eigen kaart en de machine van de lijn */
.pp-machine{margin:.2rem 0 .6rem}
.pp-machine .knop{margin-right:.4rem}
/* Management · Activiteit personeel (26 okt 2026, vraag Dimitri): overzicht per account en tijdlijn per dag */
.ac-periode{align-items:center;gap:.5rem 1rem}
.ac-knoppen{display:flex;flex-wrap:wrap;gap:.3rem}
.ac-knoppen .knop.actief{background:#1D1D1B;color:#fff;border-color:#1D1D1B}
.ac-zelf{display:flex;align-items:center;gap:.35rem;font-size:.9rem}
.ac-zelf input{width:auto}
.ac-filters select,.ac-filters input{max-width:100%}
.ac-tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin:.8rem 0 1rem}
.ac-tegel{background:#fff;border:1px solid var(--lijn);padding:.7rem .9rem}
.ac-tegel b{display:block;font-size:1.6rem;line-height:1.1}
.ac-tegel span{font-size:.85rem;color:var(--grijs)}
.ac-tabel td{vertical-align:top}
.ac-tabel .ac-getal{text-align:right;white-space:nowrap}
.ac-tabel tr.ac-stil td{color:var(--grijs)}
.ac-afd{display:inline-block;font-size:.75rem;font-weight:650;padding:.05rem .45rem;border-radius:99px;white-space:nowrap;margin:0 .15rem .15rem 0;background:#ECEAE5;color:var(--grijs)}
.ac-afd.ac-groen{background:var(--bpc-licht);color:var(--bpc)}
.ac-afd.ac-blauw{background:#E3ECF5;color:#2D5B86}
.ac-afd.ac-kraft{background:#F3E9DC;color:#8A5F33}
.ac-afd.ac-rood{background:#F4DEDB;color:#A63D32}
.ac-afd.ac-zwart{background:#1D1D1B;color:#fff}
.ac-dag{margin:1.4rem 0 .4rem}
.ac-dag h2{font-size:1.05rem;margin:0}
.ac-lijst{list-style:none;margin:.4rem 0 0;padding:0 0 0 .9rem;border-left:2px solid var(--lijn)}
.ac-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;padding:.3rem 0 .3rem .6rem;position:relative}
.ac-item::before{content:"";position:absolute;left:-1.27rem;top:.75rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--kraft-hout);border:2px solid var(--mist)}
.ac-item time{font-variant-numeric:tabular-nums;font-weight:650;min-width:3rem}
.ac-tekst{flex:1 1 18rem}
.ac-item.ac-bezoek,.ac-item.ac-aanmelding{color:var(--grijs);font-size:.9rem}
.ac-item.ac-bezoek::before{background:#CFC7B8}
.ac-item.ac-aanmelding::before{background:#1D1D1B}
.ac-bronnen{margin:.2rem 0 .8rem}
.ac-bronnen ul{margin:.3rem 0 0;padding-left:1.2rem;font-size:.85rem}
.ac-privacy{margin-top:1.5rem}
@media (max-width:640px){.ac-item time{min-width:2.6rem}.ac-tabel th:nth-child(3),.ac-tabel td:nth-child(3){display:none}}

/* ---------- Eigen kaarten verslepen en in de Lijnplanning (26 okt 2026, vraag Dimitri) ---------- */
.pp-k.pp-eigen[draggable=true]{cursor:grab}
.pp-k.pp-eigen-gedaan{opacity:.55}
.wo-eigen{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;padding:.6rem .9rem;background:#EEF3F9;border:2px dashed #2F6FB3;border-left:8px solid #2F6FB3;border-radius:8px;font-size:1.05rem}
.wo-eigen-soort{font-weight:700}
.wo-eigen-duur{color:#2F6FB3;font-weight:600}
.wo-eigen p{flex-basis:100%;margin:0;font-size:.95rem}
.wo-eigen-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#2F6FB3;color:#fff;padding:.1rem .45rem;border-radius:4px}
.wo-eigen-machine{background:#FFF4E5;border-color:#B8650A;border-left-color:#B8650A}.wo-eigen-machine .wo-eigen-label{background:#B8650A}.wo-eigen-machine .wo-eigen-duur{color:#8A4B06}
.wo-wissel{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;padding:.5rem .9rem;background:#F5F3EE;border:2px dashed #8A5F33;border-left:8px solid #8A5F33;border-radius:8px;font-size:1.05rem}
.wo-wissel .wo-eigen-label{background:#8A5F33}.wo-wissel .wo-eigen-duur{color:#8A5F33;font-weight:600}.wo-wissel p{flex-basis:100%;margin:0;font-size:.9rem;color:#5b5750}
/* Weekoverzicht: omstellen en opdrachten tussen de werkorders */
.pl-taak{display:flex;flex-direction:column;gap:.05rem;margin:.15rem 0;padding:.2rem .4rem;font-size:.72rem;border:1px dashed #8A5F33;border-left:4px solid #8A5F33;background:#F5F3EE;border-radius:4px}
.pl-taak b{font-size:.75rem}.pl-taak small{color:#5b5750}
.pl-taak-opdracht{border-color:#2F6FB3;background:#EEF3F9}.pl-taak-machine{border-color:#B8650A;background:#FFF4E5}
/* ---------- Weekoverzicht: venster met proef, vrijgave en status (26 okt 2026, vraag Dimitri) ---------- */
.pl-vrij.ja{color:var(--bpc);font-weight:600}
.pl-vrij.nee{color:#9A5B00;font-weight:600}
.pl-status{margin-top:1rem;padding:.6rem .9rem .8rem;border:1px solid var(--lijn);border-radius:8px;background:#FAF8F3}
.pl-status h3{margin-top:.2rem}
.pl-statusknoppen{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;margin:.4rem 0}
.pl-statusknoppen .wo-sk{min-height:46px;font-size:1rem}
.pl-statusknoppen .wo-sk.eerst{font-size:1.05rem}
/* Productieplanning: afgewerkte werkorders blijven grijs op hun dag, met de bron (26 okt 2026) */
.pp-k.pp-klaar .pp-afbron{font-style:italic;color:#8a857b}
/* Weekoverzicht planning: per lijn en dag de werkorders onder elkaar in volgorde, met de uren (26 okt 2026) */
.pl-dagrij{gap:0;padding:0}
.pl-dagcel{display:flex;flex-direction:column;gap:4px;padding:4px 3px;border-right:1px solid #EFEDE8;min-width:0}
.pl-dagcel.pl-nu{background:#F3F8F1}
.pl-kaart .pl-tijd{font-size:.75rem;font-weight:700;color:var(--inkt);letter-spacing:.01em}
.pl-kaart.pl-klaar .pl-tijd{color:#4C5A48;font-weight:600}
.pl-kaart.pl-bezig .pl-tijd{color:#8A5F33}

/* Gekoord / niet gekoord in het venster van de werkorder (Productieplanning, Weekoverzicht; 26 okt 2026) */
.pp-koord{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:.2rem 0 .7rem}
.pp-koord .wo-km{font-size:1.1rem;padding:.4rem .8rem}
.pp-koord:empty{display:none}
.pp-koord-let{color:#B42318;font-weight:600;font-size:.9rem}
/* Geschiedenis van een werkorder (Productieplanning en Weekoverzicht, 26 okt 2026): wie plande, verplaatste, vrijgaf, startte, afwerkte */
.wh{margin-top:1rem}
.wh-lijst{list-style:none;margin:.3rem 0 0;padding:0;border-left:2px solid var(--lijn)}
.wh-lijst li{display:grid;grid-template-columns:7.2rem minmax(0,8.5rem) 1fr;gap:.15rem .6rem;padding:.3rem 0 .3rem .7rem;font-size:.85rem;line-height:1.3;border-bottom:1px dotted #E6E3DC}
.wh-tijd{color:var(--grijs);white-space:nowrap}
.wh-wie{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.wh-lijst li.wh-vrijgegeven .wh-tekst,.wh-lijst li.wh-lijn .wh-tekst{color:var(--bpc)}
.wh-lijst li.wh-ingetrokken .wh-tekst,.wh-lijst li.wh-uit .wh-tekst{color:#A63D32}
.wh-lijst li.wh-oud{color:var(--grijs);font-style:italic}
.wh-meer summary{cursor:pointer;font-size:.85rem;color:var(--grijs);margin-top:.3rem}
@media (max-width:600px){.wh-lijst li{grid-template-columns:1fr}.wh-tijd{font-size:.8rem}}
/* Productieplanning: werkorder zoeken en waar ze staat (26 okt 2026) */
.pp-wozoek{display:flex;gap:.3rem;align-items:center}
.pp-wozoek input{width:11rem}
.pp-waar{margin:.3rem 0 .6rem;padding:.45rem .6rem;background:#FAF8F3;border-left:3px solid var(--kraft, #B8895A);font-size:.9rem}
/* Planningsscherm (26 okt 2026): het Weekoverzicht op een scherm in de hal, zonder kop, menu of knoppen, groot en over de volle breedte */
body.kijkmodus header.kop{display:none}
body.kijkmodus main.pr-main{max-width:none;padding:.4rem .8rem}
.pl-kijkkop{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--grijs);margin:0 0 .2rem}
.pl-kijk .pl-weeknav{font-size:1.6rem;margin:.1rem 0 .5rem}
.pl-kijk .pl-weeknav + p.stil{display:none}
.pl-kijk .pl-raster{min-width:0}
.pl-kijk .pl-raster-wrap{overflow:visible}
.pl-kijk .pl-kaart{font-size:1.05rem;padding:.4rem .55rem}
.pl-kijk .pl-kaart .pl-tijd{font-size:1rem}
.pl-kijk .pl-lijnnaam b{font-size:1.25rem}
.pl-kijk .pl-dagkop>div{font-size:1.15rem}
.pl-kijk .pl-bordnaam{font-size:1.15rem}
.scherm-balk{position:sticky;top:0;z-index:50;background:#B42318;color:#fff;padding:.7rem 1rem;font-weight:700;font-size:1.1rem;text-align:center}
/* Planningsscherm: venster van een werkorder (enkel kijken, 26 okt 2026) */
body.kijkmodus .pl-schermpaneel{font-size:1.05rem}
.pl-orderregels tr.pl-deze td{background:#FFF8EE}

/* Leveringen: zelf een blok aanmaken (26 okt 2026, vraag Dimitri: "laat de magazijnier ook blokken zelf aanmaken – maar enkel uit een klantenlijst") */
.la-plus{display:block;margin:.3rem 0 0;font-weight:700;text-decoration:none}
.la-plus:hover,.la-plus:focus-visible{text-decoration:underline}
.la-nb{min-width:0}
.la-nb [hidden]{display:none!important}
.la-nb-klant{display:grid;gap:.35rem}
.la-nb-klant label{font-weight:700}
.la-nb-lijst{display:grid;gap:.25rem;max-height:min(46vh,22rem);overflow:auto;border:1px solid var(--lijn);padding:.35rem;background:#faf8f3}
.la-nb-kop{margin:0 0 .2rem}
.la-nb-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;width:100%;text-align:left;font:inherit;font-size:.92rem;color:var(--inkt);background:#fff;
  border:1px solid var(--lijn);padding:.45rem .6rem;cursor:pointer;min-height:2.6rem}
.la-nb-item:hover,.la-nb-item:focus-visible{border-color:var(--inkt);background:#fffdf6;outline:2px solid var(--inkt);outline-offset:-2px}
.la-nb-stand{color:var(--bpc,#336029);font-weight:700}
.la-nb-gekozen{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .6rem;background:#eef4ec;border:1px solid #336029;border-left:5px solid #336029;padding:.5rem .7rem}
.la-nb-rij{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.la-nb-info p{margin:.15rem 0}
.la-form label.la-nb-order{flex-direction:row;align-items:flex-start;gap:.5rem;font-size:.9rem;cursor:pointer}
.la-nb input[type=checkbox]{width:auto;display:inline-block;margin:.2rem 0 0;flex:none}
.la-nb-order .klein{display:block}
.la-nb-al{margin:.4rem 0 0;padding:.5rem .7rem;background:#fdecea;border:1px solid #B3261E;border-left:5px solid #B3261E;color:#1D1D1B;font-size:.92rem}
@media (max-width:760px){ .la-nb-rij{grid-template-columns:1fr} }

/* Leveringen: voorbije dagen en zoeken in de leverplanning (26 okt 2026, vraag Dimitri: "Laat dagen die voorbij zijn niet meer standaard in het overzicht
   staan – voeg ook een zoekfunctie toe") */
.la-planzoek{flex:1 1 16rem;min-width:0;max-width:26rem;padding:.4rem .6rem;font:inherit;font-size:.92rem}
.la-voorbij{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;background:#f7f6f2;border:1px dashed var(--lijn);padding:.45rem .7rem;margin:0 0 .8rem;font-size:.9rem}
p.la-voorbij{background:none;border:0;padding:0;margin:-.3rem 0 .6rem}
.la-zoekres{background:#fff;border:2px solid var(--inkt);padding:.6rem .8rem;margin:0 0 .9rem}
.la-zoekres>p{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem}
.la-zoekres ul{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:0}
.la-zoekres li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem;border-top:1px solid var(--lijn);padding:.35rem 0;font-size:.92rem}
.la-zoek-notitie{background:#FFE36E;padding:0 .3rem;font-weight:700}
.la-planning.zoekt .la-rit:not(.gevonden){opacity:.35}
.la-rit.gevonden{outline:2px solid var(--bpc,#336029);outline-offset:1px}
.la-rit.flits{animation:la-flits 2.6s ease-out}
@keyframes la-flits{0%,45%{box-shadow:0 0 0 5px #FFE36E}100%{box-shadow:none}}
@media (max-width:760px){ .la-planzoek{max-width:none;flex-basis:100%} }
/* Weekoverzicht: welke operator start of geeft vrij (26 okt 2026) */
.pl-opknoppen{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;margin:.8rem 0}
.pl-opknoppen .knop{min-height:52px;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}
.pl-opknoppen small{font-size:.75rem;opacity:.75}
/* Stuklijst in Exact in het venster van het Weekoverzicht en de Productieplanning (26 okt 2026, vraag Dimitri: "de stuklijst zien en aanpassen,
   de lijn in Exact rechtzetten en in Exact vrijgeven"; public/stuklijst-exact.js) */
.se{border-top:1px solid var(--lijn);margin-top:1rem;padding-top:.6rem}
.se h3{margin:0 0 .4rem}
.se p{margin:.25rem 0}
.se-vrij .se-ja{color:#336029}
.se-vrij .se-nee{color:#9A3412}
.se-vrij .knop,.se-lijn .knop{margin-left:.4rem}
.se-gewicht{margin:.5rem 0;font-size:.9rem}
.se-gewicht .se-ja{color:#336029;font-weight:600}
.se-gewicht .se-nee{color:#9A3412;font-weight:600}
.se-voorstel{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin:.4rem 0}
.se-anders{background:#FFF4E5;border:1px solid #C2410C;color:#9A3412;padding:0 .35rem;font-size:.85rem;font-weight:700}
.se-uit{background:#F5F3EE;border:1px dashed #d9d4ca;padding:.4rem .6rem;color:#5f5a52}
.se-tabel-wrap{overflow-x:auto;margin:.4rem 0;width:0;min-width:100%}
.se-tabel{width:100%;border-collapse:collapse;font-size:.92rem}
.se-tabel th{text-align:left;font-weight:600;border-bottom:2px solid var(--inkt);padding:.25rem .4rem;white-space:nowrap}
.se-tabel td{border-bottom:1px solid var(--lijn);padding:.3rem .4rem;vertical-align:top}
.se-tabel .getal{text-align:right;white-space:nowrap}
.se-tabel small{color:#5f5a52}
.se-uitgeboekt td{color:#8a857c}
.se-label{display:inline-block;font-size:.75rem;border:1px solid #d9d4ca;padding:0 .3rem;color:#5f5a52}
.se-in{width:6.5rem;text-align:right;font:inherit;padding:.2rem .35rem}
.se-in.anders{border-color:#C2410C;background:#FFF4E5}
.se-nieuw{margin-top:.2rem;color:#336029}
.se-kies{margin-top:.35rem;background:#fff;border:1px solid var(--lijn);padding:.4rem}
.se-zoek{width:100%;font:inherit;padding:.3rem .45rem}
.se-lijst{list-style:none;margin:.3rem 0 0;padding:0;max-height:14rem;overflow:auto}
.se-lijst button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--lijn);padding:.3rem .2rem;font:inherit;cursor:pointer}
.se-lijst button:hover,.se-lijst button:focus{background:#F5F3EE}
.se-fout{color:#B3261E;font-weight:600}
.se-artikel{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;align-items:start;margin:.6rem 0 .2rem;padding:.5rem .6rem;background:#F5F3EE;border-left:3px solid #336029;font-size:.9rem;cursor:pointer}
.se-artikel input{margin:.2rem 0 0}.se-artikel small{grid-column:2;color:#5f5a52;margin-top:.15rem}
.se-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.se-aantal{border:1px solid #D8CFC0;background:#FBF8F2;padding:.6rem .75rem;margin-top:.6rem}
.se-aantal label{font-weight:600}
.se-lijstje{margin:.2rem 0 .3rem 1.1rem;padding:0}
.wa-venster{max-width:30rem;border:1px solid #D8CFC0;padding:1rem 1.25rem}
.wa-venster label{display:block;margin:.5rem 0;font-weight:600}
.wa-venster input{font:inherit;margin-left:.4rem}
.pp-exactrij .link{margin-left:.2rem}
@media (max-width:520px){ .se-tabel th:nth-child(3),.se-tabel td:nth-child(3){display:none} .se-in{width:5rem} }

/* Opdracht afwerken (27 okt 2026, opdracht-afwerken.js): kaart klikbaar in Productieplanning, Weekoverzicht en Lijnplanning; verantwoordelijke en foto's */
button.wo-eigen{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
button.wo-eigen:hover{filter:brightness(.97)}
.wo-eigen-wie{font-size:.92rem;color:#3d3a35}
.wo-eigen-actie{margin-left:auto;font-size:.85rem;font-weight:700;color:#8A4B06;text-decoration:underline}
.wo-eigen-ok{background:#EDF4EA;border-color:#336029;border-left-color:#336029}.wo-eigen-ok .wo-eigen-label{background:#336029}
button.pl-taak{width:100%;text-align:left;font-family:inherit;color:inherit;cursor:pointer}
button.pl-taak:hover{filter:brightness(.96)}
.pl-taak-ok{border-color:#336029!important;background:#EDF4EA!important}
.pp-eigen-wie{display:block;font-size:.72rem;font-weight:600;opacity:.85}.pp-eigen-wie.ok{color:#336029}
.oa h2{margin-bottom:.2rem}
.oa-notitie{background:#F5F3EE;padding:.5rem .7rem;border-radius:4px}
.oa-plan{border:1px solid #D9D3C7;border-left:4px solid #B8895A;border-radius:4px;padding:.55rem .75rem;margin:.6rem 0}
.oa-plan h3{margin:0 0 .4rem}
.pp-odagen{display:flex;flex-wrap:wrap;gap:.6rem 1rem}
.pp-odagen label{display:flex;flex-direction:column;font-size:.85rem;gap:.15rem}
.oa-plan-rij{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}
.oa-plan-rij label{display:flex;flex-direction:column;font-size:.85rem;gap:.15rem}
.oa-plan-rij input,.oa-plan-rij select{width:6.5rem;height:2.4rem;box-sizing:border-box;margin:0}
.oa-plan-rij select{width:8.5rem}
.oa-plan p{margin:.45rem 0 0}
.oa-overslaan{margin-top:.5rem}
.oa-overslaan-form label{display:block;font-size:.9rem}
.oa-overslaan-form textarea{width:100%;box-sizing:border-box;margin-top:.2rem}
.oa-overslaan-form .pb-rij{align-items:center;gap:.8rem}
.oa-verantw{margin:.5rem 0}
.oa-form{display:grid;gap:.7rem;margin-top:.8rem}
.oa-form textarea{width:100%}
.oa-knop{min-height:52px;font-size:1.1rem}
.oa-voorbeeld,.oa-fotos{display:flex;flex-wrap:wrap;gap:.5rem}
.oa-mini{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.oa-mini img,.oa-foto img{width:96px;height:96px;object-fit:cover;border-radius:4px;border:1px solid #d8d3c8;background:#F5F3EE}
.oa-klaar{margin-top:.8rem;padding:.7rem .9rem;background:#EDF4EA;border-left:6px solid #336029;border-radius:4px}
.pr-wbfoto{padding:0;border:1px solid #d8d3c8;border-radius:4px;background:#F5F3EE;cursor:pointer;margin:.2rem .3rem 0 0;line-height:0}
.pr-wbfoto img{width:72px;height:72px;object-fit:cover;border-radius:3px}
/* Laatst geproduceerd (venster van een werkorder, 27 okt 2026) */
.lg-lijst{list-style:none;margin:.2rem 0 0;padding:0;font-size:.88rem}.lg-lijst li{padding:.25rem 0;border-bottom:1px solid #E4DED2}.lg-lijst li.lg-eerste{font-size:.95rem}
/* Opdracht gestart (27 okt 2026): bezig = oranje */
.oa-start{margin:.8rem 0}.oa-startknop{background:#C77A1E;border-color:#C77A1E;color:#fff;width:100%}
.oa-bezig{margin-top:.8rem;padding:.7rem .9rem;background:#FBF0E2;border-left:6px solid #C77A1E;border-radius:4px}
.wo-eigen-bezig{background:#FBF0E2;border-color:#C77A1E;border-left-color:#C77A1E}.wo-eigen-bezig .wo-eigen-label{background:#C77A1E}
.pl-taak-bezig{border-color:#C77A1E!important;background:#FBF0E2!important}.pp-eigen-wie.bezig{color:#A35F12}
.pr-bezig{color:#A35F12;font-weight:600}
/* Status van een opdracht (27 okt 2026): open · bezig · akkoord met opmerkingen · goedgekeurd */
.oa h3{margin:.9rem 0 .3rem;font-size:1rem}
.oa-standen{display:grid;gap:.4rem}
.oa-st{min-height:48px;padding:.4rem .5rem;border:2px solid #CFC8BA;background:#fff;font:inherit;font-weight:700;cursor:pointer;line-height:1.2}
.oa-st:disabled{cursor:default;opacity:.7}
.oa-st[aria-pressed=true]{color:#fff}
.oa-st-open[aria-pressed=true]{background:#6B6559;border-color:#6B6559}
.oa-st-bezig[aria-pressed=true]{background:#C77A1E;border-color:#C77A1E}
.oa-st-opmerkingen[aria-pressed=true]{background:#8A5F33;border-color:#8A5F33}
.oa-st-goedgekeurd[aria-pressed=true]{background:#336029;border-color:#336029}
.oa-stnu{margin:.4rem 0 0;font-size:.9rem}
/* Types onderhoud en onderdelen in het venster van een opdracht (28 okt 2026) */
.oa-types{display:flex;flex-wrap:wrap;gap:.4rem}
.oa-chip{min-height:40px;padding:.3rem .8rem;border:2px solid #CFC8BA;background:#fff;font:inherit;cursor:pointer;border-radius:999px}
.oa-chip[aria-pressed=true]{background:#336029;border-color:#336029;color:#fff;font-weight:700}
.oa-chip[aria-pressed=true]::before{content:"✓ "}
.oa-chip:disabled{cursor:default}
.oa-nieuw{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;align-items:center}
.oa-nieuw input{flex:1;min-width:180px;min-height:40px}
.oa-nieuw .oa-deel-aantal{flex:0 0 5rem;min-width:0}
.oa-deellijst{margin:.2rem 0;padding-left:1.2rem}
.oa-deellijst li{margin:.15rem 0}
.oa-volg-snel{display:flex;flex-wrap:wrap;gap:.35rem}
.oa-volg-snel .oa-chip{min-height:34px;padding:.2rem .7rem;font-size:.9rem}
.oa-volg-al{margin:.2rem 0;padding:.4rem .6rem;background:#EDF4EA;border-left:4px solid #336029;border-radius:4px}
.oa-fotoknop{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;cursor:pointer}
.oa-opm{width:100%;box-sizing:border-box}
.pr-groen-t{color:#336029;font-weight:600}
/* Opdrachten op de machinefiche (27 okt 2026, vraag Dimitri: "het moet écht duidelijk zijn of we een herstelling, reiniging … afgesloten hebben"):
   rood te laat · oranje bezig · grijs nog niet gestart · groen afgesloten */
.mo-tel{display:inline-block;font-size:.8rem;font-weight:700;padding:.15rem .6rem;border-radius:99px;vertical-align:middle;margin-left:.4rem;color:#fff}
.mo-tel-rood{background:#B42318}.mo-tel-oranje{background:#C77A1E}.mo-tel-groen{background:#336029}
.mo-openkop{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:center;border-left:6px solid;border-radius:4px;padding:.6rem 1rem;margin:0 0 1rem}
.mo-openkop-rood{background:#F4DEDB;border-color:#B42318;color:#7A1F17}.mo-openkop-oranje{background:#FBF0E2;border-color:#C77A1E;color:#7A4A10}.mo-openkop-grijs{background:#ECEAE5;border-color:#6B6559;color:#3D3A33}
.mo-openkop .link{color:inherit;font-weight:700}
.mo-titel{display:flex;align-items:center;gap:.5rem;margin:1rem 0 .5rem;font-size:1rem}
.mo-aantal{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:99px;background:#B42318;color:#fff;font-size:.85rem}
.mo-aantal-groen{background:#336029}
.mo-lijst{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.mo{display:grid;grid-template-columns:10.5rem minmax(0,1fr);border:1px solid #D8D3C8;border-left-width:6px;border-radius:6px;background:#fff;overflow:hidden}
.mo-vak{display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding:.6rem .7rem;color:#fff;text-transform:uppercase;letter-spacing:.02em}
.mo-vak b{font-size:1rem;line-height:1.15;white-space:nowrap}.mo-vak small{font-size:.75rem;text-transform:none;letter-spacing:0;font-weight:600}
.mo-inhoud{padding:.6rem .8rem;display:grid;gap:.2rem;justify-items:start}
.mo-inhoud .knop{margin-top:.35rem}
.mo-rood{border-color:#B42318;background:#FDF3F2}.mo-rood .mo-vak{background:#B42318}.mo-rood .mo-stand{color:#7A1F17}
.mo-oranje{border-color:#C77A1E;background:#FFFAF3}.mo-oranje .mo-vak{background:#C77A1E}.mo-oranje .mo-stand{color:#7A4A10}
.mo-grijs{border-color:#6B6559}.mo-grijs .mo-vak{background:#6B6559}
.mo-groen{border-color:#336029;background:#F7FAF6}.mo-groen .mo-vak{background:#336029}
.mo-opm{color:#8A5F33}
.mo-let{background:#FBF0E2;border-left:3px solid #C77A1E;padding:.25rem .5rem}
.mo-alles{background:#EDF4EA;border-left:6px solid #336029;padding:.6rem .9rem;border-radius:4px;color:#336029;font-weight:600;margin:0}
@media (max-width:640px){.mo{grid-template-columns:1fr}.mo-vak{flex-direction:row;align-items:baseline;gap:.6rem}}
/* Kaarten op de interne pagina's (Productie, Magazijn, Management …) niet sticky (27 okt 2026): de regel .pr-kaart{position:sticky} hoort bij de proefpagina,
   maar liet hier een lange kaart (Werkbonnen, Gepland in de Productieplanning) bij het scrollen half onder de volgende verdwijnen */
.pr-main .pr-kaart{position:static}

/* Management · Finance (27 okt 2026): kerncijfers, grafieken per maand, resultatenrekening, productgroepen, ouderdom debiteuren/crediteuren */
.fi-balk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin:.2rem 0 .6rem}
.fi-balk p{margin:0}
.fi-zin{font-size:1.05rem;margin:.2rem 0 .2rem;max-width:60rem}
.fi-periode{margin:0 0 1rem}
.fi-tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.6rem;margin:0 0 1.2rem}
.fi-tegel{background:#fff;border:1px solid var(--lijn);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.25rem;min-height:6.5rem}
.fi-tegel b{font-size:1.65rem;line-height:1.1;font-variant-numeric:tabular-nums;font-weight:600}
.fi-lbl{font-size:.8rem;color:var(--grijs)}
.fi-sub{font-size:.8rem;color:var(--grijs);font-variant-numeric:tabular-nums}
.fi-goed{color:#336029}
.fi-slecht{color:#B3261E}
.fi-let{color:#8A5F33}
.fi-sub.fi-goed,.fi-sub.fi-slecht,.fi-sub.fi-let{font-weight:600}
.fi-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:.8rem;margin:0 0 .8rem}
.fi-kaart{background:#fff;border:1px solid var(--lijn);padding:1rem 1.1rem;min-width:0;display:flex;flex-direction:column;gap:.45rem}
.fi-kaart h2{font-size:1.05rem;margin:0}
.fi-kaart p{margin:0;font-size:.85rem}
.fi-legende{display:flex;gap:1rem;font-size:.8rem;color:var(--grijs)}
.fi-legende i,.fi-tip i,.fi-ouderleg i{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;margin-right:.35rem;vertical-align:-1px}
.fi-grafiek{position:relative;min-height:230px}
.fi-grafiek svg{display:block}
.fi-grafiek .fi-dit,.fi-legende .fi-dit,.fi-tip .fi-dit{fill:#336029;background:#336029}
.fi-grafiek .fi-vorig,.fi-legende .fi-vorig,.fi-tip .fi-vorig{fill:#CFC8BA;background:#CFC8BA}
.fi-grafiek .fi-neg{fill:#B3261E}
.fi-rooster{stroke:#ECE8E0;stroke-width:1}
.fi-as{stroke:#8F887C;stroke-width:1}
.fi-tick{font-size:11px;fill:var(--grijs)}
.fi-tip{position:absolute;pointer-events:none;background:#fff;border:1px solid var(--lijn);box-shadow:0 4px 14px rgba(0,0,0,.12);padding:.35rem .55rem;font-size:.8rem;white-space:nowrap;font-variant-numeric:tabular-nums;z-index:2}
.fi-k{color:var(--grijs)}
.fi-tabelbox{overflow:auto;max-height:34rem}
.fi-tabel{width:100%;border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}
.fi-tabel th{text-align:right;font-size:.75rem;color:var(--grijs);font-weight:600;border-bottom:1px solid var(--lijn);padding:.35rem .5rem;position:sticky;top:0;background:#fff;white-space:nowrap}
.fi-tabel td{text-align:right;padding:.35rem .5rem;border-bottom:1px solid var(--lijn);white-space:nowrap}
.fi-tabel th:first-child,.fi-tabel td:first-child{text-align:left;white-space:normal}
.fi-tabel tr.fi-totaal td{font-weight:700;background:#F5F3EE}
.fi-tabel tr.fi-kost td:first-child,.fi-tabel tr.fi-opbrengst td:first-child{padding-left:1.2rem}
.fi-staaf{display:inline-block;height:.55rem;border-radius:3px;background:#336029;vertical-align:middle;margin-right:.4rem}
.fi-ouder{display:flex;height:.9rem;border-radius:4px;overflow:hidden;background:#ECE8E0}
.fi-ouder span{display:block;height:100%}
.fi-ouderleg{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.25rem .8rem;font-size:.8rem;color:var(--grijs);font-variant-numeric:tabular-nums}
.fi-ouderleg b{display:block;color:var(--inkt);font-weight:600}
.fi-v1{background:#336029}.fi-v2{background:#CFC8BA}.fi-v3{background:#B8895A}.fi-v4{background:#B3261E}
.fi-voet{font-size:.8rem;max-width:60rem}
.fi-kop{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 1.2rem;margin:0 0 .9rem}
.fi-kop .fi-zin{margin:0;flex:1 1 30rem}
.fi-keuze{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--grijs)}
.fi-keuze select{min-width:14rem}
.fi-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:2px solid var(--lijn);margin:0 0 1rem}
.fi-tabs a{padding:.55rem .9rem;color:var(--grijs);text-decoration:none;font-weight:600;font-size:.92rem;border-bottom:3px solid transparent;margin-bottom:-2px}
.fi-tabs a:hover{color:var(--inkt)}
.fi-tabs a.actief{color:var(--inkt);border-bottom-color:#B8895A}
.fi-h3{font-size:.9rem;margin:.4rem 0 0}
.fi-zoek{max-width:20rem}
.fi-sort{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.fi-grafiek .fi-schuld,.fi-legende .fi-schuld,.fi-tip .fi-schuld{fill:#8A5F33;background:#8A5F33}
.fi-grafiek .fi-netto,.fi-legende .fi-netto,.fi-tip .fi-netto{fill:#1D1D1B;background:#1D1D1B}
.fi-grafiek .fi-let-v,.fi-tip .fi-let-v{fill:#B8895A;background:#B8895A}
.fi-vg0{fill:#336029;background:#336029}.fi-vg1{fill:#7FAE6F;background:#7FAE6F}.fi-vg2{fill:#B8895A;background:#B8895A}.fi-vg3{fill:#8A5F33;background:#8A5F33}.fi-vg4{fill:#CFC8BA;background:#CFC8BA}
.fi-vv{background:#B3261E;opacity:.35}
.fi-hbalken{display:flex;flex-direction:column;gap:.3rem}
.fi-hrij{display:grid;grid-template-columns:minmax(6rem,12rem) 1fr auto 3.8rem;gap:.5rem;align-items:center;font-size:.82rem;font-variant-numeric:tabular-nums}
.fi-hnaam{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fi-hbalk{position:relative;height:.8rem;background:#F5F3EE}
.fi-hbalk i{display:block;height:100%;background:#336029}
.fi-hbalk b{position:absolute;top:-.15rem;width:2px;height:1.1rem;background:#1D1D1B}
.fi-hwaarde{text-align:right}
.fi-hgroei{text-align:right;font-size:.75rem}
@media (max-width:40rem){.fi-opt{display:none}.fi-hrij{grid-template-columns:7rem 1fr auto}.fi-hgroei{display:none}}

/* Productie · Productiecijfers (27 okt 2026): kleuren per producttype (huisstijl: groen, kraft, inkt), drie kaarten naast elkaar */
.pc-t0.pc-t0{fill:#336029;background:#336029}.pc-t1.pc-t1{fill:#B8895A;background:#B8895A}.pc-t2.pc-t2{fill:#1D1D1B;background:#1D1D1B}.pc-t3.pc-t3{fill:#8FA87E;background:#8FA87E}
.pc-t4.pc-t4{fill:#8A5F33;background:#8A5F33}.pc-t5.pc-t5{fill:#CFC8BA;background:#CFC8BA}.pc-t6.pc-t6{fill:#6E6A62;background:#6E6A62}.pc-t7.pc-t7{fill:#E2D3BC;background:#E2D3BC}
.pc-legende{flex-wrap:wrap;gap:.4rem 1rem}
.pc-drie{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.pc-drie .fi-hrij{grid-template-columns:minmax(5rem,9rem) 1fr auto}
.pc-drie .fi-hwaarde small{display:block;font-size:.7rem}
/* Opdrachten nog open op het overzicht van Machines & onderhoud en als label op de tegel (27 okt 2026) */
.mo-open{border-left-color:#C77A1E}
.mo-pil{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:.15rem .5rem;border-radius:4px;color:#fff;white-space:nowrap}
.mo-pil-rood{background:#B42318}.mo-pil-oranje{background:#C77A1E}.mo-pil-grijs{background:#6B6559}
.mo-open>p{margin:-.3rem 0 .5rem}
.mo-open .pr-todolijst li{grid-template-columns:7.2rem minmax(9rem,14rem) 1fr auto}.mo-open .mo-pil{justify-self:start}
@media (max-width:1000px){.mo-open .pr-todolijst li{grid-template-columns:auto 1fr}.mo-open .pr-todolijst li>a,.mo-open .pr-todolijst li>button{grid-column:2}.mo-open .pr-todolijst li>button{justify-self:start}}

/* Facturen leveranciers (/management/facturen, 27 okt 2026) */
.lf-tegels { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin: 12px 0; }
.lf-tegel { background: #FFFFFF; border: 1px solid #E2DDD3; padding: 10px 14px; display: flex; flex-direction: column; gap: 2px; }
.lf-tabel tr.klikbaar { cursor: pointer; }
.lf-tabel tr.klikbaar:hover td { background: #F5F3EE; }
/* Management · Weekverslag aandeelhouder (27 okt 2026) */
.wv-kop{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}
.wv-kop h1{margin:0 0 .3rem}.wv-knoppen{display:flex;gap:.5rem;flex-wrap:wrap}
.wv-raster{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1.2rem;margin-top:1rem}
@media (max-width:760px){.wv-raster{grid-template-columns:1fr}}
.wv-lijst{display:flex;flex-direction:column;gap:.4rem}
.wv-item{text-align:left;background:#fff;border:1px solid var(--lijn);padding:.6rem .7rem;font:inherit;cursor:pointer}
.wv-item.gekozen{border-color:#1D1D1B;box-shadow:inset 4px 0 0 #1D1D1B}
.wv-st{font-size:.78rem;color:#6B6860}.wv-st.wv-verzonden{color:#336029}.wv-st.wv-gepland{color:#8A5F33;font-weight:700}
.wv-status{background:#fff;border:1px solid var(--lijn);border-left:4px solid #6B6860;padding:.7rem .9rem}
.wv-status.wv-verzonden{border-left-color:#336029}.wv-status.wv-gepland{border-left-color:#B8895A}.wv-fout{color:#A33A2A}
.wv-acties{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.8rem 0}.wv-acties p{flex-basis:100%;margin:0}
.wv-keuzes{background:#fff;border:1px solid var(--lijn);padding:.6rem .9rem;margin:.6rem 0}
.wv-keuzes summary{cursor:pointer;font-weight:700}.wv-keuzes label{display:block;margin:.6rem 0}.wv-keuzes textarea{width:100%;font:inherit}
.wv-blokken{display:grid;gap:.25rem;margin:.6rem 0}.wv-keuzes label.wv-blok{display:block;margin:.2rem 0}.wv-blok input{width:auto;margin:0 .4rem 0 0;vertical-align:middle}.wv-blok .stil{display:block;margin-left:1.6rem;font-size:.8rem}
.wv-voorbeeld-titel{font-size:1rem;margin:1.2rem 0 .4rem}
.wv-voorbeeld{width:100%;min-height:40rem;border:1px solid var(--lijn);background:#EDEAE3}
.wv-inst label{display:block;margin:.6rem 0}.wv-inst textarea,.wv-inst input{width:100%;font:inherit}

/* Management · Finance → Groei en daling (28 okt 2026) */
.fi-gd-balk{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0 .6rem}
.fi-seg{display:inline-flex;border:1px solid #1D1D1B}
.fi-seg button{font:inherit;font-size:.85rem;padding:.4rem .8rem;border:0;background:#fff;cursor:pointer;color:#1D1D1B}
.fi-seg button+button{border-left:1px solid #1D1D1B}
.fi-seg button.actief{background:#1D1D1B;color:#fff}
.fi-gd-leg{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.75rem;color:var(--grijs);margin:.2rem 0 .5rem}
.fi-gd-leg i{display:inline-block;width:.7rem;height:.7rem;margin-right:.3rem;vertical-align:-1px}
.fi-gd-weg{background:#B3261E}.fi-gd-min{background:#B8895A}.fi-gd-prijs{background:#6B6B6B}.fi-gd-nieuw{background:#336029}.fi-gd-meer{background:#7FA36F}.fi-gd-and{background:#D8D3C8}
.fi-gd-lijst{display:grid;gap:.4rem}
.fi-gd-klant{border:1px solid var(--lijn);background:#fff}
.fi-gd-klant.open{border-color:#1D1D1B}
.fi-gd-kop{display:grid;grid-template-columns:minmax(10rem,1.4fr) minmax(9rem,1fr) 10.5rem 9rem;grid-template-areas:"naam bedrag verschil strook" "zin zin zin zin";
  gap:.2rem .8rem;align-items:center;width:100%;text-align:left;font:inherit;background:none;border:0;padding:.6rem .8rem;cursor:pointer;color:inherit}
.fi-gd-kop:hover{background:#F5F3EE}
.fi-gd-naam{grid-area:naam;font-weight:700}
.fi-gd-bedrag{grid-area:bedrag;font-size:.85rem;color:var(--grijs);font-variant-numeric:tabular-nums}
.fi-gd-verschil{grid-area:verschil;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.fi-gd-verschil small{font-weight:400}
.fi-gd-strook{grid-area:strook;display:flex;height:.7rem;background:#F5F3EE}
.fi-gd-strook i{display:block;height:100%}
.fi-gd-zin{grid-area:zin;font-size:.82rem;color:#3d3d3a}
.fi-gd-label{font-style:normal;font-size:.7rem;font-weight:600;padding:.05rem .35rem;border:1px solid var(--lijn);color:var(--grijs);white-space:nowrap}
.fi-gd-label.weg,.fi-gd-label.fi-gd-weg{background:none;color:#B3261E;border-color:#B3261E}
.fi-gd-label.nieuw,.fi-gd-label.fi-gd-nieuw{background:none;color:#336029;border-color:#336029}
.fi-gd-label.fi-gd-min{background:none;color:#8A5F33;border-color:#B8895A}
.fi-gd-label.fi-gd-meer{background:none;color:#336029;border-color:#7FA36F}
.fi-gd-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(14rem,1fr);gap:1rem 1.5rem;padding:.4rem .8rem 1rem;border-top:1px solid var(--lijn)}
.fi-gd-waarom ul{margin:.3rem 0 .5rem 1.1rem;padding:0;font-size:.88rem;line-height:1.45}
.fi-gd-waarom li{margin:.25rem 0}
.fi-gd-arts{grid-column:1/-1}
.fi-gd-brug td{font-size:.85rem}
.fi-gd-bij{white-space:normal!important;text-align:left!important;font-size:.8rem;color:#3d3d3a;max-width:28rem}
@media (max-width:720px){
  .fi-gd-kop{grid-template-columns:1fr auto;grid-template-areas:"naam verschil" "bedrag bedrag" "strook strook" "zin zin"}
  .fi-gd-detail{grid-template-columns:1fr}
}

/* Management (28 okt 2026): tabbladen tussen Personeel en Activiteit personeel, Finance en Weekverslag; Certificaten & compliance */
.mg-tabs{margin:0 0 1rem}
.cc-filter{margin:.5rem 0 .25rem;flex-wrap:wrap}
.cc-filter input[type=search]{flex:1 1 18rem;min-width:0}
.cc .hs-sectie h2{margin-bottom:.15rem}
/* Mijn taken: taken voor jezelf en terugkerende taken (28 okt 2026, public/taken.js) */
.tk-kies label.tk-ik{border-color:#8A5F33;background:#F5F3EE}
.tk-herhaal{border:1px solid var(--lijn);padding:.6rem .8rem .4rem;margin:.6rem 0;background:#FBFAF7}
.tk-herhaal legend{font-weight:600;padding:0 .3rem}
.tk-rij2{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem;align-items:end}
.tk-rij2 [hidden],.tk-herhaal [hidden],.tk-nieuw [hidden]{display:none}
.tk-inline{display:flex;gap:.4rem}
.tk-inline input{width:5rem;flex:0 0 auto}
.tk-samenvatting{margin:.5rem 0 .2rem;padding:.4rem .6rem;background:#F1F6EF;border-left:3px solid var(--groen)}
.tk-samenvatting:empty{display:none}
.tk-reekslijn{margin:.1rem 0 .3rem;color:#8A5F33;font-weight:600}
.tk-kaart.tk-reeks{border-left-color:#B8895A}
.tk-kaart.tk-gestopt{opacity:.75;border-left-color:var(--lijn)}
/* Taak bij iets (28 okt 2026, public/taak-bij.js): enkel zichtbaar waar Mijn taken draait (medewerkers) */
.tk-bij{display:none}
body.tk-aan .tk-bij{display:inline-flex;align-items:center;gap:.25rem;margin:.15rem 0 .15rem .4rem;padding:.05rem .45rem;font:inherit;font-size:.78rem;line-height:1.5;
  border:1px dashed #8A5F33;background:transparent;color:#8A5F33;cursor:pointer;white-space:nowrap;vertical-align:middle}
body.tk-aan .tk-bij:hover{background:#F5F3EE}
body.tk-aan .tk-bij.tk-bij-open{border-style:solid;border-color:#B3261E;background:#FDF3F2;color:#B3261E;font-weight:600}
@media print{body.tk-aan .tk-bij{display:none}}
.tk-bijblok{border-left:4px solid #8A5F33;background:#F5F3EE;padding:.5rem .8rem;margin:0 0 .8rem}
.tk-bijblok p,.tk-bijblok ul{margin:.15rem 0}
.tk-bijlijn{margin:.1rem 0 .3rem}

/* Koppeling met Exact in het venster Medewerkers (28 okt 2026) */
.mw-exact th { width: 11rem; }
.mw-tabel.mw-exact td, .mw-tabel.mw-exact td:last-child { text-align: left; white-space: normal; width: auto; }
.mw-label.mw-goed { background: #336029; color: #fff; }
.mw-fout { color: #A3261B; }
.mw-goedtekst { color: #336029; font-weight: 600; }
.mw-sync-titel { margin: 14px 0 4px; font-size: .95rem; }
.mw-verschil { margin: 4px 0 0; padding-left: 1.1rem; font-size: .85rem; max-height: 16rem; overflow: auto; }
.mw-runs { margin: 8px 0; }
.mw-runs table { font-size: .82rem; }
.mw-runs td:last-child { text-align: left; white-space: normal; }
/* Certificaten & compliance: dossier rond een inspectie of audit (28 okt 2026) */
.cc-dos{display:inline-block;margin:.25rem 0 0 .5rem;font-size:.82rem;font-weight:600;color:#336029;text-decoration:none;border:1px solid #B9CFB2;background:#EEF4EC;padding:.05rem .45rem;border-radius:3px}
.cc-dos.cc-dicht{color:var(--grijs);border-color:var(--lijn);background:var(--mist)}
.cc-tijdlijn{margin-top:.6rem}
.cc-tijdlijn .cc-kop{font-size:.9rem}
.cc-tijdlijn .cc-soort{text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700;color:#8A5F33}
.cc-tijdlijn .cc-titel{margin:.1rem 0 .3rem}
.cc-tijdlijn .pr-notitie{margin:.3rem 0;max-width:70rem}
.cc-tijdlijn li.cc-hoofd::before{background:#1D1D1B;width:.9rem;height:.9rem;left:-1.55rem;top:.25rem}
.cc-tijdlijn li.cc-einde::before{background:#336029}
@media print{.cc-tijdlijn li{break-inside:avoid}}
/* Certificaten & compliance: knop Dossier, vaststellingen en antwoordverslag (28 okt 2026) */
.cc-dosrij{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0 .1rem}
.cc-dosknop{font-weight:700}
.cc-voortgang{height:.55rem;background:var(--mist);border-radius:99px;overflow:hidden;margin:.3rem 0 .6rem;max-width:36rem}
.cc-voortgang span{display:block;height:100%;background:var(--bpc)}
.cc-vslijst{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.7rem}
.cc-vsitem{border:1px solid var(--lijn);border-left:5px solid #B42318;border-radius:6px;background:#fff;padding:.7rem .9rem}
.cc-vsitem.cc-vs-bezig{border-left-color:#D98A1C}.cc-vsitem.cc-vs-opgelost{border-left-color:var(--bpc)}.cc-vsitem.cc-vs-nvt{border-left-color:#B8B2A6}
.cc-vskop{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:start}
.cc-vsnr{display:inline-grid;place-items:center;min-width:1.8rem;height:1.8rem;border-radius:50%;background:#1D1D1B;color:#fff;font-weight:700;font-size:.85rem}
.cc-vstekst{font-weight:600;line-height:1.4}
.cc-vsstatus{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}
.cc-st{font:inherit;font-size:.8rem;padding:.2rem .55rem;border:1px solid var(--lijn);background:#fff;border-radius:99px;cursor:pointer;color:var(--grijs)}
.cc-st:hover{border-color:#1D1D1B;color:#1D1D1B}
.cc-st.aan{font-weight:700;border-color:transparent}
.cc-st.aan.pr-rood{background:#F4DEDB;color:#A63D32}.cc-st.aan.pr-oranje{background:#FBF1E4;color:#8A5F33}.cc-st.aan.pr-groen{background:var(--bpc-licht);color:var(--bpc)}.cc-st.aan.pr-grijs{background:#ECEAE5;color:var(--grijs)}
.cc-vsvelden{margin:.5rem 0 0 2.5rem;display:grid;gap:.4rem}
.cc-vsvelden label{font-size:.85rem}
.cc-vsvelden textarea,.cc-vsvelden select,.cc-vsvelden input[type=date]{width:100%;font:inherit}
.cc-vsvelden .pb-rij label{flex:1 1 12rem}
.cc-vs-veld.cc-bewaren{outline:2px solid #D98A1C}
.cc-vs-veld.cc-bewaard{outline:2px solid var(--bpc)}
.cc-bewijs{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.cc-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--mist);border-radius:99px;padding:.1rem .55rem;font-size:.85rem}
.cc-bewijs select{width:auto;max-width:22rem;font-size:.85rem}
.cc-taal{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem}
.cc-brief{background:#fff;border:1px solid var(--lijn);max-width:52rem;margin:1rem auto;padding:2.5rem 3rem;line-height:1.55;font-size:.97rem}
.cc-brief-kop{display:flex;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.cc-brief h3{font-size:1rem;margin:1.4rem 0 .2rem}
.cc-brief-vtekst{font-style:italic;color:#4A463F;margin:.1rem 0 .4rem}
.cc-brief-stand{font-size:.85rem;color:var(--grijs);margin-top:.2rem}
.cc-pre{white-space:pre-wrap;margin:.3rem 0 .8rem}
.cc-brief-naam{margin-top:1.6rem}
.cc-brief textarea.cc-brief-veld,.cc-brief input.cc-brief-veld{width:100%;font:inherit;border:1px dashed #B8895A;background:#FFFCF7;padding:.35rem .5rem}
.cc-brief p>input.cc-brief-veld{width:auto;min-width:60%}
@media (max-width:700px){.cc-vskop{grid-template-columns:auto 1fr}.cc-vsstatus{grid-column:1/-1;justify-content:flex-start}.cc-vsvelden{margin-left:0}.cc-brief{padding:1.2rem}}
@media print{body:has(.cc-brief) .kop,body:has(.cc-brief) .pr-nietprint{display:none!important}.cc-brief{border:0;margin:0;padding:0;max-width:none;font-size:11pt}.cc-brief-vs{break-inside:avoid}}

/* Activiteit personeel: vragen aan Vraag het MyBPC (29 okt 2026) */
.ac-item.ac-vraag::before{background:#B8895A}
.ac-vragen{background:#FFFFFF;border:1px solid #E2DDD3;border-left:4px solid #B8895A;padding:10px 16px;margin:0 0 16px 0}
.ac-vragen summary{cursor:pointer}

/* Tuchtdossier in Personeel (29 okt 2026; public/personeel-tucht.js) */
.tu-inhoud{display:grid;gap:14px}
.tu-stand{padding:10px 12px;border:1px solid #E2DDD3;background:#F5F3EE}
.tu-stand.tu-rood{border-color:#B3261E;background:#FBEAE8}.tu-stand.tu-oranje{border-color:#C77700;background:#FFF4E0}.tu-stand.tu-groen{border-color:#336029;background:#EEF4EA}
.tu-blok{border-top:1px solid #E2DDD3;padding-top:12px}.tu-blok h3{margin:0 0 8px;font-size:1rem}
.tu-let{padding:8px 12px;border-left:4px solid #C77700;background:#FFF4E0}.tu-let ul{margin:4px 0 0;padding-left:18px}
.tu-voorbeeld{width:100%;height:560px;border:1px solid #E2DDD3;background:#fff}
.tu-radio{display:block;margin:2px 0}
.tu-hulpbalk{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tu-hulp{padding:10px 12px;border-left:4px solid #336029;background:#EEF4EA}.tu-hulp ul{margin:4px 0;padding-left:18px}
.tu-extra{display:block;margin-top:6px}.tu-bijlagen{margin:4px 0}
body.tu-printregister .ps > :not(#psRegister){display:none!important}
@media print{body.tu-printregister #psRegister{display:block}}
/* Andere machines (machines zonder productielijn, bv. inktstation), doorverwijzen en foto verplicht bij afhandelen (29 okt 2026) */
.pp-andere-kop{background:#F5F3EE;border-bottom:2px dashed #B8895A}
.pp-andere-cel{background:#FBFAF7;border-bottom:2px dashed #B8895A;display:flex;flex-direction:column;gap:.25rem;padding:.3rem;min-height:3rem}
.pp-andere{border-left:4px solid #8A5F33!important}
.pp-andere-laat{border-left-color:#B42318!important;background:#FDECEA!important}
.pp-andere-sinds{display:block;color:#B42318;font-size:.78rem;font-weight:600;margin:-.15rem 0 .2rem}
.pl-andere .pl-lijnnaam{background:#F5F3EE}
.pl-taak-laat{border-color:#B42318!important;background:#FDECEA!important}
.wo-eigen-waar{font-size:.92rem;font-weight:600;color:#5a4630}
.wo-eigen-laat{color:#B42318}
.wo-mijn{border:2px solid #8A5F33;border-radius:8px;padding:.6rem .8rem;background:#FBF6EF;margin-bottom:1rem}
.oa-fotoplicht{margin:.3rem 0;padding:.35rem .6rem;border-radius:4px;background:#EDF4EA;font-size:.92rem}
.oa-fotoplicht-nodig{background:#FFF4E0;border-left:4px solid #C77A1E}
/* Uitgevoerd door een leverancier + hun werkbon (6 nov 2026) */
.oa-lev-keuze,.oa-levsnel{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0}
.oa-levkies{margin:.4rem 0;padding:.5rem .6rem;border:1px solid #E2DCCF;background:#FBFAF7}
.oa-levzoek{width:100%;min-height:40px;margin:.3rem 0}
.oa-levlijst,.oa-levdocs{list-style:none;margin:.3rem 0;padding:0}
.oa-levlijst li,.oa-levdocs li{padding:.25rem 0;border-bottom:1px solid #EFEBE2}
.oa-levlijst{max-height:16rem;overflow:auto}
.oa-lev h4{margin:.6rem 0 .2rem;font-size:.95rem}
.oa-doorlijst{margin:.2rem 0 .6rem 1rem;padding:0}
.pp-andere-later{margin-top:.3rem;color:#5a4630;font-weight:600}
.pp-andere-volg{display:block;text-align:left;font-size:.8rem;padding:.1rem 0}
.pl-andere-later{display:block;margin-top:.3rem;font-size:.8rem;color:#5a4630}
/* Verwachte voorraad STRD (Magazijn · Leveringen en Productieplanning, 29 okt 2026) */
.vs h2{margin:.25rem 0 .35rem}
.vs-tegels{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0}
.vs-tegel{border:1px solid #D8CFC0;background:#FBF8F2;padding:.35rem .7rem}
.vs-tegel b{font-size:1.15rem;margin-right:.2rem}
.vs-tegel.vs-rood{border-color:#B3261E;color:#8C1D18}
.vs-tegel.vs-oranje{border-color:#C2410C;color:#9A3412}
.vs-tegel.vs-wacht{border-color:#9A5B00;color:#7A4800}
.vs-balk{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin:.5rem 0}
.vs-balk input[type=search]{font:inherit;padding:.3rem .5rem;min-width:14rem}
.vs-tabel{width:100%;border-collapse:collapse}
.vs-tabel th,.vs-tabel td{padding:.4rem .5rem;border-bottom:1px solid #E5DED2;vertical-align:top;text-align:left}
.vs-tabel .getal{text-align:right;white-space:nowrap}
.vs-tabel tr.vs-rood td:first-child{box-shadow:inset 4px 0 0 #B3261E}
.vs-tabel tr.vs-oranje td:first-child{box-shadow:inset 4px 0 0 #C2410C}
.vs-tabel tr.vs-wacht td:first-child{box-shadow:inset 4px 0 0 #9A5B00}
.vs-tabel tr.vs-geen{color:#6B6560}
.vs-label{font-size:.75rem;font-weight:600}
.vs-rood .vs-label{color:#B3261E}.vs-oranje .vs-label{color:#C2410C}.vs-wacht .vs-label{color:#9A5B00}.vs-ok .vs-label{color:#336029}
.vs-tabel .knop.klein{margin-top:.3rem}
@media (max-width:700px){.vs-tabel th:nth-child(3),.vs-tabel td:nth-child(3),.vs-tabel th:nth-child(4),.vs-tabel td:nth-child(4){display:none}}
.vs-lopend{margin-top:.35rem;color:#4A4540}
.vs-leer{margin-top:.3rem;text-align:left;white-space:normal;min-width:11rem;line-height:1.3}
.vs-leeg{color:#A3271F;font-weight:600}
.vs-binnenkort{color:#9A5B00;font-weight:600}
.vs-kans{margin-top:.35rem;padding:.35rem .5rem;border-left:3px solid #336029;background:#F1F5EE}
.vs-kans-lager{border-left-color:#8A5F33;background:#F7F1E8}
button.vs-tegel{font:inherit;cursor:pointer}button.vs-tegel:hover{background:#F1EBDD}
.vs-tegel.vs-g-tekort{border-color:#B3261E;color:#8C1D18}.vs-tegel.vs-g-bijna{border-color:#C2410C;color:#9A3412}.vs-tegel.vs-g-meer{border-color:#336029;color:#264C1E}.vs-tegel.vs-g-lager{border-color:#8A5F33;color:#6E4B27}.vs-tegel.vs-g-wacht{border-color:#9A5B00;color:#7A4800}
.vs-pil{display:inline-block;padding:.05rem .4rem;font-size:.75rem;font-weight:700;color:#fff;margin-bottom:.2rem}
.vs-pil.vs-g-tekort{background:#B3261E}.vs-pil.vs-g-bijna{background:#C2410C}.vs-pil.vs-g-meer{background:#336029}.vs-pil.vs-g-lager{background:#8A5F33}.vs-pil.vs-g-wacht{background:#9A5B00}
.vs-tabel tr.vs-groep td{background:#EFE9DD;padding:.45rem .5rem;border-top:2px solid #1D1D1B}.vs-tabel tr.vs-groep small{color:#555;margin-left:.4rem}
.vs-formule{margin:.5rem 0 .75rem;border:1px solid #D8CFC0;background:#FBF8F2;padding:.4rem .7rem}.vs-formule summary{cursor:pointer;font-weight:600}.vs-formule h3{font-size:.95rem;margin:.8rem 0 .25rem}.vs-formule ol,.vs-formule ul{margin:.2rem 0 .4rem 1.2rem;padding:0}.vs-formule li{margin:.2rem 0}.vs-formule p{margin:.25rem 0}
.vs-wrap{margin:.4rem 0}
.vs-tabel thead th{position:sticky;top:var(--vs-top,0);background:#F5F3EE;z-index:5;box-shadow:inset 0 -2px 0 var(--lijn,#D8CFC0)}
@media (max-width:700px){.vs-wrap{overflow-x:auto}.vs-tabel thead th{position:static}}
.or-pallet{display:block;margin-top:.15rem}
.or-pallet .chip{margin:.1rem .15rem 0 0}
.vs-uitleg{color:#9A3412}

/* Venster Medewerkers (29 okt 2026, vraag Dimitri "dit scherm is slordig"): tabbladen, één rij per persoon, afwijkende rechten als labels */
.mw-dialoog{width:min(62rem,calc(100vw - 2rem));max-width:none;height:min(48rem,calc(100vh - 2rem))}
.mw-form{gap:.8rem;grid-template-columns:minmax(0,1fr)}
.mw-tabs{display:flex;gap:.25rem;border-bottom:1px solid #E4DFD4;margin:-.2rem 0 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.mw-tab{font:inherit;font-weight:600;font-size:.92rem;background:none;border:0;border-bottom:3px solid transparent;padding:.5rem .8rem;margin-bottom:-1px;color:#5E5A52;cursor:pointer;white-space:nowrap}
.mw-tab:hover{color:#1D1D1B}
.mw-tab[aria-selected="true"]{color:#1D1D1B;border-bottom-color:#B8895A}
.mw-tel{display:inline-grid;place-items:center;min-width:1.4rem;height:1.25rem;padding:0 .35rem;border-radius:99px;background:#ECE8DF;color:#5E5A52;font-size:.75rem;font-weight:700;vertical-align:1px}
.mw-tel-let{background:#B8895A;color:#fff}
.mw-stip{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;vertical-align:1px}
.mw-stip-groen{background:#336029}.mw-stip-rood{background:#A3261B}
.mw-intro{margin:0}
.mw-balk{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.mw-balk #mwZoek{flex:1 1 14rem;min-width:0;padding:.5rem .7rem;font:inherit;font-size:.92rem;border:1px solid #D8D2C6;border-radius:6px}
.mw-dialoog .mw-toevoegen{flex:1 1 22rem;margin:0;gap:.4rem;flex-wrap:wrap;min-width:0}
.mw-dialoog .mw-toevoegen input{flex:1 1 12rem}
.mw-toevoegen input,.mw-toevoegen select{padding:.5rem .65rem;font:inherit;font-size:.92rem;border:1px solid #D8D2C6;border-radius:6px;background:#fff}
.mw-legende{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
.mw-sectie h3{margin:.4rem 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:#8A5F33}
.mw-lijst{list-style:none;margin:0;padding:0;border:1px solid #E4DFD4;border-radius:6px}
.mw-persoon{padding:.6rem .8rem;border-top:1px solid #E4DFD4}
.mw-persoon:first-child{border-top:0}
.mw-persoon.mw-open{background:#FAF8F3}
.mw-rij{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto auto;align-items:center;gap:.4rem .8rem}
.mw-avatar{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:#fff;background:#5E5A52}
.mw-av-super{background:#336029}.mw-av-magazijn{background:#1D1D1B}.mw-av-medewerker{background:#B8895A}.mw-av-niet{background:#ECE8DF;color:#5E5A52}
.mw-wie{min-width:0;display:grid;line-height:1.3}
.mw-wie b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mw-wie span{font-size:.82rem;color:#5E5A52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mw-rol{justify-self:start;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:99px;background:#ECE8DF;color:#3D3A33}
.mw-rol-super{background:#EDF4EA;color:#336029}.mw-rol-magazijn{background:#1D1D1B;color:#fff}
.mw-laatst{font-size:.8rem;color:#7A7468;white-space:nowrap;text-align:right}
.mw-knoppen{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;white-space:nowrap}
.mw-knoppen .knop.klein{padding:.35rem .7rem;font-size:.85rem}
.mw-weg{font:inherit;font-size:.85rem;background:none;border:0;color:#A3261B;cursor:pointer;padding:.35rem .3rem}
.mw-meer{position:relative}
.mw-meer summary{list-style:none;cursor:pointer;width:2rem;height:2rem;display:grid;place-items:center;border-radius:6px;font-size:1.1rem;line-height:1;color:#5E5A52}
.mw-meer summary::-webkit-details-marker{display:none}
.mw-meer summary:hover,.mw-meer[open] summary{background:#ECE8DF;color:#1D1D1B}
.mw-meer > div{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:13rem;display:grid;padding:.3rem;background:#fff;border:1px solid #E4DFD4;border-radius:6px;box-shadow:0 12px 28px rgba(29,29,27,.16)}
.mw-meer > div button{font:inherit;font-size:.88rem;text-align:left;background:none;border:0;border-radius:4px;padding:.5rem .6rem;cursor:pointer;color:#1D1D1B}
.mw-meer > div button:hover{background:#F5F3EE}
.mw-meer > div .mw-rood{color:#A3261B}
.mw-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 0 3rem}
.mw-chip{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.76rem;line-height:1.2;padding:.18rem .5rem;border-radius:99px;border:1px solid;white-space:nowrap;max-width:100%}
.mw-chip.mw-c-std{white-space:normal}
.mw-chip b{font-weight:700}
.mw-c-std{border-color:#E4DFD4;color:#5E5A52;background:#fff}
.mw-c-geen{border-color:#E8C2BC;background:#FBEDEB;color:#8A2219}
.mw-c-lezen{border-color:#E2CDB4;background:#F8F0E6;color:#7A5228}
.mw-c-bewerken{border-color:#C5D8BE;background:#EDF4EA;color:#2A5021}
.mw-legende .mw-chip{font-size:.72rem;padding:.1rem .45rem}
.mw-rechten{margin:.7rem 0 0 3rem;padding:.8rem;border:1px solid #E4DFD4;border-radius:6px;background:#fff;display:grid;gap:.6rem}
.mw-rechten > p{margin:0}
.mw-groepen{display:grid;grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));gap:.2rem 1.4rem;align-items:start}
.mw-rechten .mw-groep h4{margin:.5rem 0 .2rem}
.mw-rechten .mw-module{padding:.35rem .3rem;flex-wrap:nowrap;border-radius:4px}
.mw-rechten .mw-mnaam{flex:1 1 auto}
.mw-rechten .mw-mnaam .klein{line-height:1.3}
.mw-rechten .mw-label{margin-left:2px;padding:0 4px;font-size:.66rem;vertical-align:1px}
.mw-module.mw-gewijzigd{background:#FBF4E8}
.mw-rechten .mw-niveaus{flex:none;border-radius:6px;overflow:hidden}
.mw-rechten .mw-niveau{padding:.3rem .6rem;font-size:.8rem}
.mw-bewaarbalk{position:sticky;bottom:-1.1rem;margin:0 -.8rem -.8rem;padding:.6rem .8rem;background:#fff;border-top:1px solid #E4DFD4;border-radius:0 0 6px 6px;justify-content:flex-end}
.mw-nog{margin-right:auto;font-size:.85rem;color:#8A5F33;font-weight:600}
.mw-exactblok{display:grid;gap:.6rem}
.mw-exactblok h3:first-child{margin-top:0}
@media (max-width:720px){
  .mw-rij{grid-template-columns:2.2rem minmax(0,1fr) auto;grid-template-areas:"av wie knop" "av laatst laatst"}
  .mw-avatar{grid-area:av;align-self:start}.mw-wie{grid-area:wie}.mw-knoppen{grid-area:knop}.mw-laatst{grid-area:laatst;text-align:left}
  .mw-chips,.mw-rechten{margin-left:0}
  .mw-groepen{grid-template-columns:1fr}
  .mw-rechten .mw-module{flex-wrap:wrap}
}
/* Orders in de Inbox van een afdeling (magazijn@, production@; 29 okt 2026): alleen lezen met de leverstand */
.ib-afd-orders{margin-top:.55rem;padding-top:.5rem;border-top:1px dashed var(--lijn);font-size:.9rem}
.ib-afd-order{margin:.2rem 0}
.ib-afd-kop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .55rem}
.ib-afd-kop>.link{font-weight:700}
.ib-lev{display:inline-block;padding:.05rem .45rem;font-size:.82rem;font-weight:600;border:1px solid var(--lijn);background:#fff}
.ib-lev-geleverd{background:#e8f1e4;border-color:#9dbb92;color:#22461b}
.ib-lev-gepland{background:#f5ecdf;border-color:#B8895A;color:#6b4724}
.ib-lev-deels{background:#fff6e0;border-color:#d7b45a;color:#6b5110}
.ib-lev-geannuleerd{color:var(--grijs)}
.ib-afd-detail{margin:.3rem 0 .4rem 1.1rem}
.ib-afd-regels{border-collapse:collapse;font-size:.85rem;width:100%;max-width:46rem}
.ib-afd-regels th,.ib-afd-regels td{padding:.2rem .45rem;border-bottom:1px solid var(--lijn);text-align:left;vertical-align:top}
.ib-afd-regels .getal{text-align:right;white-space:nowrap}
.ib-afd-zoek,.ib-aank-zoek{margin-top:.35rem}
.ib-afd-zoek input,.ib-aank-zoek input{max-width:16rem}
@media (max-width:640px){.ib-afd-detail{margin-left:0}.ib-afd-regels{font-size:.8rem}}
/* Certificaten & compliance: kaart naar het kwaliteitshandboek (29 okt 2026) */
.cc-handboek{display:grid;gap:.2rem;margin:.6rem 0 1rem;padding:.9rem 1.1rem;border:1px solid #DCCBB6;border-left:6px solid #B8895A;border-radius:6px;background:#FBF8F3;text-decoration:none;color:#1D1D1B}
.cc-handboek:hover{border-color:#8A5F33}
.cc-handboek b{font-size:1.1rem}
.cc-hb-label{justify-self:start;font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:#9C6A3A;padding:.12rem .45rem;border-radius:2px}
/* Machines & onderhoud: blok "Kwaliteitshandboek" op de fiche (29 okt 2026) */
.ma-hb{border:1px solid #DCCBB6;border-top:4px solid #B8895A;background:#FBF8F3;border-radius:6px;padding:.8rem 1rem}
.ma-hb ul{margin:.3rem 0 0;padding-left:1.1rem}
.ma-hb li{margin:.25rem 0}

/* ===== MyBPC op gsm en als app (PWA, 29 okt 2026) =====
   Safe area (iPhone met notch, viewport-fit=cover), kopbalk op één rij met zwiepbare knoppen, tikvlakken van minstens 44 px,
   gewone lijsten (pb-tabel in tabel-wrap) als kaarten onder 600 px (de labels zet mybpc-app.js uit de kolomkoppen). */
@supports (padding:max(0px)){
  .kop{padding-left:max(clamp(1rem,4vw,2.5rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,2.5rem),env(safe-area-inset-right))}
}
body{padding-bottom:env(safe-area-inset-bottom)}
.mo-toast,.pr-melding{bottom:calc(1.2rem + env(safe-area-inset-bottom))}
@media (max-width:700px){
  .kop{flex-wrap:nowrap;gap:.6rem;padding-top:calc(.45rem + env(safe-area-inset-top));padding-bottom:.45rem}
  .kop .merk{flex:0 0 auto}
  .kop .merk-logo svg{width:5.4rem;height:auto}
  .kop-rechts{flex:1 1 auto;min-width:0;margin-left:0;justify-content:flex-start;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;overscroll-behavior-x:contain;
    scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 1.5rem),transparent);padding-right:1.25rem}
  .kop-rechts::-webkit-scrollbar{display:none}
  .kop-rechts > *{flex:0 0 auto}
  .kop-rechts #kopNaam,.kop-rechts .pr-kopnaam{display:none}
  .kop .link,.kop .tk-knop,.kop-rechts button,.kop-rechts .knop{min-height:44px;display:inline-flex;align-items:center;padding:.35rem .7rem;font-size:.85rem;white-space:nowrap}
  .hoofdtabs button,.hoofdtabs .tab-link{min-height:44px;display:inline-flex;align-items:center}
  .filters{flex-wrap:wrap;max-width:100%}
  .filters button{min-height:44px}
  main .knop{min-height:44px;max-width:100%;white-space:normal}
  .kop .merk-logo{display:inline-flex;align-items:center;min-height:44px}
  main button.link{min-height:44px;display:inline-flex;align-items:center}
  main select,main input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]){min-height:44px}
  main input[type=checkbox],main input[type=radio]{width:1.2rem;height:1.2rem}
  .fi-tabs a{min-height:44px;display:inline-flex;align-items:center}
  #inPad .link{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width:600px){
  .tabel-wrap:has(> table.pb-tabel:not(.hs-bewerktabel)){overflow-x:visible;background:none;border:0;border-radius:0}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel),
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) tbody{display:block;width:100%}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) thead{display:none}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) tr{display:block;background:#fff;border:1px solid var(--lijn);border-radius:4px;margin:0 0 .6rem;padding:.45rem .75rem}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td{display:block;position:relative;padding:.3rem 0 .3rem 7.4rem;min-height:1.6rem;border:0;
    min-width:0!important;max-width:none!important;white-space:normal;overflow-wrap:anywhere}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td::before{content:attr(data-label);position:absolute;left:0;top:.35rem;width:7rem;
    font-size:.75rem;font-weight:600;line-height:1.5;color:var(--grijs);overflow-wrap:normal}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td:not([data-label]),
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td[data-label=""]{padding-left:0}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td:not([data-label])::before,
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td[data-label=""]::before{display:none}
  .tabel-wrap > table.pb-tabel:not(.hs-bewerktabel) td:empty{display:none}
}

/* Management · Rondgang (30 okt 2026): gsm eerst, grote knoppen en kaarten per lijn of plek */
.rg{max-width:44rem;margin:0 auto}
.rg h2{font-size:1.05rem;margin:1.2rem 0 .5rem}
.rg-groot{display:block;width:100%;font-size:1.1rem;padding:1rem;margin:.6rem 0}
.rg-breed{display:block;width:100%;text-align:center;margin:.4rem 0}
.rg-ronde{display:flex;justify-content:space-between;align-items:center;gap:.6rem;background:#FBEBD7;border-left:4px solid #C77A1B;padding:.7rem .9rem;border-radius:4px;margin:.4rem 0}
.rg-tegels{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.6rem 0}
.rg-tegels button{background:#fff;border:1px solid var(--lijn);border-top:3px solid var(--groen);border-radius:4px;padding:.5rem .3rem;font:inherit;cursor:pointer;text-align:center}
.rg-tegels b{display:block;font-size:1.4rem;line-height:1.1}
.rg-tegels small{color:var(--grijs);font-size:.75rem}
.rg-tegels .rood{border-top-color:var(--rood)}.rg-tegels .rood b{color:var(--rood)}
.rg-tegels .aan{background:var(--vlak)}
.rg-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.6rem 0}
.rg-filters select,.rg-filters input{flex:1 1 9rem;min-height:44px}
.rg-keuze{display:inline-flex;flex-wrap:wrap;gap:.3rem}
.rg-keuze button{min-height:44px;padding:.4rem .9rem;border:1px solid var(--lijn);background:#fff;border-radius:22px;font:inherit;cursor:pointer}
.rg-keuze button[aria-pressed="true"]{background:var(--inkt);color:#fff;border-color:var(--inkt)}
.rg-groep h2{border-bottom:2px solid var(--inkt);padding-bottom:.2rem}
.rg-kaart{display:block;background:#fff;border:1px solid var(--lijn);border-left:5px solid #C77A1B;border-radius:4px;padding:.7rem .8rem;margin:.4rem 0;color:inherit;text-decoration:none}
.rg-kaart.rg-rood{border-left-color:var(--rood)}.rg-kaart.rg-groen{border-left-color:var(--groen);opacity:.8}
.rg-kaart-kop{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;margin-bottom:.2rem}
.rg-pil{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .55rem;border-radius:1rem;white-space:nowrap;background:#FBEBD7;color:#8A4B08}
.rg-pil.rg-rood{background:#F8DEDC;color:#8E1F18}.rg-pil.rg-groen{background:#E3EEDF;color:#22421B}
.rg-rood{color:var(--rood)}
.rg-kaart.rg-rood,.rg-kaart.rg-groen,.rg-puntkop.rg-rood,.rg-puntkop.rg-groen{color:var(--inkt)}
.rg-form label{display:block;margin:.5rem 0}
.rg-form input:not([type=checkbox]):not([type=file]),.rg-form textarea,.rg-form select,.rg select{width:100%;min-height:44px;font-size:16px}
.rg-form details{margin:.4rem 0}.rg-form summary{cursor:pointer;min-height:44px;line-height:44px;font-weight:600}
.rg-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0}
.rg-chip{min-height:48px;min-width:4.5rem;padding:.4rem .9rem;border:2px solid var(--lijn);background:#fff;border-radius:6px;font:inherit;font-weight:600;cursor:pointer}
.rg-chip.aan{border-color:var(--groen);background:#E3EEDF}
.rg-waar{background:var(--vlak);padding:.5rem .7rem;border-radius:4px}
.rg-foto{margin:.6rem 0}
.rg-voorbeeld{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.rg-voorbeeld span{display:flex;flex-direction:column;align-items:center}
.rg-voorbeeld img{width:5.5rem;height:5.5rem;object-fit:cover;border-radius:4px;border:1px solid var(--lijn)}
.rg-acties{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem}
.rg-puntkop{border-left:5px solid #C77A1B;padding:.3rem .8rem;margin:.6rem 0}
.rg-puntkop.rg-rood{border-left-color:var(--rood)}.rg-puntkop.rg-groen{border-left-color:var(--groen)}
.rg-puntkop h1{margin:.3rem 0 .1rem;font-size:1.4rem}
.rg-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.4rem;margin:.6rem 0}
.rg-fotos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:1px solid var(--lijn);background:var(--vlak)}
.rg-info{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:.6rem 0}.rg-info dt{color:var(--grijs)}.rg-info dd{margin:0}
.rg-status{display:flex}.rg-status button{flex:1}
.rg-notitie{margin-top:.8rem}
.rg-historie{padding-left:1.1rem}.rg-historie li{margin:.4rem 0}
@media (max-width:600px){.rg-tegels b{font-size:1.2rem}.rg h1{font-size:1.5rem}}

/* Onderhoudsplanning in Machines & onderhoud (30 okt 2026): weekbord, een rij per machine, enkel opdrachten onderhoud/reiniging/herstelling */
.ob-balk{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}
.ob-wrap{overflow-x:auto;border:1px solid var(--lijn,#E2DDD3);background:#fff}
.ob-bord{border-collapse:collapse;width:100%;min-width:980px;table-layout:fixed}
.ob-bord th,.ob-bord td{border:1px solid #ECE8DF;vertical-align:top;padding:6px;text-align:left}
.ob-bord thead th{background:#1D1D1B;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}
.ob-bord thead th.ob-vandaag{background:#336029}
.ob-bord tbody th{width:170px;background:#F5F3EE;font-weight:400}
.ob-bord tbody th small{display:block;color:#67625A;font-size:12px;line-height:1.25}
.ob-bord td.ob-vandaag{background:#F2F7F0}
.ob-bord th.ob-weekend{opacity:.75}
.ob-bord .ob-achter{background:#FBEFEE;width:150px}
.ob-bord td.ob-over{outline:2px dashed #336029;outline-offset:-3px}
.ob-kaart{display:block;width:100%;text-align:left;font:inherit;font-size:13px;line-height:1.3;border:1px solid #E2DDD3;border-left:4px solid #9B958B;background:#fff;
  padding:5px 7px;margin:0 0 5px;cursor:pointer;color:inherit}
.ob-kaart b{display:block;font-weight:700;word-break:break-word}
.ob-kaart small{display:block;color:#67625A;font-size:11.5px}
.ob-kaart .ob-pil{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.ob-kaart.ob-groen{border-left-color:#336029;background:#F2F7F0}.ob-kaart.ob-groen .ob-pil{color:#22421B}
.ob-kaart.ob-oranje{border-left-color:#C77700;background:#FFF6E8}.ob-kaart.ob-oranje .ob-pil{color:#8A4B08}
.ob-kaart.ob-rood{border-left-color:#B3261E;background:#FDF0EF}.ob-kaart.ob-rood .ob-pil{color:#8E1F18}
.ob-kaart.ob-grijs .ob-pil{color:#67625A}
.ob-kaart.ob-plan{border-style:dashed;border-left-style:dashed;background:transparent;cursor:default}
.ob-kaart[draggable="true"]{cursor:grab}
.ob-bord tbody th,.ob-bord thead th:first-child{position:sticky;left:0;z-index:2}
.ob-bord thead th:first-child{z-index:3}
@media (max-width:700px){.ob-bord tbody th{width:110px}.ob-bord{min-width:820px}}
/* Rondgang: onderhoud uit de planning bij de plek (30 okt 2026) */
.rg-kaart.rg-ond{width:100%;text-align:left;font:inherit;cursor:pointer;border-style:dashed;border-left-style:solid;background:#FAF8F3}
.rg-kaart.rg-ond.rg-rood{background:#FDF3F2}.rg-kaart.rg-ond.rg-groen{background:#F3F8F1}
@media (max-width:480px){.oa-standen{grid-template-columns:1fr 1fr!important}}

/* Retour ophalen bij de volgende levering (30 okt 2026): grote oranje balk bij de levering, voorstel in de Inbox, venster */
.rt-balk { margin: 6px 0 8px; padding: 8px 10px; background: #FFF1E0; border: 3px solid #D9731A; border-left-width: 8px; color: #6B3200; }
.rt-balk-titel { margin: 0 0 4px; font-weight: 800; font-size: 1.05rem; letter-spacing: .04em; color: #B4530A; }
.rt-balk-regel { margin: 0 0 4px; font-size: .9rem; }
.rt-balk-wie { display: block; font-size: .78rem; color: #8A5A2E; }
.rt-balk-knoppen { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
.rt-overzicht { margin: 0 0 14px; padding: 10px 14px; background: #FFF1E0; border: 2px solid #D9731A; }
.rt-overzicht h3 { margin: 0 0 6px; color: #B4530A; font-size: 1rem; }
.rt-overzicht ul { margin: 0; padding-left: 18px; }
.rt-overzicht li { margin: 2px 0; font-size: .9rem; }
.ib-retour { margin: 4px 0; padding: 6px 10px; background: #FFF1E0; border-left: 4px solid #D9731A; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ib-retour:not(.open) { background: #F5F3EE; border-left-color: #B8895A; }
dialog.rt-venster { max-width: 34rem; width: calc(100% - 32px); border: 1px solid #D8D2C6; padding: 18px 20px; }
dialog.rt-venster::backdrop { background: rgba(29, 29, 27, .45); }
.rt-venster .rt-kop { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.rt-venster .rt-kop h2 { margin: 0 0 10px; font-size: 1.15rem; }
.rt-venster label { display: block; margin: 8px 0; }
.rt-venster input, .rt-venster textarea { width: 100%; box-sizing: border-box; }
.rt-venster .rt-velden { display: grid; grid-template-columns: 6rem 1fr; gap: 10px; }
.rt-venster .melding:empty { display: none; }
.rt-balk.af { background: #EEF4EA; border-color: #336029; color: #336029; }
/* Ontvangsten · Geprint: volledige historiek per maand (29 okt 2026) */
.ov-maand{font-size:1.05rem;text-transform:capitalize;margin:1.4rem 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid var(--lijn)}
.ov-meer{text-align:center;margin:1rem 0 2rem}
.rt-geen { margin: 0 0 12px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: var(--grijs, #67625A); }
.rt-overzicht h3 { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.knop.tweede.pr-gevaar{border-color:#B3261E;color:#B3261E}.knop.tweede.pr-gevaar:hover{background:#FDF0EF}

/* Grondstoffen: traceren vanuit de artikelcode of het lot (30 okt 2026) */
.pr-traceer{margin:0 0 1rem;padding:.8rem 1rem;background:#fff;border:1px solid var(--mist,#E2DDD3)}
.pr-traceer label{display:grid;gap:.3rem;font-weight:700}
.pr-traceer input{font-weight:400}
.pr-traceerlijst{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.25rem}
.pr-traceerlijst li{padding:.3rem 0;border-bottom:1px solid var(--mist,#E2DDD3)}
.pr-tag.pr-grijs{background:#EEE;color:#67625A}
.pr-tag.pr-oranje{background:#FBE9D2;color:#8A5F33}
.pr-ok{color:#336029;white-space:nowrap;margin-right:.4rem}
.pr-mis{color:#A3271F;font-weight:700;white-space:nowrap;margin-right:.4rem}
tr.pr-oplicht td{background:#FFF6D8}
.pr-geldtvoor .pr-artkeuze{margin-top:.4rem}
.pr-artlijst{max-height:14rem;overflow:auto;border:1px solid var(--mist,#E2DDD3);padding:.3rem .5rem;margin-top:.3rem;display:grid;gap:.15rem}
.pr-artlijst label[hidden]{display:none}

/* Grondstoffen: blok per fabriek (31 okt 2026) */
.pr-bron{border-left:4px solid var(--kraft,#B8895A);scroll-margin-top:5rem}
.pr-bron h3{font-size:1rem;margin:1rem 0 .4rem}
.pr-bron .pr-kop h2{margin:0}
.pr-bron .pr-raster{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
@media (max-width:800px){.pr-bron .pr-raster{grid-template-columns:1fr}}
.pr-bron ul.pr-artikels:not(.pr-voorstellen){max-height:22rem;overflow:auto;padding-right:.25rem}
.pr-artkoppel{margin-top:.5rem}
.pr-artkoppel>summary{list-style:none;display:inline-block;cursor:pointer}
.pr-artkoppel>summary::-webkit-details-marker{display:none}
.pr-artkoppel[open]>summary{margin-bottom:.5rem}
/* Grondstoffen: dekking gekoppelde artikels (31 okt 2026) */
.pr-dekking-kop{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}
.pr-dekking-kop h2{margin:0}
.pr-dekking-balk{height:.6rem;background:#E8E4DC;margin:.6rem 0 .4rem;overflow:hidden}
.pr-dekking-balk span{display:block;height:100%;background:#C77B1E}
.pr-dekking.vol .pr-dekking-balk span{background:#336029}
.pr-dekking details{margin-top:.4rem}
.pr-dekking summary{cursor:pointer}
.rt-venster .rt-al { background: #FBF3E6; border-left: 4px solid #B8895A; padding: 8px 10px; margin: 8px 0; }
.rt-venster .rt-al[hidden] { display: none; }
.pr-mailvb{width:100%;height:30rem;border:1px solid #E2DDD3;background:#fff}
.pr-codes{width:100%}
.pr-codes input{width:100%;box-sizing:border-box}
.pr-codes th:nth-child(3){width:55%}
.pr-kw{border-left:3px solid #E2DDD3;padding-left:.6rem;margin:.5rem 0}

/* Verslag voor indienststelling (2 nov 2026): enkel de kleuren van de huisstijl, NOK = zwart, OK = groen, na te kijken = kraft */
.ids-pil{display:inline-block;padding:.05rem .45rem;font-size:.75rem;font-weight:700;white-space:nowrap}
.ids-groen{background:#336029;color:#fff}.ids-zwart{background:#1D1D1B;color:#fff}.ids-kraft{background:#B8895A;color:#fff}.ids-grijs{background:#E2DDD3;color:#1D1D1B}
.ids-stand{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap;margin:.25rem 0}
.ids-kop{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.ids-kop h2,.ids-kop h3{margin:0 0 .4rem}
.ids-knoppen{display:flex;gap:.4rem;flex-wrap:wrap}
.ids-deel summary{cursor:pointer}
.ids-melding{background:#F5F3EE;border-left:4px solid #B8895A;padding:.6rem .8rem;margin:.75rem 0}
.ids-groep{display:inline-flex}.ids-nazicht{border:1px solid #1D1D1B;background:#fff;color:#1D1D1B;padding:.25rem .5rem;min-width:2.6rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;margin-left:-1px}
.ids-nazicht[disabled]{cursor:default;opacity:.55}.ids-nazicht.aan[disabled]{opacity:1}
.ids-nazicht.ids-groen{background:#336029;color:#fff;border-color:#336029}.ids-nazicht.ids-zwart{background:#1D1D1B;color:#fff}.ids-nazicht.ids-grijs{background:#E2DDD3}
.ids-blok{display:block}.ids-m{white-space:nowrap}
.ids-sign{border-left:4px solid #336029;background:#F5F3EE;padding:.5rem .75rem;margin:.4rem 0}.ids-sign.leeg{border:1.5px dashed #B8895A;background:#fff;color:#67625A}
.ids-opvolging{list-style:none;padding:0;margin:0}.ids-opvolging li{padding:.25rem 0;border-bottom:1px solid #E2DDD3}
.ids-comp{border:1px solid #E2DDD3;padding:.6rem;margin:.5rem 0}.ids-vinkjes{display:flex;flex-wrap:wrap;gap:.25rem .9rem}
.ids-punten td:nth-child(3){min-width:18rem}.ids-maatregelen td:nth-child(2){min-width:16rem}

/* Facturatie (/beheer/facturatie) */
.fb-zoek{flex:1 1 20rem;min-width:0}.fb-keuzes .fb-duw{margin-left:auto}.fb-rechts{text-align:right;white-space:nowrap}.fb-vink{width:2rem}.fb-tabel .fb-kop td{background:#F5F3EE;border-bottom:1px solid #D8D2C6}
.fb-grijs td{color:#6B6860}.fb-regelrij td{background:#FBFAF7}.fb-regels{width:100%;border-collapse:collapse;font-size:.82rem}.fb-regels th{text-align:left;font-weight:600;padding:.2rem .5rem;color:#6B6860}.fb-regels th.fb-rechts{text-align:right}.fb-regels td{padding:.2rem .5rem;border-top:1px solid #E2DDD3}
.fb-btw{display:inline-block;font-size:.72rem;font-weight:700;padding:.05rem .4rem;white-space:nowrap}.fb-btw-rood{background:#B3261E;color:#fff}.fb-btw-oranje{background:#F3DFC1;color:#6B4515}
.fb-kader{border-left:4px solid #B8895A;background:#F5F3EE;padding:.55rem .75rem;margin:.5rem 0}.fb-kader ul{margin:.3rem 0 0;padding-left:1.1rem}.fb-kader.fb-fout{border-color:#B3261E;background:#FBEDEC;color:#7A1A14}.fb-kader.fb-oranje{border-color:#C98A2B;background:#FBF3E4}.fb-kader.fb-groen{border-color:#336029;background:#EEF3EC}
.fb-groen-t{color:#336029;font-weight:600}.fb-rood-t{color:#B3261E;font-weight:600}.fb-actie{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end;margin:.85rem 0}.fb-actie>span{margin-right:auto}
.fb-reden{color:#7A1A14;text-align:right;margin:.25rem 0}.fb-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem 1.2rem;margin:.6rem 0}.fb-info dt{font-size:.75rem;color:#6B6860}.fb-info dd{margin:0}
.fb-orderkop{font-size:.95rem;margin:1rem 0 .35rem}.fb-verschil td{background:#FBEDEC;color:#7A1A14;font-weight:600}.fb-totaal{margin:.8rem 0 0 auto;border-collapse:collapse;min-width:18rem}.fb-totaal th{text-align:left;font-weight:400;padding:.2rem .6rem .2rem 0}.fb-totaal td{text-align:right;padding:.2rem 0;white-space:nowrap}.fb-totaal .fb-eind th,.fb-totaal .fb-eind td{font-weight:700;border-top:2px solid #1D1D1B;padding-top:.4rem}
.fb-tijdlijn{list-style:none;padding:0;margin:0}.fb-tijdlijn li{padding:.3rem 0;border-bottom:1px solid #E2DDD3}
dialog.fb-venster{max-width:32rem}.fb-venster h3{margin-top:0}.fb-controle{background:#F5F3EE;padding:.6rem .75rem}.fb-groot{font-size:1.35rem;font-weight:700}.fb-keuzes-v{border:0;padding:0;margin:.6rem 0}.fb-keuzes-v legend{font-weight:600;padding:0}.fb-keuze{display:block;padding:.15rem 0}.fb-veld{display:block;margin:.5rem 0;font-weight:600}.fb-veld input,.fb-veld select,.fb-veld textarea{display:block;width:100%;font-weight:400;margin-top:.15rem}.fb-waarschuwing{font-size:.85rem;color:#7A1A14}
.fb-tabel a,.fb-orderkop a{color:#336029}
.fb-keuze{display:flex;align-items:center;gap:.45rem;font-weight:400;margin:0}.fb-keuze input{width:auto;display:inline-block;margin:0}.fb-factuurregels th:first-child{width:46%}.fb-factuurregels td{white-space:nowrap}.fb-factuurregels td:first-child{white-space:normal}
.fb-uitleg{margin:.1rem 0 .6rem}
/* Groepen van artikels binnen een fabriek (Grondstoffen) */
.pr-groepen{margin:.5rem 0}
.pr-groep{border-left:3px solid var(--kraft,#B8895A);padding:.15rem 0 .15rem .6rem;margin:.5rem 0}
.pr-groep p{margin:.1rem 0}
.fb-oranje-t{color:#8A5F33;font-weight:600}
.fb-dienstrij td{padding-top:.1rem;font-size:.9rem;font-weight:400}.fb-dienstrij label{display:inline;margin:0;font-weight:400}
.fn-velden{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.6rem 1rem;margin:.75rem 0}.fn-veld label{display:block;font-weight:600;margin-bottom:.2rem}.fn-veld input{width:100%}.fn-breed{grid-column:1/-1}.fn-klant,.fn-artikel{position:relative}
.fn-keuze{position:absolute;z-index:20;left:0;right:0;max-height:16rem;overflow:auto;margin:.1rem 0 0;padding:0;list-style:none;background:#fff;border:1px solid #1D1D1B}.fn-keuze li{padding:.35rem .5rem;cursor:pointer}.fn-keuze li:hover{background:#F5F3EE}
.fn-regels input{width:100%;min-width:6rem}.fn-regels input.fn-getal{width:6rem;min-width:0}.fn-artikel{min-width:15rem}.fn-kort{width:8rem}.filters button.aan{background:#336029;color:#fff}
.fn-totaal{margin:.5rem 0}.fn-totaal label{font-weight:600}
/* Magazijn · Voorraadinfo (/magazijn/voorraad) */
.vr-main h1{margin-bottom:.2rem}.vr-stand{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:.2rem 0 .7rem}
.vr-waarschuw{border-left:4px solid #B8895A;background:#F5F3EE;padding:.45rem .7rem;margin:.4rem 0;font-size:.9rem}
.vr-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin:.6rem 0}.vr-filters .filters{margin:0}
.vr-filters input[type=search]{flex:1 1 16rem;min-width:0;width:auto;margin:0}.vr-filters select{width:auto;margin:0}.vr-duw{margin-left:auto}
.vr-totaal{margin:.2rem 0 .5rem;font-size:.9rem}
.vr-wrap{max-height:calc(100dvh - 17rem);min-height:18rem;overflow:auto}.vr-wrap thead th{position:sticky;top:0;background:#F5F3EE;z-index:1;white-space:nowrap}
.vr-wrap th button{all:unset;cursor:pointer;font-weight:inherit}.vr-wrap th button:focus-visible{outline:2px solid #336029}
.vr-tabel td.getal,.vr-tabel th.getal{text-align:right;font-variant-numeric:tabular-nums}.vr-tabel tbody tr{cursor:pointer}.vr-tabel tbody tr:hover td{background:#F5F3EE}
.vr-tabel td.vr-code{white-space:nowrap}.vr-tabel td.vr-oms{min-width:16rem}.vr-tabel td.vr-tijd{white-space:nowrap;color:#67625A;font-size:.85rem}
.vr-neg{color:#B3261E;font-weight:700}.vr-neg small{display:block;font-weight:400}
.vr-meer{display:block;margin:.6rem auto}
.vr-velden{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;margin:.6rem 0}.vr-velden dt{color:#67625A}.vr-velden dd{margin:0}
.vr-strd{margin-top:1rem;border-top:1px solid #E2DDD3}.vr-strd .vs-tegels,.vr-strd .vs-balk{display:none}
@media (max-width:600px){.vr-wrap{max-height:none}.vr-tabel td.getal,.vr-tabel th.getal{text-align:left}}

/* Catalogus: filterkolom naast de artikels (3 nov 2026, catalogus-filters.js) */
.cat-filterkader{display:grid;grid-template-columns:15.5rem minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1rem}
.cat-lijst{min-width:0;scroll-margin-top:calc(var(--cat-boven,0px) + .75rem)}
.cat-lijst .keuze-chips{align-items:center;margin-bottom:.9rem}
.cat-lijst>.keuzehulp{border:0;box-shadow:none;background:none;padding:0;margin-top:0}
.cat-lijst>.keuzehulp>h2{margin-top:0}
.cat-lijst>.keuzehulp>p{margin:-.5rem 0 .75rem}
.cat-lijst>details.cliche{margin:0 0 1rem;padding:.75rem 1rem}
.cat-lijst>details.cliche summary{cursor:pointer}
.cat-lijst>details.cliche summary h2{display:inline;font-size:1rem;margin:0}
.cat-lijst>details.cliche[open] summary{margin-bottom:.6rem}
.cat-filters{position:sticky;top:calc(var(--cat-boven,0px) + .75rem);background:#fff;border:1px solid var(--lijn);border-radius:6px}
.fk-inhoud{padding:.85rem 1rem;max-height:calc(100vh - var(--cat-boven,0px) - 1.5rem);overflow:auto}
.fk-knop,.fk-sluit{display:none}
.fk-groep{border:0;margin:0 0 1rem;padding:0;min-width:0}
.fk-groep:last-of-type{margin-bottom:0}
.fk-groep legend{font-weight:700;font-size:.85rem;padding:0;margin-bottom:.3rem}
label.fk-optie{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;font-size:.88rem;padding:.2rem 0;cursor:pointer}
.fk-optie input{width:auto;margin:.2rem 0 0;flex:none;accent-color:var(--bpc)}
.fk-tekst{flex:1;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.fk-tekst .klein{display:block;font-size:.76rem;font-weight:400;line-height:1.25}
.fk-n{color:var(--grijs);font-size:.78rem;font-variant-numeric:tabular-nums}
.fk-optie:has(input:checked) .fk-tekst{font-weight:650;color:var(--bpc-donker)}
label.fk-leeg{color:#a8a29e;cursor:default}
.fk-leeg .fk-n,.fk-leeg .stil{color:inherit}
.res-detail{margin:-.2rem 0 .4rem;min-width:0}
.res-detail>.cat-kaart{margin-top:.6rem}
.resultaat{scroll-margin-top:calc(var(--cat-boven,0px) + .75rem)}
@media (max-width:860px){
  .cat-filterkader{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .cat-filters{position:static;border:0;background:none}
  .fk-knop{display:inline-flex}
  .fk-inhoud{display:none}
  .cat-filters.open .fk-inhoud{display:block;max-height:none;overflow:visible;background:#fff;border:1px solid var(--lijn);border-radius:6px;margin-top:.5rem}
  .fk-sluit{display:block;width:100%;margin-top:.75rem}
  label.fk-optie{padding:.45rem 0}
  .fk-optie input{margin-top:.15rem}
}
/* Volledige prijstabel onder een artikel: smallere kolom, dus verpakking onder de naam (zoals op gsm) */
.res-detail .prijstabel{font-size:.82rem}
.res-detail .prijstabel th,.res-detail .prijstabel td{padding:.5rem .5rem}
.res-detail .prijstabel .vast{min-width:9rem;max-width:12rem}
.res-detail .prijstabel .niet-gsm{display:none}
.res-detail .cat-verp-gsm{display:block;font-size:.76rem;color:var(--grijs);margin-top:.2rem}
/* Facturatie: prijscontrole per regel */
.fb-audit p{margin:.1rem 0 .5rem}.fb-audit-t{background:#fff;font-size:.86rem}.fb-audit-t td{vertical-align:top}.fb-au-ja{color:#336029;font-weight:600}.fb-au-nee{color:#A32A1E;font-weight:700}.fb-au-rij{background:#FBEDEA}
.rb-keuze{position:static;max-height:12rem}.rb-keuze li{padding:.35rem .5rem;cursor:pointer}.rb-keuze li:hover{background:#F5F3EE}.rb-rij{display:flex;gap:1rem}
.fb-au-vraag{color:#8A5F33;font-weight:600}.fb-au-zinnen{margin:.1rem 0 .6rem;padding-left:1.1rem}.fb-au-zinnen li{margin:.15rem 0}

/* Blok Documenten onderaan een order */
.or-docs h3{margin-top:0}.or-doc-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem 1.75rem}
.or-doc-groep{border-top:1px solid #DDD8CE;padding-top:.6rem;min-width:0}.or-doc-groep h4{margin:0 0 .4rem;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:#8A5F33}
.or-doc-groep p{margin:.3rem 0}.or-doc-lijst{list-style:none;margin:0;padding:0}.or-doc-lijst li{margin:0 0 .45rem;overflow-wrap:anywhere}
.or-doc-naam{font-weight:600}.or-doc-links{margin-left:.5rem;font-size:.85rem}.or-doc-links a+a{margin-left:.5rem}
.fb-datumkiezer{cursor:pointer}
/* Facturatie: werkorder nog open bij minder of meer geleverd dan besteld */
.fb-wo{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:.3rem 0;font-size:.85rem}
.fb-wo-label{white-space:nowrap;background:none;border:1px solid #B8895A;color:#8A5F33;font:inherit;font-size:.75rem;padding:.05rem .4rem;margin-top:.2rem;cursor:pointer}
.fb-wo-kader p{margin:.15rem 0 .35rem}
/* Snel zoeken: balk onder de kop van elke interne pagina */
.sz-balk{background:#fff;border-bottom:1px solid #E4DFD6;padding:.45rem clamp(1rem,4vw,2.5rem)}
.sz-form{position:relative;max-width:46rem;margin:0 auto}
.sz-form input[type=search]{width:100%;margin:0;padding:.45rem .7rem;font-size:.92rem;border:1px solid #CFC8BB;background:#FBFAF7}
.sz-form input[type=search]:focus{background:#fff;outline:2px solid #336029;outline-offset:-1px}
.sz-uit{position:absolute;z-index:60;top:100%;left:0;right:0;margin-top:2px;background:#fff;border:1px solid #CFC8BB;box-shadow:0 8px 24px rgba(29,29,27,.16);max-height:70vh;overflow:auto;text-align:left}
.sz-rij{display:flex;gap:.6rem;align-items:baseline;padding:.45rem .7rem;color:#1D1D1B;text-decoration:none;border-bottom:1px solid #F0ECE4;font-size:.9rem}
.sz-rij:hover,.sz-rij.gekozen{background:#F5F3EE}
.sz-soort{flex:0 0 6.5rem;font-size:.72rem;font-weight:600;color:#8A5F33;text-transform:uppercase;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sz-tekst{min-width:0;overflow-wrap:anywhere}
.sz-kop{padding:.45rem .7rem .2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6B675F;background:#FBFAF7}
.sz-leeg{margin:0;padding:.55rem .7rem;font-size:.88rem}
.sz-actie{display:block;width:100%;box-sizing:border-box;padding:.45rem .7rem;background:#FBFAF7;border:0;border-top:1px solid #F0ECE4;color:#336029;font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;text-decoration:none;min-height:0}
.sz-actie:hover{background:#F5F3EE}
@media print{.sz-balk{display:none}}
@media (max-width:600px){.sz-soort{flex-basis:4.5rem}.sz-rij{flex-wrap:nowrap}.sz-form input[type=search]{font-size:1rem}}
/* Facturatie: controles in het overzicht van de concepten en verwerken in één keer */
.fb-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0}.fb-bulk .fb-duw{flex:1}
.fb-concepttabel td{vertical-align:top}.fb-cu-klopt td{background:#F1F6EF}
.rt-venster.fb-bulkvenster{width:min(62rem,94vw);max-width:none}.fb-bulkvenster table{font-size:.85rem}
.fb-bu-alle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;font-weight:600}.fb-bu-alle select{font-weight:400;max-width:100%}
.fb-bu-hoe{min-width:12rem}.fb-bu-hoe select,.fb-bu-hoe input{width:100%;box-sizing:border-box;font:inherit}.fb-bu-hoe input{margin-top:.35rem}.fb-bu-hoe [data-po]{display:block;margin-top:.35rem}.fb-bu-hoe [data-po][hidden]{display:none}

/* Onthaalpakket in het personeelsdossier */
.on-lijst{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.35rem}.pr-stand.on-open{background:#F3E9DD;color:#8A5F33}
.on-kader{border:1px solid #B8895A;background:#F5F3EE;padding:.6rem .8rem;margin:.6rem 0}.on-kader ul{margin:.3rem 0 .4rem 1.1rem;padding:0}
.on-vink{display:flex!important;font-weight:400;gap:.5rem;align-items:flex-start;margin:.35rem 0;flex-direction:row}.on-vink input{width:auto;margin-top:.2rem}.on-keuze{border:1px solid #E2DDD3;padding:.5rem .8rem;margin:0}.on-result:empty{display:none}

/* Onthaalpakket: wat verplicht is + scans en gegevens uit documenten (4 nov 2026) */
.on-status{padding:.6rem .8rem;margin:.6rem 0;border-left:4px solid}.on-status.rood{background:#FBEDEB;border-color:#B3261E;color:#7A1A14}.on-status.groen{background:#EDF3EA;border-color:#336029;color:#264A1F}
.on-kop{font-size:.95rem;margin:.9rem 0 .3rem}.on-klein{margin:.2rem 0 .4rem 1.1rem;padding:0;font-size:.88rem;color:#6B665C}
.on-groepen{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem 1rem}.on-groepen h4{margin:0 0 .15rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#6B665C}
.on-check{list-style:none;margin:0;padding:0;font-size:.92rem}.on-check li{padding:.08rem 0}.on-check .ja{color:#6B665C}.on-check .ja span:first-child{color:#336029}.on-check .nee{color:#B3261E;font-weight:600}
.on-ontbreekt{font-size:.72rem;font-weight:600;background:#B3261E;color:#fff;padding:.02rem .3rem;margin-left:.2rem}
.on-acties{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0 .3rem}.on-maak:disabled{background:#E2DDD3;border-color:#E2DDD3;color:#6B665C;opacity:1;cursor:not-allowed}
.ps-mist input,.ps-mist select,.ps-mist textarea{border:2px solid #B3261E;background:#FFF8F7}.ps-tag-mist{font-size:.72rem;font-weight:600;color:#B3261E;margin-left:.25rem}
.sc-rijen{width:100%;border-collapse:collapse;font-size:.9rem}.sc-rijen th{text-align:left;font-size:.78rem;color:#6B665C;padding:.25rem .4rem;border-bottom:1px solid #1D1D1B}.sc-rijen td{padding:.35rem .4rem;border-bottom:1px solid #E2DDD3;vertical-align:top}
.sc-rijen input[type=text],.sc-rijen input[type=date],.sc-rijen select,.sc-rijen textarea{font:inherit;width:100%;box-sizing:border-box}.sc-rijen tr.uit td{opacity:.55}.sc-rijen .sc-v{width:1.6rem}
.sc-let{color:#B3261E;font-weight:600}.sc-hint{font-size:.8rem;color:#6B665C;margin-top:.15rem}.sc-kop{margin:1rem 0 .3rem}.sc-stand{list-style:none;margin:.5rem 0;padding:0;font-size:.9rem}.sc-stand li{padding:.12rem 0}
.sc-acties{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem}
@media(max-width:700px){.sc-rijen thead{display:none}.sc-rijen tr{display:block;border-bottom:1px solid #1D1D1B;padding:.4rem 0}.sc-rijen td{display:block;border:0;padding:.2rem 0}}

/* Productieplanning: zoeken op werkorder, artikel of klant (5 nov 2026) */
.pp-wozoek input{width:15rem}
.pp-zoekres tbody tr{cursor:pointer}
.pp-zoekres tbody tr:hover,.pp-zoekres tbody tr:focus{background:var(--zakpapier,#F5F3EE);outline:none}
.pp-zoekres .pp-zoek-vb{opacity:.6}

/* Personeel → Aanwezigheid (prikklok, 5 nov 2026). Te laat = kraft (pr-oranje), nooit rood of roze. Op gsm maakt mybpc-app.js kaarten van de pb-tabellen. */
.pa-keuze{margin:0 0 1rem}
.pa-dagtitel{margin:0 0 .4rem}.pa-dagtitel::first-letter{text-transform:uppercase}
.pa-live{display:inline-block;font-size:.72rem;font-weight:650;letter-spacing:.03em;padding:.05rem .4rem;border-radius:99px;background:var(--bpc-licht);color:var(--bpc);vertical-align:.08em}
.pa-tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin:.5rem 0 1rem;max-width:36rem}
.pa-tegel{background:#fff;border:1px solid var(--lijn);padding:.6rem .85rem}
.pa-tegel b{display:block;font-size:1.5rem;line-height:1.15}.pa-tegel span{font-size:.85rem;color:var(--grijs)}
.pa-tegel.pa-teLaat{background:#FBF1E4;border-color:#E7D3B8}.pa-tegel.pa-teLaat b{color:#8A5F33}
.pa-hint{margin:.3rem 0 .8rem}
.pa-melding{background:#FBF1E4;border-left:3px solid #B8895A;padding:.6rem .85rem;margin:0 0 1rem}
.pa-maandbalk{align-items:center}.pa-maandbalk input[type=month]{width:auto}
.pa-maandnaam{display:none;font-size:1.1rem}.pa-maandnaam::first-letter{text-transform:uppercase}
.pa-maandbalk [data-pa=print]{margin-left:auto}
.pa-maand{background:#fff;border:1px solid var(--lijn)}
.pa-maandkop,.pa-persoon>summary{display:grid;grid-template-columns:minmax(12rem,1fr) repeat(4,6.5rem);gap:.5rem;align-items:center;padding:.5rem .8rem}
.pa-maandkop{font-size:.8rem;font-weight:650;color:var(--grijs);border-bottom:1px solid var(--lijn)}
.pa-persoon{border-bottom:1px solid var(--lijn)}.pa-persoon:last-child{border-bottom:0}
.pa-persoon>summary{cursor:pointer;list-style:none}.pa-persoon>summary::-webkit-details-marker{display:none}
.pa-persoon>summary:hover{background:var(--zakpapier,#F5F3EE)}
.pa-persoon>summary .pa-naam::before{content:"▸";display:inline-block;width:1rem;color:var(--grijs)}.pa-persoon[open]>summary .pa-naam::before{content:"▾"}
.pa-maandkop .pa-naam{padding-left:1rem}
.pa-cel{text-align:right;font-variant-numeric:tabular-nums}.pa-cel.pa-oranje{color:#8A5F33}
.pa-dagen{border-collapse:collapse;margin:.2rem 0 .8rem 1.8rem;font-size:.92rem}
.pa-dagen th{font-size:.78rem;font-weight:650;color:var(--grijs);text-align:left;padding:.2rem .9rem .2rem 0}
.pa-dagen td{padding:.22rem .9rem .22rem 0;border-top:1px solid var(--lijn)}
#psAanwezigheid .pa-dagen{margin-left:0}
.pa-koppel{white-space:nowrap}.pa-koppel select{max-width:14rem}
.pa-deuren{display:grid;gap:.4rem;margin:.6rem 0 1rem}
.pa-deur{display:flex;gap:.6rem;align-items:flex-start;background:#fff;border:1px solid var(--lijn);padding:.5rem .7rem;cursor:pointer;max-width:32rem}
.pa-deur input{margin-top:.2rem;width:auto}.pa-deur .klein{font-weight:400}
.pa-marge{display:block;margin:.6rem 0;font-weight:400}.pa-marge input{width:4.5rem;display:inline-block}
.pa-kolomraster{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;margin:.5rem 0 .8rem}.pa-kolomraster label{display:block;font-size:.85rem}.pa-kolomraster select{display:block;width:100%}
.pa-redenen{margin:.2rem 0 .8rem}
.pa-uitkomst{background:var(--bpc-licht);padding:.5rem .8rem}
.pa-stappen{padding-left:1.3rem;margin:.5rem 0}.pa-stappen li{margin:.35rem 0}.pa-stappen code{overflow-wrap:anywhere}
.pa-voorbeeld{margin-top:.6rem}.pa-json{background:#F5F3EE;border:1px solid var(--lijn);padding:.6rem;font-size:.78rem;max-height:20rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
@media (max-width:720px){
  .pa-maandkop{display:none}
  .pa-persoon>summary{grid-template-columns:repeat(4,1fr);row-gap:.25rem}
  .pa-persoon>summary .pa-naam{grid-column:1/-1}
  .pa-cel{text-align:left;font-size:.92rem}.pa-cel::before{content:attr(data-l);display:block;font-size:.72rem;color:var(--grijs)}
  .pa-dagen{margin-left:.8rem;font-size:.86rem}.pa-dagen th,.pa-dagen td{padding-right:.55rem}
  .pa-koppel{white-space:normal}.pa-koppel select{max-width:100%;width:100%;margin-bottom:.3rem}
  .pa-maandbalk [data-pa=print]{margin-left:0}
}
@media print{.pa-maandnaam{display:block}.pa-persoon>summary .pa-naam::before{content:""}.pa-maandkop,.pa-persoon>summary{grid-template-columns:minmax(10rem,1fr) repeat(4,5rem)}.pa-persoon{break-inside:avoid}}
.pa-periode{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center}.pa-periode select{width:auto}
/* Welke rol er op moet bij een rol- of formaatwissel (5 nov 2026) */
.pp-rol,.pl-rol,.wo-rol{display:block;font-weight:700;color:var(--inkt,#1D1D1B);white-space:normal}

/* Voorraad bij standaardartikels in een order (6 nov 2026) */
.or-vr .or-vr-ok { color: #336029; }
.or-vr .or-vr-te { color: #B3261E; }

/* ===== WMS – Magazijn: voorraad en scanners (8 nov 2026) =====
   Scanner-app MyBPC Scan (public/scan.html, 320–360 px breed, tikvlakken ≥ 48 px), het gedeelde onderdeel Picken voor productie (ook in de Lijnplanning),
   de WMS-tabbladen in Voorraadinfo. Huisstijl: Archivo, drukinkt #1D1D1B, zakpapier #F5F3EE, kraft #B8895A/#8A5F33, groen #336029, rechte knoppen. */
:root{--wms-inkt:#1D1D1B;--wms-papier:#F5F3EE;--wms-kraft:#B8895A;--wms-kraftd:#8A5F33;--wms-groen:#336029;--wms-lijn:#E2DDD3;--wms-grijs:#67625A;--wms-rood:#B3261E}
body.wms-body{background:var(--wms-papier);color:var(--wms-inkt);font-family:Archivo,system-ui,sans-serif;margin:0;min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}
body.wms-body.donker{background:var(--wms-inkt)}
.wms-oefenbalk{background:var(--wms-kraft);color:#fff;font-weight:700;font-size:.85rem;text-align:center;padding:.3rem .6rem;letter-spacing:.02em}
.wms-kop{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--wms-inkt);color:#fff;padding:calc(.45rem + env(safe-area-inset-top)) .75rem .45rem;min-height:48px}
.wms-merk{display:inline-flex;align-items:center;gap:.4rem;color:#fff;text-decoration:none;font-weight:600;font-size:1rem}.wms-merk b{font-weight:800;color:#9BC79A}
.wms-kopRechts{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.wms-kopRechts .link{color:#fff;min-height:44px;display:inline-flex;align-items:center}
.wms-naam{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wms-wacht{background:var(--wms-kraft);color:#fff;padding:.1rem .45rem;font-weight:700;font-size:.8rem}
.wms-main{max-width:720px;margin:0 auto;padding:.6rem .75rem 1.5rem}
.wms-login{background:#fff;padding:1.2rem 1rem;margin-top:1rem}.wms-login h1{margin:0 0 .3rem;font-size:1.4rem}
.wms-loginRest{margin-top:1rem}.wms-reden{color:var(--wms-rood);font-weight:600;margin:.4rem 0}
.wms-namen{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.6rem 0}
.wms-naamknop{min-height:56px;font:inherit;font-weight:700;background:#fff;border:2px solid var(--wms-inkt);color:var(--wms-inkt);padding:.5rem;cursor:pointer}
.wms-wie{font-size:1.2rem;font-weight:800;margin:.2rem 0}
.wms-bolletjes{display:flex;gap:.6rem;justify-content:center;margin:.5rem 0}.wms-bolletjes span{width:14px;height:14px;border:2px solid var(--wms-inkt);border-radius:50%}.wms-bolletjes span.vol{background:var(--wms-inkt)}
.wms-klavier{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;max-width:300px;margin:.4rem auto}
.wms-klavier button{min-height:56px;font:inherit;font-size:1.4rem;font-weight:700;background:#fff;border:1px solid var(--wms-lijn);color:var(--wms-inkt);cursor:pointer}.wms-klavier button.klein{font-size:.9rem}
.wms-start .wms-groet{font-size:1.15rem;font-weight:700;color:#fff;margin:.2rem 0 .5rem}body.wms-body:not(.donker) .wms-start .wms-groet{color:var(--wms-inkt)}
.wms-groep{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--wms-grijs);margin:.9rem 0 .35rem;font-weight:700}
.wms-tegels{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.wms-tegel{position:relative;display:flex;align-items:center;gap:.6rem;min-height:56px;padding:.55rem .6rem;background:#fff;border:1px solid var(--wms-lijn);text-align:left;font:inherit;color:var(--wms-inkt);cursor:pointer}
.wms-tegel:active{background:var(--wms-papier)}
.wms-icoon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;color:#fff}.wms-icoon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wms-groen .wms-icoon{background:var(--wms-groen)}.wms-kraft .wms-icoon{background:var(--wms-kraft)}.wms-zwart .wms-icoon{background:var(--wms-inkt)}
.wms-tegelnaam{font-weight:700;font-size:.92rem;line-height:1.2}.wms-exact{color:var(--wms-groen);font-weight:800}
.wms-teller{position:absolute;top:4px;right:4px;background:var(--wms-kraft);color:#fff;font-size:.75rem;font-weight:800;padding:.05rem .4rem;min-width:1.2rem;text-align:center}
.wms-voet{margin-top:1rem;color:#C9C3B8}.wms-voet .link{color:#fff}body.wms-body:not(.donker) .wms-voet{color:var(--wms-grijs)}body.wms-body:not(.donker) .wms-voet .link{color:var(--wms-inkt)}
.wms-scanlabel{display:block;font-weight:600;font-size:.85rem;margin:.4rem 0}.wms-scanwrap{display:flex;gap:.3rem;margin-top:.25rem}
.wms-scaninput{font:inherit;font-size:1.05rem;padding:.6rem .7rem;border:2px solid var(--wms-inkt);background:#fff;color:var(--wms-inkt);width:100%;min-height:48px;box-sizing:border-box;border-radius:0}
.wms-scaninput:focus{outline:3px solid var(--wms-groen);outline-offset:-1px}
.wms-cam{flex:0 0 48px;min-height:48px;font-size:1.2rem;background:#fff;border:2px solid var(--wms-inkt);cursor:pointer}
.wms-schermkop{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;color:#fff;margin:.2rem 0 .5rem}body.wms-body:not(.donker) .wms-schermkop{color:var(--wms-inkt)}
.wms-schermkop h1{font-size:1.15rem;margin:0;flex:1}.wms-schermkop .stil{width:100%;margin:0;color:#C9C3B8}
.wms-terug{font:inherit;font-weight:700;background:transparent;border:1px solid currentColor;color:inherit;padding:.4rem .6rem;min-height:44px;cursor:pointer}
.wms-blok{background:#fff;padding:.8rem .75rem;margin-bottom:.6rem}.wms-blok h3{font-size:.95rem;margin:.9rem 0 .35rem}.wms-blok.wms-ok{border-left:5px solid var(--wms-groen)}
.wms-keuzes{display:flex;flex-direction:column;gap:.35rem;margin-top:.4rem}
.wms-keuze{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-height:48px;padding:.5rem .65rem;background:var(--wms-papier);border:1px solid var(--wms-lijn);text-align:left;font:inherit;color:var(--wms-inkt);cursor:pointer}
.wms-keuze small{color:var(--wms-grijs);font-size:.78rem}.wms-keuze.rood{border-left:5px solid var(--wms-rood)}.wms-keuze.ok{border-left:5px solid var(--wms-groen)}.wms-keuze.grijs{opacity:.5}
.wms-regel{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px solid var(--wms-lijn)}.wms-regel.gekozen{background:#F2F7EF}.wms-regel.klaar{opacity:.65}
.wms-regel .knop.klein{min-height:44px;white-space:nowrap}
.wms-tag{display:inline-block;background:var(--wms-papier);border:1px solid var(--wms-lijn);padding:.1rem .45rem;font-size:.8rem;margin:.15rem .2rem 0 0}
.wms-artikel{display:flex;flex-direction:column;gap:.1rem;margin:0 0 .6rem;padding:.6rem .7rem;background:var(--wms-papier);border-left:5px solid var(--wms-groen)}
.wms-artikel b{font-size:1.25rem;line-height:1.15}.wms-artikel span{font-size:.9rem;color:var(--wms-grijs)}.wms-artikel .wms-eenheid{font-weight:800;color:var(--wms-inkt);font-size:1rem}
.wms-getalrij{display:flex;align-items:center;gap:.5rem;margin:.4rem 0}.wms-getalrij input{font:inherit;font-size:1.8rem;font-weight:800;padding:.5rem .6rem;border:2px solid var(--wms-inkt);width:100%;min-height:60px;text-align:right;border-radius:0}
.wms-eenheid2{font-weight:800;font-size:1.1rem;white-space:nowrap}
.wms-knoppen{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.wms-knoppen .knop{min-height:48px;flex:1 1 auto;border-radius:0}.wms-groot{font-size:1.1rem;background:var(--wms-groen);border-color:var(--wms-groen)}
.wms-check{display:flex;align-items:center;gap:.5rem;margin:.6rem 0;font-size:.95rem}.wms-check input{width:1.3rem;height:1.3rem}
.wms-voorstel{margin:.5rem 0}.wms-voorstel>b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--wms-kraftd);margin-bottom:.3rem}
.wms-voorstelknop{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:48px;margin-bottom:.3rem;padding:.45rem .6rem;background:#fff;border:1px solid var(--wms-kraft);font:inherit;font-weight:700;color:var(--wms-inkt);text-align:left;cursor:pointer}
.wms-voorstelknop.ster{background:#FBF1E4;border-width:2px}.wms-voorstelknop small{font-weight:400;color:var(--wms-grijs);font-size:.78rem}
.wms-tekort{background:#FBF1E4;border-left:5px solid var(--wms-rood);padding:.55rem .7rem;margin:.5rem 0;font-size:.9rem}.wms-tekort .klein{display:block;margin-top:.2rem}.wms-tekortknop{margin-top:.4rem}
.wms-waarschuw{background:#FBF1E4;border-left:4px solid var(--wms-kraft);padding:.4rem .6rem;margin:.4rem 0;font-size:.88rem}
.wms-rood{color:var(--wms-rood);font-weight:700}
.wms-melding{padding:.5rem .7rem;margin:.5rem 0;font-weight:600;border-left:5px solid var(--wms-groen);background:#F2F7EF}.wms-melding[data-soort=fout]{border-color:var(--wms-rood);background:#FBECEA;color:var(--wms-rood)}.wms-melding[data-soort=let]{border-color:var(--wms-kraft);background:#FBF1E4}
.wms-flits{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(20px);opacity:0;transition:.15s;z-index:9999;max-width:calc(100vw - 24px);padding:.7rem 1rem;background:var(--wms-groen);color:#fff;font-weight:700;pointer-events:none}
.wms-flits.aan{opacity:1;transform:translateX(-50%) translateY(0)}.wms-flits[data-soort=fout]{background:var(--wms-rood)}.wms-flits[data-soort=let]{background:var(--wms-kraftd)}
.wms-venster{border:0;padding:1rem;max-width:min(96vw,420px);width:100%;background:#fff;color:var(--wms-inkt);font-family:inherit}.wms-venster::backdrop{background:rgba(29,29,27,.6)}
.wms-venster h2{font-size:1.05rem;margin:0 0 .5rem;padding-right:2rem}.wms-venster input{font:inherit;padding:.6rem;border:2px solid var(--wms-inkt);width:100%;box-sizing:border-box;min-height:48px;border-radius:0}
.wms-sluit{position:absolute;top:.3rem;right:.3rem;width:44px;height:44px;font-size:1.4rem;background:none;border:0;cursor:pointer;color:var(--wms-inkt)}
.wms-lijstvenster{max-height:90vh;overflow:auto}.wms-video{width:100%;max-height:60vh;background:#000}
.wms-tabel{width:100%;border-collapse:collapse;font-size:.9rem}.wms-tabel th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--wms-grijs);padding:.25rem .3rem;border-bottom:1px solid var(--wms-inkt)}.wms-tabel td{padding:.4rem .3rem;border-bottom:1px solid var(--wms-lijn);vertical-align:top}.wms-tabel .r,.wms-stuklijst .r{text-align:right;white-space:nowrap}
.wms-log{list-style:none;padding:0;margin:0;font-size:.85rem}.wms-log li{padding:.3rem 0;border-bottom:1px solid var(--wms-lijn)}
.wms-dragerlijst{list-style:none;padding:0;margin:.4rem 0;columns:2;font-size:.9rem}.wms-dragerlijst li.ok{color:var(--wms-groen);font-weight:700}
.wms-handtekening{margin:.6rem 0}.wms-handtekening canvas{display:block;width:100%;max-width:300px;height:120px;background:#fff;border:1px dashed var(--wms-grijs);touch-action:none}
.wms-uitleg{margin-top:1rem;font-size:.9rem}.wms-uitleg ol{padding-left:1.2rem}
.wms-nieuw{position:fixed;left:0;right:0;top:0;z-index:9998;background:var(--wms-kraftd);color:#fff;padding:.5rem .8rem;font-weight:600;display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap}.wms-nieuw .link{color:#fff}
/* Picken voor productie (gedeeld: scanner en Lijnplanning) */
.wms-pick{background:#fff;padding:.7rem .75rem}.wms-pickkop{margin-bottom:.4rem}
.wms-stuklijst{width:100%;border-collapse:collapse;font-size:.88rem;margin:.3rem 0 .6rem}.wms-stuklijst th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--wms-grijs);padding:.2rem .3rem;border-bottom:1px solid var(--wms-inkt)}
.wms-stuklijst td{padding:.4rem .3rem;border-bottom:1px solid var(--wms-lijn);vertical-align:top}.wms-stuklijst tr.klaar td{opacity:.6}.wms-stuklijst tr.tekort td:first-child{border-left:4px solid var(--wms-rood)}
.wms-scanvak{margin:.5rem 0}.wms-rij{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.wms-rij .knop{min-height:44px;border-radius:0}
.wms-gepickt summary{cursor:pointer;font-weight:600}.wms-gepickt ul{padding-left:1.1rem;font-size:.88rem}.wms-gepickt li{margin:.2rem 0}
.wms-dragers h3{font-size:.85rem;margin:.6rem 0 .3rem}.wms-dragerrij{font-size:.88rem;padding:.3rem 0;border-bottom:1px solid var(--wms-lijn)}.wms-dragerrij.vreemd{opacity:.55}
.wms-fout{color:var(--wms-rood);font-weight:600}
@media (min-width:700px){.wms-tegels{grid-template-columns:repeat(3,1fr)}.wms-tegel{min-height:64px}}
/* Lijnplanning: knop Materiaal picken en het onderdeel in het venster van een werkorder */
.wo-pickknop{display:inline-flex;align-items:center;gap:.3rem}
/* Voorraadinfo: WMS-tabbladen (voorraad-wms.js) */
.vw-kolom{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:.5rem 0}.vw-kolom input,.vw-kolom select{font:inherit;padding:.5rem .6rem;border:1px solid var(--lijn);border-radius:6px;background:#fff;width:auto;min-width:8rem}
.vw-stand{display:inline-block;padding:.05rem .45rem;border-radius:99px;font-size:.78rem;font-weight:700;background:#F2F7EF;color:#336029}.vw-stand.uit{background:#FBF1E4;color:#8A5F33}.vw-stand.fout{background:#F4DEDB;color:#A63D32}.vw-stand.wacht{background:#EEF2FA;color:#2F4F8F}
.vw-oefen{font-size:.72rem;color:#8A5F33;font-weight:700;margin-left:.3rem}
.vw-vergelijk{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;margin:.5rem 0 .8rem;max-width:40rem}.vw-vergelijk div{background:#fff;border:1px solid var(--lijn);padding:.5rem .7rem}.vw-vergelijk b{display:block;font-size:1.3rem}
.vw-balk{background:#FBF1E4;border-left:4px solid #B8895A;padding:.5rem .8rem;margin:.5rem 0}

/* ---------- Location Manager (/magazijn/locaties, enkel superbeheerders; public/locaties.js, WMS 8 nov 2026) ---------- */
/* WMS · Location Manager (/magazijn/locaties) */
.lm-zones{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.lm-zone{all:unset;box-sizing:border-box;cursor:pointer;padding:.25rem .6rem;border:1px solid #D9D4C7;background:#fff;font-size:.85rem}
.lm-zone b{font-weight:800;margin-right:.2rem}.lm-zone:hover{border-color:#8A5F33}.lm-zone:focus-visible{outline:2px solid #336029}
.lm-zone.actief{background:#1D1D1B;color:#F5F3EE;border-color:#1D1D1B}
.lm-tabel .lm-uit td{color:#8a867c}.lm-tabel td:first-child,.lm-tabel th:first-child{width:2rem}
.lm-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem .9rem;margin:.8rem 0}
.lm-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600}.lm-form input,.lm-form select{margin:0;width:100%}
.lm-schakel{display:flex;flex-direction:row!important;align-items:center;gap:.5rem!important}.lm-schakel input{width:auto!important}
.lm-his{list-style:none;margin:0;padding:0;max-height:14rem;overflow:auto}.lm-his li{padding:.25rem 0;border-bottom:1px solid #E7E2D6}

/* ---------- Magazijn · Leverbonnen (/magazijn/leverbonnen; public/leverbonnen.js, WMS 8 nov 2026) ---------- */
/* Scherm Magazijn · Leverbonnen (lbs-*); te plakken in de laatste laag van styles.css */
.lbs-main{padding-bottom:40px}
.lbs-kop h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lbs-badge{font-size:13px;font-weight:700;background:#B8895A;color:#fff;border-radius:99px;padding:3px 12px;letter-spacing:0}
.lbs-scan{margin:6px 0 14px}
.lbs-scan input{width:100%;max-width:460px;font:inherit;font-size:16px;padding:10px 14px;border:2px solid var(--green,#336029);border-radius:6px}
.lbs-filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:12px}
.lbs-filters input[type=search]{font:inherit;padding:7px 12px;border:1px solid #D8D2C6;border-radius:6px;min-width:240px}
.lbs-tabel td small{display:block;color:#67625A;font-size:12px}
.lbs-tabel td{vertical-align:top}
.lbs-knoppen{white-space:nowrap;text-align:right}
.lbs-knoppen .knop{margin-left:4px;text-decoration:none}
.lbs-stand{display:inline-block;font-size:12px;font-weight:700;border-radius:99px;padding:2px 10px;background:#EEE9DF;color:#4a463f}
.lbs-groen{background:#E3EFDD;color:#22421B}
.lbs-blauw{background:#DDE9F3;color:#1F4E79}
.lbs-kraft{background:#F1E4D2;color:#8A5F33}
.lbs-oranje{background:#FDE9C8;color:#8A5A00}
.lbs-rood{background:#F8D9D5;color:#9B2C20}
.lbs-grijs{background:#EEE9DF;color:#67625A}
.lbs-oefen{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#F8D9D5;color:#9B2C20;border-radius:4px;padding:1px 6px;margin-left:4px}

/* ---------- Tracering (/productie/tracering; public/tracering-scherm.js, WMS 8 nov 2026) ---------- */
/* Tracering van top tot rand (/productie/tracering; WMS 8 nov 2026): klassen tr-* , bij te voegen aan het eind van public/styles.css */
.tr-main h1{margin-bottom:.2rem}
.tr-demo{background:#FFF7E0;border-left:4px solid #B8895A;padding:.4rem .7rem;margin:.5rem 0;font-size:.9rem}
.tr-form{display:flex;gap:.6rem;margin:.9rem 0 .6rem}
.tr-veld{flex:1 1 auto;min-width:0;width:auto;margin:0;font-size:1.15rem;padding:.8rem 1rem}
.tr-rij{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;margin:.3rem 0 .8rem}
.tr-keuze{display:inline-flex;flex-wrap:wrap;background:#F5F3EE;border:1px solid #E2DDD3;border-radius:24px;padding:3px}
.tr-keuze button{border:0;background:none;font:inherit;font-weight:600;padding:.4rem .9rem;border-radius:20px;cursor:pointer;color:#67625A}
.tr-keuze button[aria-checked="true"]{background:#336029;color:#fff}
.tr-proef{border-radius:6px;padding:.6rem .9rem;margin:.2rem 0 .8rem;font-size:.95rem}
.tr-proef .stil{display:block;margin-top:.15rem}
.tr-proef.tr-ok{background:#EEF3EC;border:1px solid #336029}
.tr-proef.tr-slecht{background:#FBEAE8;border:1px solid #B3261E;color:#8A1C14}
.tr-kop{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid #E2DDD3;border-left:4px solid #B8895A;border-radius:6px;padding:.7rem 1rem;margin:.6rem 0}
.tr-acties{display:flex;flex-wrap:wrap;gap:.5rem;margin:.3rem 0}
.tr-nav{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin:.4rem 0 .8rem}
.tr-nav a{padding:.25rem .75rem;border:1px solid #E2DDD3;border-radius:16px;text-decoration:none;color:inherit;font-size:.9rem;background:#fff}
.tr-nav a:hover{border-color:#B8895A}
.tr-blok{margin:1.4rem 0;scroll-margin-top:1rem}
.tr-blok h2{font-size:1.15rem;margin:0 0 .4rem}
.tr-fout,.tr-gat{color:#8A1C14}
.tr-legende{font-size:.85rem;color:#67625A;margin:.2rem 0 .6rem}
/* Boom */
.tr-kn{border-left:2px solid #D9D3C7;margin:.25rem 0 .25rem .2rem;background:#fff;border-radius:0 6px 6px 0}
.tr-kn>summary{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;padding:.4rem .6rem;cursor:pointer;list-style:none}
.tr-kn>summary::-webkit-details-marker{display:none}
.tr-kn>summary::before{content:"▸";color:#67625A;width:1em;flex:0 0 auto}
.tr-kn[open]>summary::before{content:"▾"}
.tr-in{padding:.1rem .6rem .5rem 1.2rem}
.tr-in .tr-kn{margin-left:.2rem}
.tr-lot{all:unset;cursor:pointer;color:#22421B;text-decoration:underline;text-decoration-color:#B8895A;text-underline-offset:3px}
.tr-lot:hover{background:#EEF3EC}.tr-lot:focus-visible{outline:2px solid #336029}
.tr-wo>summary{background:#F5F3EE}
.tr-wolot{font-weight:700}
.tr-oms,.tr-meta{color:#67625A;font-size:.88rem}
.tr-aantal{font-variant-numeric:tabular-nums;font-weight:600}
.tr-feit{font-size:.9rem;padding:.12rem 0}
.tr-sub{padding-left:1.2rem}
.tr-stil,.tr-info{font-size:.88rem;color:#67625A;padding:.15rem 0}
.tr-gat{font-size:.9rem;padding:.2rem .5rem;margin:.2rem 0;background:#FBEAE8;border-left:3px solid #B3261E;border-radius:0 4px 4px 0}
.tr-gatkn{border-left-color:#B3261E}
.tr-lev{border-left:3px solid #2E7656;padding-left:.5rem;background:#F1F7F4}
.tr-voorraad{border-left:3px solid #B8895A;padding-left:.5rem;background:#FBF5EC}
.tr-ja{color:#2E7656;font-weight:700}.tr-nee{color:#B3261E;font-weight:700}
/* Etiketten */
.tr-b{display:inline-block;font-size:.76rem;font-weight:650;padding:.1rem .5rem;border-radius:10px;line-height:1.4}
.tr-groen{background:#DDEFE5;color:#1D5C41}
.tr-kraft{background:#F3E3CC;color:#6E4A22;border:1px dashed #B0814E}
.tr-grijs{background:#ECE9E2;color:#4F4A41}
.tr-rood{background:#FBEAE8;color:#8A1C14}
.tr-soort{background:#1F2B37;color:#fff;font-weight:600}
/* Tabellen */
.tr-wrap{max-height:30rem;overflow:auto;background:#fff;border:1px solid #E2DDD3;border-radius:6px;margin:.4rem 0}
.tr-tabel{border-collapse:collapse;width:100%;font-size:.86rem}
.tr-tabel th{position:sticky;top:0;background:#F5F3EE;text-align:left;white-space:nowrap;padding:.4rem .6rem;z-index:1}
.tr-tabel td{padding:.35rem .6rem;border-top:1px solid #EEEAE1;vertical-align:top}
.tr-tabel .r{text-align:right;font-variant-numeric:tabular-nums}
.tr-tabel .tr-pad{color:#67625A;font-size:.8rem;min-width:16rem}
.tr-nog td{background:#FBF5EC}
.tr-schat td{background:#FDF8F0}
.tr-fout-rij td{background:#FBEAE8}
.tr-filter{width:min(28rem,100%);margin:.2rem 0 .4rem}
@media (max-width:640px){.tr-form{flex-direction:column}.tr-veld{font-size:1rem}}

/* Orders → Artikels: "Klaar, niet geleverd" per artikel (9 nov 2026) */
.oa-perartikel .oa-get{text-align:right;white-space:nowrap}
.oa-perartikel .oa-get .klein,.oa-perartikel .oa-vr .klein{display:block;white-space:normal}
.oa-perartikel .oa-vr{white-space:nowrap}
.oa-perartikel .oa-vr b{font-size:1.05rem}
.oa-perartikel .oa-l:not(.oa-gereed){color:var(--grijs,#67625A)}
.oa-perartikel tr.oa-vervolg td{border-top:1px dashed var(--lijn)}
.oa-perartikel tr.oa-vervolg td:first-child{border-left:0}

/* WMS: TESTFASE (9 nov 2026): balk bovenaan de schermen, label op tegels, tabbladen en knoppen (public/wms-testfase.js) */
.wms-testfase{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;background:#B8895A;color:#fff;padding:.65rem 1rem;border-radius:8px;margin:0 0 1rem;font-size:.95rem;line-height:1.35}
.wms-testfase b{background:#fff;color:#7A5530;padding:.15rem .55rem;border-radius:4px;letter-spacing:.06em;font-size:.85rem}
.wms-testfase-label{display:none;background:#B8895A;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:.12rem .42rem;border-radius:4px;vertical-align:middle;margin-left:.35rem;white-space:nowrap}
body.wms-testfase-aan .wms-testfase-label{display:inline-block}
.filters .wms-testfase-label{align-self:center;margin:0 .15rem 0 .6rem}
.in-tegel .wms-testfase-label{margin:.45rem 0 0;align-self:flex-start;width:fit-content}
/* Gebouw → Documenten: huur en andere overeenkomsten als reeks van periodes */
.gd-kop{font-size:1rem;margin:1.1rem 0 .55rem}
.gd-reeks{border:1px solid var(--lijn);border-radius:10px;padding:.8rem 1rem;margin:0 0 .7rem;background:var(--papier,#fff)}
.gd-reeks-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem 1.25rem;flex-wrap:wrap}
.gd-reeks-acties{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.gd-periodes{list-style:none;margin:.65rem 0 0;padding:0 0 0 .85rem;border-left:2px solid var(--lijn)}
.gd-periodes li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .9rem;padding:.22rem 0}
.gd-periode{min-width:15.5rem;white-space:nowrap}
.gd-wie{margin-left:auto}
.gd-periodes li.gd-gat{color:var(--grijs);font-size:.85rem;font-style:italic}
.gd-versies{margin-top:.3rem}.gd-versies ul{margin:.25rem 0 0;padding:0 0 0 1rem}
@media(max-width:640px){.gd-wie{margin-left:0;width:100%}.gd-periode{min-width:0}}

/* Contracten & verzekeringen (9 nov 2026): kerncijfers passen ook op een smal scherm */
.vz-kpi b{font-size:1.4rem}

/* Dossier opladen (9 nov 2026): per bestand een rij */
.ct-dossierrij{border-top:1px solid var(--lijn);margin-top:.6rem;padding-top:.4rem}
