/* Gedeelde oppervlakken en bediening, ook voor dynamisch ingevoegde schermen. */
:root {--bediening-achtergrond:linear-gradient(135deg,#387b98 20%,#6a9cb2 40%,#234c5e 80%);}
/* Bedieningsknoppen delen één patroon. Onderdelen met eigen opmaakinstellingen
   en de tekstlink Wachtwoord vergeten behouden hun eigen presentatie. */
body :is(button,input[type="submit"],input[type="button"],.standaard-knop,.apparaat-installatieknop):not(:where(.help-vraagteken,.windows-taakbalk *,.applicatie-titelbalk *,.radio-paneel *,.kleur-voorbeeld *,.kleur-menu-demo *,[data-kleur-deel],[data-verloop-punt],.aanmeld-vergeten)) {
    background:var(--bediening-achtergrond)!important;
    color:var(--kleur-icoontekst,#f3df9f)!important;
    border-color:var(--kleur-icoontekst,#f3df9f)!important;
    border-style:solid;border-width:1px;border-radius:8px;
    box-shadow:inset 0 1px 1px #fff7,inset 0 -1px 1px #0002,0 2px 3px #0003;
}
body :is(button,input[type="submit"],input[type="button"],.standaard-knop,.apparaat-installatieknop):active:not(:disabled):not(:where(.help-vraagteken,.windows-taakbalk *,.applicatie-titelbalk *,.radio-paneel *,.kleur-voorbeeld *,.kleur-menu-demo *,[data-kleur-deel],[data-verloop-punt],.aanmeld-vergeten,.chat-gesprekkeuze)) {box-shadow:inset 0 2px 4px #0004,inset 0 -1px 1px #fff4;}
body :is(select,input[type="search"],[data-gebruikerszoek],[data-organisatiefilter]) {
    background:var(--bediening-achtergrond)!important;
    color:var(--kleur-icoontekst,#f3df9f)!important;
    border:1px solid var(--kleur-icoontekst,#f3df9f)!important;border-radius:8px;
}
body select :is(option,optgroup) {background:var(--kleur-icoon,#387b98);color:var(--kleur-icoontekst,#f3df9f);}
body input[type="search"]::placeholder {color:var(--kleur-icoontekst,#f3df9f);opacity:.8;}
body table th {
    background:var(--bediening-achtergrond)!important;
    color:var(--kleur-icoontekst,#f3df9f)!important;
    border:1px solid var(--kleur-icoontekst,#f3df9f)!important;
}
body table th[aria-sort] {box-shadow:inset 0 -3px var(--kleur-icoontekst,#f3df9f);}
body button[aria-selected="true"]:not(:where(.help-vraagteken,.kleur-voorbeeld *,.kleur-menu-demo *)) {box-shadow:inset 0 -3px currentColor;font-weight:700;}
body :is(button,select,input[type="search"],.standaard-knop):focus-visible {outline:2px solid currentColor;outline-offset:3px;}
body :is(button,input[type="submit"],input[type="button"]):disabled {opacity:.55;cursor:default;}
.gebruikers-filters {display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin:14px 0;}
body .gebruikers-filters > label {flex:0 1 240px;display:block;min-width:0;max-width:100%;margin:0;font-weight:600;text-align:left;}
body .gebruikers-filters > .gebruikers-zoeken {flex-basis:300px;}
body .gebruikers-filters :is(select,input) {box-sizing:border-box;display:block;width:100%;min-height:40px;margin:6px 0 0;padding:8px 10px;}
body .gebruikers-acties {gap:6px;}
body .gebruikers-acties button {padding:6px 9px;white-space:nowrap;}
body :is(table button,.gebruikers-acties button,.standaard-knop) {
    background:var(--bediening-achtergrond,linear-gradient(135deg,#387b98 20%,#92b6c6 40%,#234c5e 80%));
    color:var(--kleur-icoontekst,#f3df9f);
    border:1px solid var(--kleur-icoontekst,#f3df9f);
    border-radius:8px;padding:8px 12px;min-height:40px;font:inherit;cursor:pointer;
}
body .radio-zendertabel thead button {
    background:var(--bediening-achtergrond,linear-gradient(135deg,#387b98 20%,#92b6c6 40%,#234c5e 80%));
    color:var(--kleur-icoontekst,#f3df9f);border:1px solid var(--kleur-icoontekst,#f3df9f);
    border-radius:8px;padding:8px 12px;
}
.standaard-knop {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;}
.standaard-knop:focus-visible {outline:2px solid currentColor;outline-offset:3px;}
body :is(.instellingen-kaart,.pagina-melding,.bureaublad-tekstkader,.gebruiker-accountopties,.gebruikers-tabelvak,.radio-incident,.radio-beheer details,.opmaak-keuze,.groep-optie,.venster-status,.aanmeld-foutpopup,.herstel-kaart,.instellingen-bevestiging,.profiel-dialog,.sessie-heraanmelden,.kleur-dialoog) {
    background:var(--kleur-icoontekst,#f3df9f);
    color:var(--vlak-tekst,#000);
}
/* Bureaubladvlakken: 25% transparant; tekst en binnenrand blijven volledig dekkend. */
body :is(.bureaublad-tekstkader,.sessie-heraanmelden) {
    background:rgba(255,255,255,.75)!important;
    box-shadow:inset 0 1px 2px #fff9,inset 0 -1px 1px #0002,0 5px 14px #0005!important;
}
body :is(.gebruikers-tabel,.radio-zendertabel) {background:var(--kleur-icoontekst,#f3df9f);color:var(--vlak-tekst,#000);}
body :is(.gebruikers-tabel tbody tr:nth-child(even),.radio-zendertabel tbody tr[data-station-id]:hover) {background:color-mix(in srgb,var(--kleur-icoontekst,#f3df9f),var(--vlak-tekst,#000) 7%);}
body :is(.instellingen-kaart,.pagina-melding,.bureaublad-tekstkader,.gebruiker-accountopties,.radio-incident,.herstel-kaart,.instellingen-bevestiging,.profiel-dialog,.sessie-heraanmelden,.kleur-dialoog,.aanmeld-foutpopup) :is(h1,h2,h3,p,label,legend,small,strong):not(:where(.help-vraagteken,.kleur-voorbeeld *,.kleur-menu-demo *)) {
    color:var(--vlak-tekst,#000);
}
body :is(.instellingen-kaart,.pagina-melding,.bureaublad-tekstkader,.herstel-kaart) a:not(.standaard-knop):not(.apparaat-installatieknop):not(:where(.help-vraagteken,.kleur-menu-demo *,.groep-opties *)) {color:var(--vlak-tekst,#000);text-decoration:underline;}
body .bureaublad-gebruikersnaam,body .bureaublad-websitetitel,body [data-aanmeld-vlak] .aanmeld-vergeten {color:var(--vlak-tekst,#000);}
/* Native checkbox-semantiek blijft behouden: alleen de presentatie is aangepast. */
body input[type="checkbox"] {
    appearance:none!important;-webkit-appearance:none!important;
    display:inline-grid!important;place-content:center;vertical-align:middle;
    width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
    flex:0 0 20px!important;padding:0!important;
    background:var(--bediening-achtergrond,linear-gradient(135deg,#387b98 20%,#92b6c6 40%,#234c5e 80%))!important;
    border:1px solid var(--kleur-icoontekst,#f3df9f)!important;border-radius:4px;
    color:var(--kleur-icoontekst,#f3df9f)!important;cursor:pointer;
    box-shadow:0 0 0 1px var(--vlak-tekst,#000);
}
body input[type="checkbox"]::before {
    content:'';display:block;width:13px;height:13px;background:currentColor;
    clip-path:polygon(5% 48%,22% 33%,42% 54%,79% 8%,97% 24%,43% 91%);
    visibility:hidden;
}
body input[type="checkbox"]:checked::before {visibility:visible;}
body input[type="checkbox"]:indeterminate::before {visibility:visible;clip-path:inset(40% 5%);}
body input[type="checkbox"]:focus-visible {outline:2px solid var(--vlak-tekst,#000);outline-offset:4px;}
body input[type="checkbox"]:disabled {opacity:.5;cursor:default;}
body input[type="checkbox"][hidden] {display:none!important;}
@media(forced-colors:active){body input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important;background:Canvas!important;color:CanvasText!important;box-shadow:none;}body input[type="checkbox"]::before{display:none;}}

body input[type="file"]::file-selector-button {background:var(--bediening-achtergrond);color:var(--kleur-icoontekst,#f3df9f);border:1px solid var(--kleur-icoontekst,#f3df9f);border-radius:8px;padding:8px 12px;font:inherit;cursor:pointer;}

/* Ja/Nee en Alle/Ja/Nee gebruiken dezelfde checkboxbediening op alle schermen. */
body select.ja-nee-bron{display:none!important}
.ja-nee-keuze{display:inline-flex;align-items:center;gap:8px;min-height:40px;vertical-align:middle}
.ja-nee-keuze[hidden]{display:none!important}
body .ja-nee-keuze input[type=checkbox]:indeterminate::before{visibility:visible;clip-path:none;background:#333;border-radius:1px;width:12px;height:12px;box-shadow:0 0 0 1px #fff}
body .gebruikers-filters>.gebruikers-organisatietekst{margin:0;min-height:44px;display:flex;align-items:center;line-height:1.3}

/* Ruimte voor en na ieder aanvinkvakje, ook naast lopende labeltekst. */
body input[type=checkbox]{margin-inline:7px!important}
/* De algemene grens hoort buiten het organisatievlak te staan. */
.chat-instellingenformulier{background:transparent;border:0;padding:0}
.chat-instellingenformulier>.chat-hoofdvlak{display:block;box-sizing:border-box;width:100%;margin:0 0 28px;padding:18px;border-radius:12px}
.chat-hoofdvlak legend{padding:0 8px}
/* Eén scrollgebied: de vensterinhoud. Kolomkoppen blijven boven de rijen. */
body [data-chat-moderatie] .chat-beheertabel{overflow:visible;max-height:none}
[data-chat-moderatie] table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}
[data-chat-moderatie] :is(th,td){overflow-wrap:anywhere;max-width:none}
[data-chat-moderatie] thead th{position:sticky;top:0;z-index:5}
[data-chat-moderatie] td button{max-width:100%;white-space:normal}

/* Dezelfde verticale uitlijning op alle schermen. */
body input[type=checkbox]{margin-block:0!important;vertical-align:middle!important;align-self:center}
body label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px}
body .ja-nee-keuze{vertical-align:middle;align-items:center;align-self:center;margin-block:0}
body .chat-instellingenformulier .chat-instelregel{display:grid;grid-template-columns:minmax(180px,260px) 85px minmax(160px,1fr);align-items:center;gap:12px;margin:16px 0;text-align:left}
body .chat-instelregel>span{margin:0;line-height:1.4}
body .chat-instelregel .ja-nee-keuze{grid-column:2;margin:0;justify-self:stretch;justify-content:flex-start}
body .chat-instelregel .chat-insteluitleg{grid-column:3}
body .chat-instellingenformulier .chat-dagenregel input{grid-column:2;width:85px;min-width:0;margin:0;box-sizing:border-box}
[data-radio-selectie-vak][hidden]{display:none!important}
@media(max-width:650px){body .chat-instellingenformulier .chat-instelregel{grid-template-columns:minmax(0,1fr) 85px}body .chat-instelregel .chat-insteluitleg{grid-column:1/-1}}

/* Gedeelde bediening is geen selecteerbare documenttekst. Dit geldt ook voor
   later geopende controls, hun afbeeldingen en de voorbeelden in het beheer. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],[role="button"],.standaard-knop,.apparaat-installatieknop,.groep-optie,.windows-menu .menu-item>a,.window-navigatie-pulldown :is(a,summary),[data-website-onderdeel="menu_button"],[data-website-onderdeel="taskbar_button"],[data-website-onderdeel="screen_button"],[data-website-onderdeel="component_button"],.bureaublad-uitlogtimer),
body :is(button,[role="button"],.standaard-knop,.apparaat-installatieknop,.groep-optie,.windows-menu .menu-item>a,.window-navigatie-pulldown :is(a,summary),[data-website-onderdeel="menu_button"],[data-website-onderdeel="taskbar_button"],[data-website-onderdeel="screen_button"],[data-website-onderdeel="component_button"],.bureaublad-uitlogtimer) * {
    -webkit-user-select:none!important;user-select:none!important;
    -webkit-touch-callout:none;
    -webkit-tap-highlight-color:transparent;
}
body :is(button,[role="button"],.standaard-knop,.windows-menu .menu-item>a,.window-navigatie-pulldown a) img {-webkit-user-drag:none;}
/* Bewerkbare velden houden hun gewone selectie, ook in een samengestelde control. */
body :is(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),textarea,[contenteditable=""],[contenteditable="true"],[contenteditable="plaintext-only"]) {
    -webkit-user-select:text!important;user-select:text!important;
    -webkit-touch-callout:default;
}