/* privacy.css — module 7.2 · Persoonsdata, privacy & audit (Zand-stijl,
   kleuren uitsluitend via casa360-stijl.css-tokens) */
.pv { max-width: 1240px; margin: 0 auto; padding: 26px 32px 72px; display: flex; flex-direction: column; gap: 14px; }
.pv-kop h1 { margin: 2px 0 6px; }
.pv-kop p { max-width: 76ch; color: var(--sub); margin: 0; }

.pv-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.pv-tabknop { border: 1px solid var(--lijn); background: var(--c-paneel, var(--vlak)); border-radius: 99px;
  padding: 7px 14px; font: inherit; font-weight: 600; cursor: pointer; color: var(--ink); }
.pv-tabknop.is-actief { background: var(--ink); border-color: var(--ink); color: var(--c-paneel, var(--vlak)); }
.pv-tabknop:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; }

.pv-gebreken { border-left: 3px solid var(--stop); display: flex; flex-direction: column; gap: 6px; }
.pv-gebrek { color: var(--stop); font-weight: 600; }
.pv-gebrek--slot { color: var(--ink); }
.pv-besluit { display: flex; flex-direction: column; gap: 4px; }
.pv-besluit em { color: var(--sub); font-style: normal; }

.pv-soort { display: flex; flex-direction: column; gap: 8px; }
.pv-soort__kop { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.pv-soort__meta { display: block; color: var(--sub); font-size: 0.92em; margin-top: 2px; }
.pv-note { color: var(--sub); font-style: normal; font-size: 0.92em; }
.pv-anon { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; background: var(--vlak);
  border: 1px solid var(--lijn); border-radius: var(--radius-klein); padding: 8px 10px; font-size: 0.92em; }
.pv-anon--schijn { border-color: var(--let); }
.pv-tabellen { display: flex; flex-wrap: wrap; gap: 6px; font-size: 0.85em; }
.pv-tabel { border: 1px solid var(--lijn); border-radius: 99px; padding: 2px 9px; color: var(--sub); }
.pv-tabel.is-over { border-color: var(--stop); color: var(--stop); }
.pv-onverdeeld { display: flex; flex-wrap: wrap; gap: 6px; }

.pv-rij { display: flex; justify-content: space-between; gap: 14px; padding: 8px 0; border-bottom: 1px solid var(--lijn); }
.pv-rij:last-of-type { border-bottom: 0; }
.pv-rij em { color: var(--sub); font-style: normal; text-align: right; max-width: 58ch; }
.pv-rij--info em { text-align: left; display: block; }
.pv-rij--info { align-items: center; }
.pv-blokkop { display: block; margin-bottom: 8px; }
.pv-voet { display: flex; justify-content: flex-end; }

/* P4 · de rechtenmatrix */
.pv-matrix td, .pv-matrix th { text-align: center; }
.pv-matrix td:first-child, .pv-matrix th:first-child { text-align: left; }
.pv-cel.is-gat { background: var(--stop-t); color: var(--stop); font-weight: 700; }
.pv-dicht { border: 1px solid var(--stop); background: none; color: var(--stop); border-radius: 99px;
  font: inherit; font-size: 0.8em; padding: 1px 7px; margin-left: 5px; cursor: pointer; }
.pv-dicht:focus-visible { outline: 3px solid var(--accent); }
.pv-verzoek { display: flex; flex-direction: column; gap: 7px; padding: 10px 0; border-bottom: 1px solid var(--lijn); }
.pv-verzoek:last-of-type { border-bottom: 0; }
.pv-verzoek__kop { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.pv-verzoek.is-over { border-left: 3px solid var(--stop); padding-left: 10px; }
.pv-verzoek__acties { display: flex; gap: 6px; flex-wrap: wrap; }
.pv-termijnbalk { position: relative; height: 20px; background: var(--vlak); border: 1px solid var(--lijn);
  border-radius: 99px; overflow: hidden; max-width: 420px; }
.pv-termijnbalk i { position: absolute; inset: 0 auto 0 0; background: var(--grijs2); }
.pv-termijnbalk span { position: relative; padding: 0 10px; font-size: 0.8em; line-height: 20px; }
.pv-klok { border-left: 3px solid var(--stop); }
.pv-klok__uren { font-size: 2em; font-weight: 700; }
.pv-klok.is-over .pv-klok__uren { color: var(--stop); }
