/* bedrijfsvoering.css — blok 8 · Contracten & facilitair.
   Alleen tokens uit casa360-stijl.css; module-wortel-marge-norm. */
.ct { max-width: 1240px; margin: 0 auto; padding: 26px 32px 72px; display: flex; flex-direction: column; gap: 14px; }
.ct-kop h1 { margin: 2px 0 6px; }
.ct-kop p { max-width: 76ch; color: var(--ink2); margin: 0; }
.ct-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.ct-tabknop { border: 1px solid var(--lijn); background: var(--kaart); border-radius: 99px;
  padding: 7px 14px; font: inherit; font-size: 13px; cursor: pointer; color: var(--ink); }
.ct-tabknop.is-actief { background: var(--ink); border-color: var(--ink); color: var(--kaart); }
.ct-tabknop:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; }
.ct-blokkop { display: block; margin-bottom: 8px; }
.ct-filterbalk { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ct-vulling { flex: 1; }
.ct-chip { border: 1px solid var(--lijn); background: var(--kaart); border-radius: 99px;
  padding: 5px 12px; font: inherit; font-size: 12.5px; cursor: pointer; color: var(--ink); }
.ct-chip.is-actief { background: var(--ink); border-color: var(--ink); color: var(--kaart); }
.ct-chip:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; }
.ct-rij { display: grid; grid-template-columns: 200px 1fr auto; gap: 10px; align-items: baseline;
  padding: 7px 0; border-bottom: 1px solid var(--lijn); }
.ct-rij:last-of-type { border-bottom: 0; }
.ct-rij em { color: var(--ink2); font-style: normal; font-size: 12.5px; }
.ct-rij--verstreken td { background: var(--stop-t); }
.ct-poort { border: 1px solid var(--lijn); border-radius: var(--radius); padding: 9px 12px;
  margin-top: 8px; font-size: 13px; line-height: 1.45; }
.ct-poort--rood { border-color: var(--stop); }
.ct-note { display: block; color: var(--ink2); font-size: 12.5px; font-style: normal; margin-top: 8px; }
.ct-acties { white-space: nowrap; }
.ct-acties .btn { margin: 1px 0; display: block; }
.ct-stil { border-color: var(--stop); }
.ct-lek { display: grid; grid-template-columns: 90px 1fr auto auto; gap: 12px; align-items: center;
  padding: 9px 0; border-bottom: 1px solid var(--lijn); }
.ct-lek:last-of-type { border-bottom: 0; }
.ct-lek em { display: block; color: var(--ink2); font-style: normal; font-size: 12.5px; }
.ct-tweeluik { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.ct-komend { display: grid; grid-template-columns: minmax(150px, 1.1fr) 1.4fr 62px 90px; gap: 10px;
  align-items: center; padding: 7px 0; border-bottom: 1px solid var(--lijn); }
.ct-komend:last-of-type { border-bottom: 0; }
.ct-komend em { display: block; color: var(--ink2); font-style: normal; font-size: 12px; }
.ct-baan { height: 12px; border: 1px solid var(--lijn); border-radius: 99px; overflow: hidden; background: var(--kaart); }
.ct-baan i { display: block; height: 100%; }
.ct-baan i.is-rood { background: var(--stop); }
.ct-baan i.is-amber { background: var(--let); }
.ct-baan i.is-groen { background: var(--goed); }
.ct-stappen { display: flex; gap: 4px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.ct-stap { border: 1px solid var(--lijn); border-radius: 99px; padding: 2px 9px; font-size: 11.5px; color: var(--ink2); }
.ct-stap.is-af { background: var(--ink); border-color: var(--ink); color: var(--kaart); }
@media (max-width: 900px) {
  .ct { padding: 18px 14px 60px; }
  .ct-tweeluik { grid-template-columns: 1fr; }
  .ct-rij { grid-template-columns: 1fr; }
}
