.rb{ border:1px solid var(--to-lijn); border-radius:12px; background:var(--to-vlak);
  margin-bottom:12px; }
.rb-bar{ display:flex; align-items:stretch; gap:2px; background:var(--to-papier);
  border-bottom:1px solid var(--to-lijn); padding:0 6px; flex-wrap:wrap; }
.rb-file{ border:0; background:var(--to-knop); color:var(--to-op-knop); font:inherit; font-size:.86rem;
  font-weight:600; padding:.5rem 1rem; cursor:pointer; border-radius:0; }
.rb-file:hover{ background:var(--to-knop-2); }
.rb-tab{ border:0; background:none; font:inherit; font-size:.86rem; color:var(--to-gedempt);
  padding:.5rem .9rem; cursor:pointer; border-bottom:2px solid transparent; }
.rb-tab:hover{ color:var(--to-merk); }
.rb-tab.actief{ color:var(--to-merk); font-weight:600; border-bottom-color:var(--to-merk); background:var(--to-vlak); }
.rb-doc{ margin-left:auto; align-self:center; font-size:.8rem; color:var(--to-gedempt);
  max-width:38ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 8px; }
.rb-eind{ display:flex; align-items:center; gap:4px; padding:0 4px; }
.rb{ --rb-inhoud:64px; --rb-rij:30px; --rb-tussen:4px; --rb-lblh:16px; }
.rb-paneel{ display:none; padding:6px 6px 3px; gap:0; align-items:stretch; flex-wrap:nowrap;
  overflow-x:auto; -webkit-overflow-scrolling:touch; }
.rb-paneel.actief{ display:flex; }
.rb-groep{ display:flex; flex-direction:column; justify-content:flex-start; gap:var(--rb-tussen);
  padding:0 8px; border-right:1px solid var(--to-lijn); min-height:calc(var(--rb-inhoud) + var(--rb-tussen) + var(--rb-lblh)); }
.rb-groep > .rb-rij:first-of-type, .rb-klapinhoud > .rb-rij:first-of-type{ margin-top:auto; }
.rb-groep > .rb-lbl{ margin-top:auto; }
.rb-groep:last-child{ border-right:0; }
.rb-stapel{ display:flex; flex-direction:column; justify-content:center; gap:var(--rb-tussen); }
.rb-stapel > .rb-rij{ min-height:var(--rb-rij); }
.rb-stapel .rb-knop:not(.groot){ justify-content:flex-start; flex:1 1 auto; }
.rb-stapel > .rb-rij > .rb-veld:only-child{ flex:1 1 auto; }
.rb-knop.rb-klapknop{ display:none; }
.rb-klapinhoud{ display:contents; }
.rb-groep.ingeklapt{ position:relative; }
.rb-groep.ingeklapt > .rb-lbl{ display:none; }
.rb-groep.ingeklapt > .rb-knop.rb-klapknop{ display:inline-flex; flex:1 1 auto; height:auto; justify-content:center; }
.rb-knop.rb-klapknop .rb-klappijl{ width:11px; height:11px; }
.rb-groep.ingeklapt > .rb-klapinhoud{ display:none; }
.rb-groep.ingeklapt.open > .rb-klapinhoud{ display:flex; flex-direction:column; gap:3px; position:absolute;
  top:calc(100% + 4px); left:0; z-index:55; background:var(--to-vlak); border:1px solid var(--to-lijn);
  border-radius:10px; box-shadow:var(--to-schaduw-diep); padding:8px; }
.rb-groep.ingeklapt.open.klap-rechts > .rb-klapinhoud{ left:auto; right:0; }
.rb-rij{ display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
.rb-lbl{ font-size:.68rem; color:var(--to-gedempt); text-align:center; letter-spacing:.02em; }
.rb-groep > .rb-lbl{ height:var(--rb-lblh); line-height:var(--rb-lblh); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.rb-groep.rb-info{ justify-content:center; flex:1 1 100px; min-width:100px; }
.rb-uitleg{ font-size:.72rem; line-height:1.3; color:var(--to-tekst-2); text-align:left;
  max-width:60ch; max-height:calc(var(--rb-inhoud) + var(--rb-tussen) + var(--rb-lblh));
  overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; }
.rb-uitleg:empty{ display:none; }
.rb-vink{ display:inline-flex; align-items:center; gap:5px; height:var(--rb-rij); font-size:.78rem;
  color:var(--to-tekst-2); white-space:nowrap; cursor:pointer; padding:0 4px; border-radius:6px; }
.rb-vink:hover{ background:var(--to-vlak-2); }
.rb-vink input{ margin:0; width:14px; height:14px; accent-color:var(--to-merk); }
.rb-teller{ font-size:.78rem; color:var(--to-tekst-2); min-width:7ch; text-align:center;
  font-variant-numeric:tabular-nums; }
#xlFnUitleg{ color:var(--to-tekst-2); font-size:.75rem; }
.rb-knop{ display:inline-flex; align-items:center; justify-content:center; gap:5px;
  border:1px solid transparent; background:none; color:var(--to-tekst); border-radius:6px;
  font:inherit; font-size:.82rem; padding:.32rem .5rem; cursor:pointer; min-width:30px;
  height:var(--rb-rij, 30px); white-space:nowrap; box-sizing:border-box; line-height:1.15; }
.rb-knop:hover{ background:var(--to-vlak-2); border-color:var(--to-lijn-2); }
.rb-knop:focus-visible, .rb-tab:focus-visible, .rb-file:focus-visible, .rb-vink:focus-within{
  outline:2px solid var(--to-merk); outline-offset:-2px; }
.rb-knop:active:not(:disabled){ background:color-mix(in srgb, var(--to-merk) 10%, var(--to-vlak-2)); }
.rb-knop.aan{ background:color-mix(in srgb, var(--to-merk) 16%, var(--to-vlak)); border-color:color-mix(in srgb, var(--to-merk) 45%, var(--to-vlak)); }
.rb-knop.groot{ flex-direction:column; justify-content:center; height:var(--rb-inhoud, 64px);
  min-width:58px; padding:.3rem .45rem; font-size:.72rem; gap:5px; line-height:1.15; }
.rb-knop.groot svg{ width:22px; height:22px; }
.rb-knop.groot .rb-klappijl{ width:11px; height:11px; margin-top:-2px; }
.rb-knop.groot > span{ overflow-wrap:anywhere; hyphens:auto; }
.rb-knop svg{ width:16px; height:16px; flex-shrink:0; }
.rb-rij{ min-height:30px; }
.rb-knop.primair{ background:var(--to-knop); border-color:var(--to-knop); color:var(--to-op-knop); font-weight:600; }
.rb-knop.primair:hover{ background:var(--to-knop-2); }
.rb-knop:disabled{ opacity:.42; cursor:default; }
.rb-knop:disabled:hover{ background:none; border-color:transparent; }
.rb .rb-veld{ width:auto; display:inline-block; appearance:auto; padding:.28rem .45rem;
  border:1px solid var(--to-lijn-2); border-radius:6px; background:var(--to-vlak); color:var(--to-tekst);
  font:inherit; font-size:.82rem; height:30px; box-shadow:none; }
.rb .rb-veld:focus{ border-color:var(--to-merk); box-shadow:0 0 0 3px color-mix(in srgb, var(--to-merk) 22%, transparent); outline:none; }
.rb select.rb-veld{ appearance:none; -webkit-appearance:none; padding-right:22px; cursor:pointer;
  text-overflow:ellipsis; background-repeat:no-repeat;
  background-image:linear-gradient(45deg,transparent 50%,var(--to-gedempt) 50%),linear-gradient(135deg,var(--to-gedempt) 50%,transparent 50%);
  background-position:calc(100% - 13px) 55%,calc(100% - 9px) 55%; background-size:4px 4px; }
.rb select.rb-veld:disabled{ cursor:default; opacity:.55; }
.rb .rb-veld::placeholder{ color:var(--to-gedempt-2); opacity:1; }
.rb .rb-veld.stijl{ width:140px; }
.rb .rb-veld.font{ width:136px; }
.rb .rb-veld.middel{ width:128px; }
.rb .rb-veld.maat{ width:82px; }
.rb .rb-veld.breed{ width:236px; }
.rb .rb-veld.zoek{ width:132px; }
.rb #wdFind, .rb #wdRepl{ width:104px; }
.rb-knop.smal{ min-width:24px; width:24px; padding-left:0; padding-right:0; }
.pt-row.xp-rij{ align-items:flex-start; gap:18px 26px; margin-top:14px; }
.xp-verborgen{ color:var(--to-gedempt); font-size:.84rem; }
.xp-melding{ margin:12px 0 0; padding:10px 14px; border-radius:10px; border:1px solid var(--to-lijn-2); background:var(--to-vlak-2); color:var(--to-tekst); font-size:.88rem; line-height:1.5; display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.xp-melding p{ margin:0; flex:1 1 320px; }
.xp-pv-cap.veel{ color:var(--to-tekst); font-weight:600; }
@media (max-width:640px){
  .xp-rij{ flex-direction:column; gap:14px; }
  .xp-rij > .pt-field, .xp-rij > .xp-vink{ width:100%; }
  .xp-rij .pt-input, .xp-rij select{ width:100%; box-sizing:border-box; }
  .xp-bladen{ max-height:190px; }
}
.xp-bladen{ display:flex; flex-direction:column; gap:4px; max-height:150px; overflow:auto; font-size:.9rem; }
.xp-bladen label{ display:flex; gap:7px; align-items:center; }
.xp-vink{ display:inline-flex; gap:7px; align-items:center; font-size:.9rem; color:var(--to-tekst-2); }
.xp-pagina{ margin-top:14px; font-size:.9rem; }
.xp-pagina summary{ cursor:pointer; color:var(--to-tekst-2); }
.xp-pagina .xp-breed{ flex:1 1 260px; }
.xp-pagina .xp-breed .pt-input{ width:100%; box-sizing:border-box; }
.xp-hint{ margin:8px 0 0; font-size:.82rem; color:var(--to-tekst-2); }
.xp-prog{ height:6px; background:var(--to-vlak-2); border-radius:99px; overflow:hidden; margin:10px 0 4px; }
.xp-prog i{ display:block; height:100%; width:0; background:var(--to-merk); transition:width .15s; }
.xp-pv-wrap{ margin-top:14px; }
.xp-pv-cap{ font-size:.82rem; color:var(--to-gedempt); margin-bottom:6px; }
.po-raster{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; margin-top:14px; }
.po-dia{ border:1px solid var(--to-lijn-2); border-radius:10px; background:var(--to-vlak); padding:8px; cursor:grab; min-width:0; }
.po-dia:focus-visible{ outline:2px solid var(--to-merk); outline-offset:2px; }
.po-dia img{ display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border:1px solid var(--to-lijn); border-radius:6px; background:#fff; pointer-events:none; }
.po-dia.verborgen img{ opacity:.35; }
.po-dia.sleept{ opacity:.45; }
.po-dia.voor{ box-shadow:-4px 0 0 0 var(--to-merk); }
.po-dia.na{ box-shadow:4px 0 0 0 var(--to-merk); }
.po-kop{ display:flex; justify-content:space-between; gap:8px; font-size:.82rem; color:var(--to-gedempt); margin:6px 2px 6px; }
.po-kop b{ color:var(--to-tekst); }
.po-knoppen{ display:flex; flex-wrap:wrap; gap:4px; }
.po-knoppen button{ font:inherit; font-size:.74rem; line-height:1.2; padding:4px 6px; min-height:26px; min-width:22px; border:1px solid var(--to-lijn-2); border-radius:6px; background:var(--to-vlak); color:var(--to-tekst); cursor:pointer; }
.po-knoppen button:hover:not(:disabled){ background:var(--to-vlak-2); }
.po-knoppen button:disabled{ opacity:.4; cursor:default; }
.po-dia{ -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
.po-dia.po-vast{ opacity:.6; box-shadow:0 6px 18px rgba(0,0,0,.18); }
@media (pointer:coarse){ .po-knoppen button{ min-height:34px; min-width:34px; padding:6px 9px; } }
@media (max-width:520px){ .po-raster{ grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; } }
.xp-pv{ display:block; max-width:100%; height:auto; border:1px solid var(--to-lijn-2); border-radius:8px; background:#fff; box-shadow:var(--to-schaduw); }
.pt-drop.xp-klein{ display:flex; align-items:center; gap:10px; padding:10px 14px; text-align:left; border-style:solid; }
.pt-drop.xp-klein svg{ width:20px; height:20px; flex-shrink:0; }
.pp-beeld-groep, .po-stappen{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pp-beeld-groep:not(:has(> :not(.pt-hidden))){ display:none; }
@media (max-width:520px){ .pt-actions > .pp-beeld-groep{ flex:1 1 100%; } .pp-beeld-groep > .pt-btn{ flex:1 1 auto; justify-content:center; min-height:44px; } }
#ppPvWrap .xp-pv-cap{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 6px; }
.pt-drop.xp-klein .big{ font-size:.86rem; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pt-drop.xp-klein .big:has(> .xp-nm){ display:flex; }
.xp-nm{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.xp-sz{ flex:0 0 auto; white-space:nowrap; margin-left:.3em; }
.pt-drop.xp-klein .small{ font-size:.78rem; margin:0 0 0 auto; white-space:nowrap; color:var(--to-merk); font-weight:600; }
.rb #wdKast{ width:62px; }
@media (min-width:721px) and (max-width:1500px){
  .rb-paneel.actief{ flex-wrap:wrap; row-gap:6px; overflow-x:visible; }
}
.rb-sep{ width:1px; align-self:stretch; background:var(--to-lijn); margin:0 3px; }
.rb-menu{ position:absolute; z-index:60; min-width:230px; background:var(--to-vlak);
  border:1px solid var(--to-lijn); border-radius:10px; box-shadow:var(--to-schaduw-diep);
  padding:6px; display:none; }
.rb-menu.open{ display:block; }
.rb-menu button{ display:flex; align-items:center; gap:9px; width:100%; border:0;
  background:none; font:inherit; font-size:.86rem; color:var(--to-tekst); text-align:left;
  padding:.5rem .6rem; border-radius:7px; cursor:pointer; }
.rb-menu button:hover{ background:var(--to-vlak-2); }
.rb-menu hr{ border:0; border-top:1px solid var(--to-lijn); margin:5px 2px; }
.rb-menu .snel{ margin-left:auto; font-size:.72rem; color:var(--to-gedempt-2); }
.pt-ctx{ position:fixed; z-index:9999; min-width:212px; background:var(--to-vlak);
  border:1px solid var(--to-lijn); border-radius:11px; padding:5px;
  box-shadow:0 16px 44px -14px rgba(15,23,42,.5); font-size:.86rem;
  max-height:calc(100vh - 8px); overflow-y:auto; overscroll-behavior:contain; }
.pt-ctx .pt-ctx-sub::after{ content:"\203A"; margin-left:auto; padding-left:12px; color:var(--to-gedempt-2); }
.pt-ctx button{ display:flex; align-items:center; gap:9px; width:100%; border:0;
  background:none; text-align:left; padding:.42rem .6rem; border-radius:7px;
  font:inherit; color:var(--to-tekst); cursor:pointer; }
.pt-ctx button:hover:not(:disabled){ background:var(--to-vlak-2); }
.pt-ctx button:disabled{ color:var(--to-gedempt-2); cursor:default; }
.pt-ctx .snel{ margin-left:auto; font-size:.72rem; color:var(--to-gedempt-2); }
.pt-ctx hr{ border:0; border-top:1px solid var(--to-lijn); margin:4px 2px; }
.rb-fnwrap{ display:flex; align-items:center; gap:5px; }
.rb-fnlijst{ max-height:260px; overflow:auto; }
.rb-fnlijst button{ font-family:'JetBrains Mono',monospace; font-size:.8rem; }
.xl-bladbalk{ margin:0; padding:6px 4px 0; border-top:1px solid var(--to-lijn); }
.xl-wrap.geen-raster .xl-grid td{ border-color:transparent; --xl-raster:transparent; }
@media (max-width:720px){
  .rb-groep{ padding:0 6px; }
  .rb-lbl{ display:none; }
  .rb-doc{ display:none; }
  .rb-rij{ flex-wrap:wrap; }
  .rb .rb-veld.stijl, .rb .rb-veld.font{ min-width:96px; }
  .rb .rb-veld.zoek{ min-width:88px; }
  .rb-bar{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; }
  .rb-bar::-webkit-scrollbar{ display:none; }
  .rb-bar > *{ flex:0 0 auto; }
  .rb-paneel{ flex-wrap:nowrap; scrollbar-width:none; min-height:0 !important; }
  .rb-paneel::-webkit-scrollbar{ display:none; }
  .rb-groep{ flex:0 0 auto; }
  .rb-paneel .rb-groep:has(> .rb-lbl:only-child), .rb-paneel .rb-groep.rb-info{ display:none; }
  .rb-groep{ min-height:0; justify-content:center; }
  .rb-groep > .rb-rij:first-of-type, .rb-klapinhoud > .rb-rij:first-of-type{ margin-top:0; }
  .rb .rb-veld.zoek{ width:150px; }
  .rb .rb-veld.maat{ width:92px; }
  .xl-wrap{ max-height:none; }
  .xl-fx{ min-width:0; }
  #dlpalBtn{ display:none; }
}
html.vs-vol, html.vs-vol body{ height:100%; overflow:hidden; }
html.vs-vol .pt-shell{ max-width:none; margin:0; padding:0; height:100vh;
  display:flex; flex-direction:column; }
html.vs-vol .pt-shell{ transition:padding-top .25s ease; }
html.vs-vol.vs-melding .pt-shell{ padding-top:52px; background:var(--to-papier); }
html.vs-vol #dlpalBtn{ display:none !important; }
.rb-app-logo{ display:none; }
html.vs-vol .rb-app-logo{ display:block; flex:0 0 auto; align-self:center; width:22px; height:22px; margin:0 6px 0 8px; border-radius:5px; }
html.vs-vol .pt-top, html.vs-vol .pt-sub, html.vs-vol .pt-note,
html.vs-vol .pt-privacy, html.vs-vol .pt-hubnav, html.vs-vol .pt-footer,
html.vs-vol .vz-balk, html.vs-vol #wdDropCard, html.vs-vol #xlDropCard,
html.vs-vol .pt-status, html.vs-vol .pt-related,
html.vs-vol #xlStatus, html.vs-vol #wdStatus{ display:none !important; }
html.vs-vol .pt-card{ flex:1 1 auto; min-height:0; margin:0; border-radius:0;
  border:0; box-shadow:none; display:flex; flex-direction:column; padding:0; }
html.vs-vol .rb{ border-radius:0; border-left:0; border-right:0; border-top:0; margin:0; }
html.vs-vol .rb-doc{ display:block; }
html.vs-vol .xl-wrap{ flex:1 1 auto; min-height:0; max-height:none; border-radius:0;
  border-left:0; border-right:0; }
html.vs-vol .wd-pagewrap{ flex:1 1 auto; min-height:0; max-height:none; border-radius:0;
  border-left:0; border-right:0; }
html.vs-vol .pt-actions{ display:none; }
html.vs-vol .ot-onderbalk{ display:flex; flex:0 0 auto; padding:4px 12px;
  font-size:.75rem; }
html.vs-vol .pt-status{ margin:0; padding:4px 12px; font-size:.78rem; }