/* Kantoorweergave - opmaak voor web/suite/kantoorweergave.js.
   Het papier en het raster houden hun eigen kleuren (wit, zwart, de kleuren uit het
   bestand), ook in de nachtversie: een document ziet er in Drive ook niet donker uit.
   De rand eromheen (schuifvak, tabbladen, noten) volgt wel de suite-tokens. */

.kantoorweergave { min-width: 0; }

/* Alleen in de lengte scrollen: breedte is altijd die van de pagina */
.kw-schuif {
  max-height: calc(100vh - 230px); min-height: 320px;
  overflow-y: auto; overflow-x: hidden;
  border: 1px solid var(--lijn); border-radius: 8px;
  background: var(--vlak-warm); padding: 18px 12px;
}
.kw-schuif-blad { padding: 0; background: #fff; border-radius: 8px 8px 0 0; }

/* ── Word: het papier ─────────────────────────────────────────────────── */
.kw-papier {
  box-sizing: border-box; width: 100%; margin: 0 auto;
  background: #fff; color: #000;
  box-shadow: 0 1px 3px rgba(0,0,0,.14), 0 6px 20px rgba(0,0,0,.08);
  font-family: Calibri, Carlito, "Helvetica Neue", Arial, sans-serif; font-size: 11pt;
  line-height: normal; overflow-wrap: anywhere; word-break: break-word;
}
.kw-papier .kw-p { margin: 0; min-height: 1em; white-space: pre-wrap; }
.kw-koptekst { margin-bottom: 14pt; }
.kw-voettekst { margin-top: 24pt; }
.kw-teken { display: inline-block; text-indent: 0; }
.kw-tab { display: inline-block; min-width: 24pt; white-space: pre; }
.kw-loop { }
.kw-papier a.kw-loop { color: #1155cc; text-decoration: underline; }
.kw-beeld { max-width: 100%; height: auto; display: inline-block; vertical-align: baseline; }
.kw-beeld-weg {
  display: inline-block; box-sizing: border-box; max-width: 100%; padding: 8pt 10pt;
  border: 1px dashed #999; color: #555; font-size: 9pt; white-space: normal; text-indent: 0;
  vertical-align: top;
}
.kw-beeld-weg-kop { display: block; font-style: italic; margin-bottom: 4pt; }
.kw-beeld-weg-regel { display: block; }
.kw-breuk-voor, .kw-breuk-in-alinea {
  display: block; border-top: 1px dashed #bbb; margin: 18pt 0 14pt; position: relative;
}
.kw-breuk-voor { padding-top: 14pt; }
.kw-breuk-voor::before, .kw-breuk-in-alinea::before {
  content: "pagina-einde"; position: absolute; top: -7pt; right: 0; font-size: 7pt;
  color: #999; background: #fff; padding: 0 4pt; text-indent: 0; font-style: italic;
}
.kw-tabel-houder { max-width: 100%; margin: 0 0 2pt; }
.kw-tabel { border-collapse: collapse; table-layout: fixed; width: 100%; }
.kw-tabel td.kw-cel {
  padding: 0 5.4pt; vertical-align: top; border: 0; overflow-wrap: anywhere; word-break: break-word;
}
.kw-tabel .kw-tabel-houder { margin: 2pt 0; }

/* ── Excel: het raster ─────────────────────────────────────────────────── */
.kw-werkboek { background: #fff; border-radius: 8px; border: 1px solid var(--lijn); }
.kw-werkboek .kw-schuif { border: 0; border-bottom: 1px solid var(--lijn); }
.kw-raster-houder { position: relative; width: 100%; }
.kw-raster {
  border-collapse: collapse; table-layout: fixed; width: 100%;
  font-family: "Helvetica Neue", Calibri, Carlito, Arial, sans-serif; font-size: 11pt;
  color: #000; background: #fff; --kw-schaal: 1;
}
.kw-raster th, .kw-raster td { box-sizing: border-box; }
.kw-raster th.kw-hoek, .kw-raster th.kw-kolkop, .kw-raster td.kw-rijnr {
  background: #f8f9fa; color: #5f6368; font-weight: 400; text-align: center;
  font-size: calc(8pt * var(--kw-schaal)); border: 1px solid #c0c0c0; padding: 0 2px;
  overflow: hidden; white-space: nowrap; letter-spacing: 0; text-transform: none;
}
.kw-raster thead th { position: sticky; top: 0; z-index: 2; }
.kw-raster td.kw-cel {
  border: 1px solid #e2e3e3; padding: 0 3px; vertical-align: bottom;
  overflow: hidden; line-height: 1.25; position: relative;
}
.kw-raster.kw-zonder-lijnen td.kw-cel { border-color: transparent; }
.kw-celtekst { display: block; }
.kw-celtekst.kw-wrap { white-space: pre-wrap; overflow-wrap: break-word; }
.kw-celtekst.kw-nowrap { white-space: pre; overflow: hidden; text-overflow: clip; }
.kw-raster td.kw-cel:has(> .kw-spil) { overflow: visible; }
.kw-celtekst.kw-spil { position: relative; z-index: 1; overflow: hidden; }
.kw-raster td.kw-verborgen, .kw-raster th.kw-verborgen { padding: 0; border: 0; font-size: 0; overflow: hidden; }
.kw-rij-verborgen { display: none; }
.kw-blad-beeld { position: absolute; pointer-events: none; z-index: 3; }
.kw-tabs {
  display: flex; flex-wrap: wrap; gap: 2px; padding: 4px 6px; background: var(--vlak-warm);
  border-radius: 0 0 8px 8px;
}
.kw-tab {
  border: 1px solid var(--lijn); border-bottom: 0; background: var(--vlak); color: var(--inkt-zacht);
  font: inherit; font-size: 12.5px; padding: 5px 12px; border-radius: 0 0 6px 6px; cursor: pointer;
  max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.kw-tab:hover { color: var(--inkt); }
.kw-tab.kw-tab-actief {
  background: #fff; color: #1a73e8; font-weight: 600; border-color: var(--lijn);
  box-shadow: inset 0 2px 0 #1a73e8;
}
.kw-noot { margin: 8px 12px; font-size: 12px; color: var(--inkt-zacht); }

@media (max-width: 700px) {
  .kw-schuif { padding: 10px 6px; max-height: calc(100vh - 190px); }
}

/* Binnen Kwaliteit (.kws) gelden algemene tabelregels uit stijl.css, waaronder
   `.kws table { display: block }` onder 760 px (horizontaal scrollen voor lijsten).
   Een vel papier en een raster moeten juist tabel blijven, anders vervalt de vaste
   kolomindeling en springt het raster uit zijn breedte (gemeten 2026-10-09, 375 px). */
.kws .kw-raster, .kws .kw-tabel {
  display: table; overflow: visible; border-radius: 0; background: transparent;
}
.kws .kw-tabel { border: 0; font-size: inherit; }
.kws .kw-raster { border: 0; }
.kws .kw-raster thead { display: table-header-group; }
.kws .kw-raster tbody, .kws .kw-tabel tbody { display: table-row-group; }
.kws .kw-raster tr, .kws .kw-tabel tr { display: table-row; }
.kws .kw-raster td, .kws .kw-raster th, .kws .kw-tabel td { display: table-cell; }
