.editor-oppervlak { display: flex; min-height: 0; flex-direction: column; overflow: hidden; }
.editor-bediening { display: flex; min-height: 42px; flex: 0 0 42px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #c8c6c4; padding: 4px 8px 4px 12px; background: #fff; }
.editor-documenttitel { display: flex; min-width: 0; align-items: center; gap: 9px; }
.editor-documenttitel strong { min-width: 0; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.editor-documenttitel .validatiekop { flex: 0 0 auto; }
.editor-indeling-acties { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; }
.editor-indeling-acties fluent-button.icoon-knop { width: 32px; min-width: 32px; height: 32px; }
.editor-indeling-acties fluent-button.icoon-knop.actief { color: var(--primair); background: var(--secundair); }
.lint { display: flex; min-height: 88px; gap: 0; border-bottom: 1px solid #c8c6c4; background: #fff; box-shadow: 0 2px 5px #0000000d; }
.lint-groep { display: flex; min-width: 150px; flex-direction: column; justify-content: space-between; padding: 8px 10px 4px; border-right: 1px solid #e1dfdd; }
.lint-groep small { color: #605e5c; text-align: center; }
.lint-knoppen { display: flex; min-height: 50px; align-items: flex-start; gap: 4px; }
.lint fluent-button { min-width: 52px; }
.lint-keuzemenu { position: relative; }
.lint-keuzemenu > summary { display: flex; min-height: 32px; align-items: center; gap: 7px; border: 1px solid transparent; padding: 5px 9px; cursor: pointer; list-style: none; }
.lint-keuzemenu > summary::-webkit-details-marker { display: none; }
.lint-keuzemenu > summary::after { content: "v"; color: var(--subtiel); font-size: 10px; }
.lint-keuzemenu > summary:hover, .lint-keuzemenu[open] > summary { border-color: var(--lijn); background: #f5f5f5; }
.lint-menu-inhoud { display: grid; position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; width: min(310px, calc(100vw - 24px)); max-height: min(420px, calc(100dvh - 150px)); overflow-y: auto; border: 1px solid #c7c7c7; border-radius: 4px; padding: 4px; background: #fff; box-shadow: 0 8px 20px #00000026; }
.lint-menu-inhoud button { display: grid; min-width: 0; gap: 2px; border: 0; padding: 8px 10px; color: inherit; background: #fff; text-align: left; }
.lint-menu-inhoud button:hover, .lint-menu-inhoud button:focus-visible { background: #f0f6f2; outline: 1px solid var(--primair); }
.lint-menu-inhoud button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lint-menu-inhoud button small { color: var(--subtiel); text-align: left; }
.editor-raster { display: grid; min-height: 0; flex: 1 1 auto; grid-template-columns: minmax(250px, 290px) minmax(520px, 1fr) minmax(300px, 320px); overflow: hidden; }
.editor-raster.zonder-linkernavigatie { grid-template-columns: minmax(520px, 1fr) 330px; }
.editor-raster.zonder-inspector { grid-template-columns: 290px minmax(520px, 1fr); }
.editor-raster.zonder-linkernavigatie.zonder-inspector { grid-template-columns: minmax(0, 1fr); }
.document-navigatie, .detailpaneel { min-height: 0; overflow-y: auto; background: #fafafa; }
.document-navigatie { border-right: 1px solid var(--lijn); }
.document-navigatie:focus-within, .detailpaneel:focus-within { box-shadow: inset 0 0 0 1px #0f6cbd; }
.document-navigatie header { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 8px; }
.document-navigatie .nav-regel.post { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 5px; }
.document-navigatie .nav-regel.post span { font-family: "Cascadia Mono", Consolas, monospace; }
.document-navigatie .nav-regel.post strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-navigatie .nav-regel.veld { border-left: 2px solid transparent; }
.document-navigatie .nav-regel.veld.actief { border-left-color: var(--primair); background: var(--secundair); }
.werkblad { min-width: 0; min-height: 0; overflow: auto; padding: 18px 22px 44px; background: #fff; }
.werkblad > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.werkblad h1 { margin: 2px 0 0; }
.documenttype { color: var(--primair); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.validatiekop { padding: 5px 8px; border-radius: 3px; font-size: 12px; }
.validatiekop.geldig { color: #0b5a28; background: #dff6dd; }
.validatiekop.ongeldig { color: #8a1c12; background: #fde7e9; }
.werkblad-sectie { padding: 16px 0; border-top: 1px solid var(--lijn); }
.werkblad-sectie table tr.geselecteerd { background: #e5f1eb; box-shadow: inset 3px 0 var(--primair); }
.tabel-omhulsel { max-width: 100%; overflow-x: auto; }
.postenblad table { min-width: 840px; table-layout: fixed; }
.postenblad .kolom-code { width: 96px; }
.postenblad .kolom-deficode { width: 44px; text-align: center; }
.postenblad .kolom-omschrijving { width: 260px; }
.postenblad .kolom-klein { width: 76px; }
.postenblad .kolom-getal { width: 112px; }
.postenblad .kolom-status { width: 132px; }
.postenblad td:nth-child(n) { overflow-wrap: anywhere; }
.postenblad tr.post-geselecteerd { background: #f3f8f5; }
.postenblad td.postveld { padding: 0; }
.postenblad td.postveld button { width: 100%; min-height: 36px; border: 0; padding: 7px 8px; color: inherit; background: transparent; text-align: left; }
.postenblad td.postveld button:hover { background: #edf5f0; }
.postenblad td.postveld.geselecteerd { background: #dff0e7; box-shadow: inset 0 -2px var(--primair); }
.detailpaneel { border-left: 1px solid var(--lijn); }
.detailpaneel > nav { display: grid; grid-template-columns: repeat(3, 1fr); position: sticky; top: 0; z-index: 1; background: #fff; }
.detailpaneel > nav button { min-height: 38px; border: 0; border-bottom: 2px solid transparent; background: #fff; }
.detailpaneel > nav button.actief { color: var(--primair); border-bottom-color: var(--primair); font-weight: 650; }
.detailpaneel > nav button:focus-visible { position: relative; z-index: 2; outline-offset: -2px; }
.detailpaneel > section { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
.detailpaneel dl { display: grid; grid-template-columns: 85px 1fr; gap: 7px; }
.detailpaneel dt { color: var(--subtiel); }
.detailpaneel dd { margin: 0; overflow-wrap: anywhere; }
.alleen-lezen { padding: 8px; border-left: 3px solid #8a8886; background: #f3f2f1; }
.attribuut-control { display: flex; flex-direction: column; gap: 4px; padding: 10px 0; border-top: 1px solid var(--lijn); }
.attribuut-control small { color: var(--subtiel); }
.attribuut-uitleg { margin: 0; color: var(--subtiel); font-size: 12px; }
.attribuut-kop, .attribuut-acties { display: flex; align-items: center; gap: 8px; }
.attribuut-kop { justify-content: space-between; }
.attribuut-kop h4 { margin: 0; }
.attribuut-status { color: var(--subtiel); font-size: 11px; }
.attribuut-acties { margin-top: 4px; }
.attribuut-actie { min-height: 28px; padding: 3px 8px; border: 1px solid var(--lijn); background: #fff; color: var(--tekst); cursor: pointer; }
.attribuut-actie:hover { border-color: var(--primair); background: #f2faf5; }
.attribuut-actie.verwijderen:hover { border-color: #a4262c; background: #fff4f4; color: #a4262c; }
.attribuut-actie-icoon { display: inline-block; min-width: 16px; margin-right: 4px; font-size: 16px; line-height: 1; }
.validatiefout { display: flex; flex-direction: column; gap: 5px; padding: 10px; border-left: 3px solid var(--fout); background: #fde7e9; }
.validatiefout span { color: var(--subtiel); font-size: 12px; }
.validatie-leeg { padding: 12px; border-left: 3px solid var(--succes); background: #dff6dd; }
.relatie { display: flex; flex-direction: column; gap: 5px; padding: 10px; border: 1px solid var(--lijn); border-radius: 3px; }
.relatie strong { color: var(--primair); }
.relatie span, .relatie small { overflow-wrap: anywhere; }
.lege-toestand { display: grid; min-height: 50vh; place-content: center; text-align: center; }
.dialoog-laag { display: grid; position: fixed; z-index: 80; inset: 0; place-items: center; padding: 20px; background: #0006; }
.dialoog { width: min(440px, 100%); border: 1px solid #c8c6c4; border-radius: 4px; padding: 22px; background: #fff; box-shadow: 0 12px 36px #0004; }
.dialoog h2 { margin-bottom: 10px; }
.dialoog p { color: var(--subtiel); line-height: 1.45; }
.dialoog dl { display: grid; grid-template-columns: 100px 1fr; gap: 7px; padding: 12px 0; border-block: 1px solid var(--lijn); }
.dialoog dt { color: var(--subtiel); }
.dialoog dd { margin: 0; overflow-wrap: anywhere; }
.dialoog footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 22px; }
