:root{--bg:#f6f7f9;--kaart:#fff;--tekst:#1b1f24;--grijs:#6b7280;--lijn:#e5e7eb;--accent:#1f6feb;--groen:#16a34a;--oranje:#f59e0b;--rood:#dc2626;--grijs2:#9ca3af;--radius:10px}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;background:var(--bg);color:var(--tekst)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{background:#fff;border-bottom:1px solid var(--lijn);padding:0 24px;display:flex;align-items:center;gap:24px;height:56px;position:sticky;top:0;z-index:5}
header .merk{font-weight:700;letter-spacing:.2px}
header nav a{margin-right:18px;color:var(--tekst)}header nav a.actief{color:var(--accent);font-weight:600}
header .rechts{margin-left:auto;color:var(--grijs);font-size:13px}
main{max-width:1180px;margin:24px auto;padding:0 24px}
h1{font-size:22px;margin:0 0 16px}h2{font-size:16px;margin:28px 0 10px;color:var(--grijs);text-transform:uppercase;letter-spacing:.5px}
.kaart{background:var(--kaart);border:1px solid var(--lijn);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}
.raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--grijs);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px;padding:8px 10px;border-bottom:1px solid var(--lijn)}
td{padding:9px 10px;border-bottom:1px solid var(--lijn);vertical-align:top}
tr:last-child td{border-bottom:none}
.stip{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.stip.groen{background:var(--groen)}.stip.oranje{background:var(--oranje)}.stip.rood{background:var(--rood)}.stip.grijs{background:var(--grijs2)}
.label{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2ff;color:#3730a3}
.label.auto{background:#dcfce7;color:#166534}.label.concept{background:#fef3c7;color:#92400e}.label.mens{background:#e0e7ff;color:#3730a3}
.label.gepland{background:#e0f2fe;color:#075985}.label.wacht-goedkeuring{background:#fef3c7;color:#92400e}.label.uitgevoerd{background:#dcfce7;color:#166534}.label.geannuleerd,.label.overgeslagen{background:#f3f4f6;color:#6b7280}.label.uitgesteld{background:#ede9fe;color:#5b21b6}
.label.klaar{background:#dcfce7;color:#166534}.label.bezig{background:#e0f2fe;color:#075985}.label.open{background:#f3f4f6;color:#6b7280}
.klein{font-size:13px;color:var(--grijs)}
.knoppen{display:flex;gap:6px;flex-wrap:wrap}
button,.knop{font:inherit;font-size:13px;padding:5px 10px;border:1px solid var(--lijn);background:#fff;border-radius:7px;cursor:pointer;color:var(--tekst)}
button:hover{border-color:var(--accent);color:var(--accent)}
button.primair{background:var(--accent);color:#fff;border-color:var(--accent)}button.primair:hover{color:#fff;opacity:.9}
button.gevaar:hover{border-color:var(--rood);color:var(--rood)}
input,select,textarea{font:inherit;font-size:14px;padding:6px 8px;border:1px solid var(--lijn);border-radius:7px;background:#fff}
form.inline{display:inline-flex;gap:6px;align-items:center}
.stappen{display:flex;gap:4px;margin:8px 0 4px}
.stappen span{flex:1;height:8px;border-radius:4px;background:var(--lijn)}
.stappen span.klaar{background:var(--groen)}.stappen span.bezig,.stappen span.gepland{background:var(--accent)}
.md table{margin:8px 0}.md h2{font-size:14px;margin:12px 0 4px;text-transform:none;letter-spacing:0}
.md ul{padding-left:20px}
details summary{cursor:pointer;color:var(--accent);font-size:13px}
.concept{background:#fffbeb;border:1px dashed #f59e0b;border-radius:8px;padding:10px 12px;white-space:pre-wrap;font-size:13px;margin-top:6px}
.leeg{color:var(--grijs);font-style:italic;padding:12px 0}
.cijfer{font-size:28px;font-weight:700}
.top{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
@media (max-width:700px){header{padding:0 14px;gap:12px}main{padding:0 14px}th:nth-child(n+4),td:nth-child(n+4){display:none}}
