/* Minimalistisches, lokales Stylesheet – keine CDN-Abhängigkeit */
:root { --bg:#f7f7f8; --fg:#1f2328; --muted:#6b7280; --line:#e5e7eb; --accent:#0b5fa5; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
nav { background:#fff; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; padding:.4rem 1.2rem; }
nav ul { list-style:none; display:flex; gap:1.1rem; margin:0; padding:0; } nav li a { color:var(--fg); }
main.container { max-width:1400px; margin:0 auto; padding:1rem 1.2rem 3rem; }
h3 { margin:.6rem 0 1rem; } h5, h6 { margin:.8rem 0 .4rem; }
section { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:.8rem 1rem; }
.grid-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.6rem; align-items:end; margin-bottom:.6rem; }
table { border-collapse:collapse; width:100%; font-size:.85rem; }
th { text-align:left; border-bottom:2px solid var(--line); } td { border-bottom:1px solid var(--line); vertical-align:top; }
td, th { padding:.35rem .5rem; }
input, select, textarea, button { font:inherit; padding:.4rem .5rem; border:1px solid #cfd3d8; border-radius:6px; background:#fff; width:100%; }
input[type=checkbox] { width:auto; margin-right:.3rem; }
label { display:block; font-size:.8rem; color:var(--muted); }
button { background:var(--accent); color:#fff; border-color:var(--accent); cursor:pointer; width:auto; }
button.outline, button.secondary, a[role=button] { background:#fff; color:var(--accent); border:1px solid var(--accent); padding:.3rem .7rem; border-radius:6px; display:inline-block; }
button.contrast { color:#b91c1c; border-color:#b91c1c; background:#fff; }
.badge { display:inline-block; padding:0 .4rem; border-radius:4px; font-size:.75rem; background:#e5e7eb; }
.badge.ok { background:#d1fae5; } .badge.warn { background:#fef3c7; } .badge.bad { background:#fee2e2; }
.kpi { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.kpi article { flex:1; min-width:160px; background:var(--card); border:1px solid var(--line); border-radius:8px; padding:.8rem; color:var(--muted); }
.kpi article b { font-size:1.6rem; display:block; color:var(--fg); }
.board { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,1fr); gap:.6rem; overflow-x:auto; padding-bottom:1rem; }
.col { background:#eceef1; border-radius:8px; padding:.5rem; min-height:200px; }
.col h6 { margin:0 0 .5rem; font-size:.85rem; }
.card { background:#fff; border-radius:6px; padding:.5rem; margin-bottom:.5rem; box-shadow:0 1px 2px rgba(0,0,0,.08); font-size:.82rem; }
small, .card small { color:var(--muted); }
details summary { cursor:pointer; color:var(--accent); font-size:.85rem; margin:.4rem 0; }
.due { color:#b91c1c; font-weight:600; }
form.inline { display:inline; }
