:root {
  --bg:#f6f5f1; --card:#ffffff; --ink:#23231f; --muted:#6b6a63;
  --line:#dcdad0; --accent:#0f6e56; --accent-ink:#ffffff; --err:#a32d2d;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#1c1c1a; --card:#262623; --ink:#e7e5db; --muted:#a3a299; --line:#3a3a36; --accent:#1d9e75; }
}
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,-apple-system,sans-serif; background:var(--bg); color:var(--ink); line-height:1.5; }
header { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; padding:.75rem 1rem; background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.brand { font-weight:600; }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; margin-left:auto; }
nav a { color:var(--accent); text-decoration:none; }
.who { color:var(--muted); }
main { max-width:900px; margin:0 auto; padding:1rem; }
h1 { font-size:1.4rem; font-weight:600; }
.kopf { display:flex; flex-wrap:wrap; gap:.5rem 1rem; align-items:center; justify-content:space-between; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:1rem; margin-bottom:1rem; }
.grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.fahrt .zeile { padding:.12rem 0; }
.muted { color:var(--muted); }
.tag-titel { font-size:1.05rem; font-weight:600; margin:1rem 0 .5rem; border-bottom:1px solid var(--line); padding-bottom:.25rem; }
label { display:block; margin:.5rem 0; }
input, select { width:100%; padding:.6rem; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); font-size:1rem; }
fieldset { border:1px solid var(--line); border-radius:10px; margin:0 0 1rem; }
legend { color:var(--muted); padding:0 .4rem; }
button, .btn { display:inline-block; margin-top:.6rem; padding:.7rem 1.1rem; border:none; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-size:1rem; cursor:pointer; text-decoration:none; min-height:44px; }
button.ghost { background:transparent; color:var(--accent); border:1px solid var(--accent); margin-top:0; }
button:disabled { opacity:.6; cursor:default; }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
th, td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--line); }
th { color:var(--muted); font-weight:500; }
tr.status-angenommen td, .card.status-angenommen { background:rgba(29,158,117,.08); }
tr.status-erledigt td { color:var(--muted); }
.fehler { color:var(--err); font-weight:500; }
.hint { color:var(--muted); font-size:.9rem; }
