
:root { --groen:#2d5a3d; --rand:#d8ddd6; --grijs:#5c6660; --rood:#b3261e; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:#1a1d1b; background:#f6f7f5; }
header { background:var(--groen); color:#fff; padding:1rem 1.1rem; display:flex; justify-content:space-between; align-items:center; }
header h1 { margin:0; font-size:1.15rem; font-weight:600; }
header button { background:transparent; border:1px solid rgba(255,255,255,.5); color:#fff; padding:.35rem .7rem; border-radius:6px; font-size:.85rem; }
main { max-width:34rem; margin:0 auto; padding:1.1rem; }
label { display:block; margin:0 0 .9rem; font-size:.9rem; color:var(--grijs); }
input, select, textarea { width:100%; padding:.75rem; margin-top:.3rem; border:1px solid var(--rand); border-radius:8px;
  font-size:16px; background:#fff; color:inherit; }  /* 16px voorkomt inzoomen op iOS */
.rij { display:flex; gap:.7rem; }
.rij label { flex:1; }
fieldset { border:1px solid var(--rand); border-radius:8px; padding:.7rem; margin:0 0 .9rem; }
legend { font-size:.85rem; color:var(--grijs); padding:0 .3rem; }
.chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.chip { padding:.5rem .8rem; border:1px solid var(--rand); border-radius:999px; background:#fff; font-size:.9rem; cursor:pointer; }
.chip[aria-pressed="true"] { background:var(--groen); color:#fff; border-color:var(--groen); }
button[type=submit] { width:100%; padding:.9rem; background:var(--groen); color:#fff; border:0; border-radius:8px;
  font-size:1rem; font-weight:600; }
button[disabled] { opacity:.5; }
.netto { background:#eaf2ec; border-radius:8px; padding:.7rem; text-align:center; font-weight:600; margin:.2rem 0 .9rem; }
.melding { padding:.7rem; border-radius:8px; background:#fff8e1; margin:.2rem 0 .9rem; font-size:.9rem; }
.fout { color:var(--rood); background:#fdecea; padding:.7rem; border-radius:8px; }
.welkom { color:var(--grijs); }
.hint { display:block; font-size:.8rem; color:var(--grijs); margin-top:.25rem; }
.fotos { display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.5rem; }
.fotos img { width:56px; height:56px; object-fit:cover; border-radius:6px; border:1px solid var(--rand); }
h2 { font-size:1rem; margin:1.8rem 0 .6rem; }
.uren { list-style:none; padding:0; margin:0; }
.uren li { background:#fff; border:1px solid var(--rand); border-radius:8px; padding:.7rem .8rem; margin-bottom:.5rem; font-size:.9rem; }
.uren .kop { display:flex; justify-content:space-between; font-weight:600; }
.uren .sub { color:var(--grijs); font-size:.85rem; }
.status { font-size:.75rem; padding:.15rem .5rem; border-radius:999px; background:#eee; }
.status.goedgekeurd { background:#e3f2e7; color:#1c6b32; }
.status.afgekeurd, .status.correctie_nodig { background:#fdecea; color:var(--rood); }
