:root { --bg:#f5f6f8; --fg:#1f2a37; --muted:#6b7280; --card:#fff; --line:#e5e7eb;
        --ok:#15803d; --warn:#b45309; --err:#b91c1c; --accent:#1d4ed8; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--fg); }
.top { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:var(--fg); color:#fff; }
.top a { color:#fff; text-decoration:none; } .brand { font-weight:600; }
main { max-width:960px; margin:0 auto; padding:16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin-bottom:16px; }
.narrow { max-width:380px; margin:40px auto; }
label { display:block; margin:12px 0; } input, select { display:block; width:100%; padding:10px; font-size:16px; border:1px solid var(--line); border-radius:8px; }
button, .btn { display:inline-block; padding:10px 16px; font-size:16px; border:0; border-radius:8px; background:var(--accent); color:#fff; cursor:pointer; text-decoration:none; }
button.small { padding:6px 10px; font-size:14px; }
.err { color:var(--err); } .muted { color:var(--muted); }
table { width:100%; border-collapse:collapse; } td, th { padding:8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; font-size:13px; background:var(--line); }
.badge.ok { background:#dcfce7; color:var(--ok); } .badge.laeuft { background:#fef3c7; color:var(--warn); }
.badge.fehler { background:#fee2e2; color:var(--err); }
img.thumb { max-width:120px; border-radius:6px; }
@media (max-width:600px) { td.hide-sm, th.hide-sm { display:none; } }
form.inline { display:inline-block; margin:0 1em 0 0; padding:0; }
button.link { background:none; border:0; padding:0; color:#fff; font:inherit; cursor:pointer; text-decoration:underline; width:auto; }
.auszug { white-space: pre-wrap; font-family: inherit; font-size: .95em; }
.warn { color: #9a3412; }
