/* Keuringsplanner: bouwt verder op de k-klassen uit plannerke.css. Palet: olijf en keuringsgroen. */
:root { --olijf: #2f3d1c; --olijf-licht: #e8edda; --mist: #f4f6ee; --groen-licht: #dcf5e6; --groen-inkt: #14532d; --oranje-licht: #ffedcc; --oranje-inkt: #7a4300; --rood-licht: #fde2dc; --rood-inkt: #9b1c0c; }
.r-titel { color: var(--olijf); }
.k-stappen button.aan { background: var(--olijf); }
.r-paneel h2, .r-start h2 { color: var(--olijf); }
#keuringapp .knop { background: var(--olijf); color: #fff; border: 0; cursor: pointer; }
#keuringapp .knop.rustig { background: var(--olijf-licht); color: var(--olijf); box-shadow: none; }
#keuringapp .knop[disabled] { opacity: .5; cursor: default; }
#keuringapp .r-wis { background: #fff; color: var(--koraal-2); border: 1.5px solid var(--koraal-2); }

.r-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.r-veld { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; font-size: .88rem; font-weight: 700; flex: 1 1 150px; min-width: 0; }
.r-veld input, .r-veld textarea, .r-veld select { font: 1rem var(--f-tekst); color: var(--inkt); border: 1.5px solid var(--lijn); border-radius: 9px; padding: 9px 10px; width: 100%; background: #fff; }
.r-veld select { text-overflow: ellipsis; }
.r-veld:has(select) { overflow-x: clip; overflow-clip-margin: 4px; } /* lange opties mogen de pagina op een telefoon niet breder maken */
.r-breed { flex: 2 1 260px; }
.r-keuze { border: 1.5px solid var(--lijn); border-radius: 12px; padding: 10px 14px 12px; margin: 0; display: grid; gap: 7px; min-width: 0; }
.r-keuze legend { font-weight: 700; font-size: .88rem; padding: 0 6px; }
.r-keuze label { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; font-size: .95rem; }
.r-keuze input { accent-color: var(--olijf); flex: none; margin-top: .25em; }
.r-rij { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.r-rijform { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
form.r-rijform { margin: 12px 0; padding-bottom: 16px; border-bottom: 1px dashed var(--lijn); }
.r-noot { margin-top: 16px; }
.r-betalabel { vertical-align: middle; font-family: var(--f-tekst); }
.r-betanoot { margin: 0 0 4px; }
.r-sectie { margin-top: 26px; }

.r-tellers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
.r-tellers p { margin: 0; border-radius: 12px; padding: 10px 12px; font-size: .86rem; font-weight: 600; background: var(--mist); }
.r-tellers b { display: block; font: 700 1.7rem/1.05 var(--f-titel); font-variant-numeric: tabular-nums; }
.r-tellers .te-laat { background: var(--rood-licht); color: var(--rood-inkt); }
.r-tellers .binnenkort { background: var(--oranje-licht); color: var(--oranje-inkt); }
.r-tellers .ok { background: var(--groen-licht); color: var(--groen-inkt); }

.r-kopiebalk, .r-punten { background: var(--mist); border-radius: 12px; padding: 12px 14px; margin-bottom: 14px; }
.r-kopiebalk p { margin: 0 0 8px; font-size: .94rem; }
.r-punten { background: var(--oranje-licht); }
.r-punten h3 { font: 700 1.05rem/1.2 var(--f-titel); margin: 0 0 6px; color: var(--oranje-inkt); }
.r-punten ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.r-punten li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: .94rem; }

.r-toestellen { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.r-toestel { border: 1.5px solid var(--lijn); border-radius: 14px; padding: 14px; min-width: 0; }
.r-toestel.te-laat { border-color: #cf2f15; }
.r-toestel.binnenkort { border-color: #e08a00; }
.r-rijkop { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.r-rijkop > div { min-width: 0; }
.r-rijkop h3 { font: 700 1.08rem/1.25 var(--f-titel); margin: 0 0 2px; color: var(--inkt); }
.r-status { flex: none; padding: 3px 10px; border-radius: 99px; font-size: .8rem; font-weight: 700; background: var(--mist); color: var(--olijf); white-space: nowrap; }
.r-status.te-laat { background: var(--rood-licht); color: var(--rood-inkt); }
.r-status.binnenkort { background: var(--oranje-licht); color: var(--oranje-inkt); }
.r-status.ok { background: var(--groen-licht); color: var(--groen-inkt); }
.r-datums { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 10px 0 4px; font-size: .95rem; }
.r-wie { margin-top: 6px; }
.r-wie a { color: var(--olijf); }
.r-waarschuwing { margin: 8px 0 0; }
.r-uitleg { margin-top: 6px; font-size: .92rem; }
.r-uitleg summary { cursor: pointer; font-weight: 600; color: var(--olijf); }
.r-uitleg p { margin: 6px 0 0; color: var(--zacht); }
.r-datumform { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-top: 10px; }
.r-keuringform { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--lijn); }
.r-keuringform .r-keuze, .r-keuringform .k-acties, .r-keuringform .r-breed { flex: 1 1 100%; }
.r-keuringform .k-acties { margin-top: 0; }

.r-beheer { list-style: none; margin: 0; padding: 0; }
.r-beheer li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--lijn); }
.r-beheer li > div:first-child { flex: 1 1 240px; min-width: 0; }
.r-rijknoppen { display: flex; gap: 10px; align-items: flex-end; }
.r-mini { flex: 0 0 11rem; font-size: .8rem; }

.r-fase { font-size: 1.15rem; color: var(--olijf); margin: 20px 0 8px; }
.r-tabelvak { overflow-x: auto; }
.r-tabel { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 560px; }
.r-tabel th { text-align: left; font-size: .8rem; color: var(--zacht); padding: 6px; border-bottom: 1.5px solid var(--lijn); }
.r-tabel td { padding: 7px 6px; border-bottom: 1px solid var(--lijn); vertical-align: top; }
.r-printkop { display: none; }
.r-bestand { display: inline-block; cursor: pointer; }
.r-bestand input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.r-bestand:focus-within { outline: 3px solid var(--olijf); outline-offset: 2px; }
.r-bronnen { margin: 0 0 10px; padding-left: 1.1rem; display: grid; gap: 4px; font-size: .92rem; }
.r-bronnen a { color: var(--olijf); }

@media (max-width: 560px) {
  .r-tellers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-stappen button { flex: 1 1 auto; padding: 10px 7px; font-size: .84rem; } /* vier tabs passen zo op een telefoon */
  .r-rijform .knop { width: 100%; }
}
@media print {
  .r-geenprint, .k-weg, .r-betanoot { display: none !important; }
  .r-printkop { display: block; }
  .r-printkop h2 { margin: 0; color: #000; }
  .r-printkop p { margin: 0 0 8px; }
  .r-tabelvak { overflow: visible; }
  .r-tabel { font-size: 9.5pt; min-width: 0; }
}
