:root { --bg:#f3f5f3; --karte:#fff; --rand:#dfe5e0; --text:#1d241f; --grau:#68736b; --akzent:#023111;
        --gruen:#157347; --rot:#b02a37; --gelb:#9a6a12; --radius:10px; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background:var(--bg); color:var(--text); }
a { color: var(--akzent); }
header.kopf { background:var(--karte); border-bottom:1px solid var(--rand); padding:.8rem 1.5rem; font-weight:600; }
header.kopf a { color:var(--text); text-decoration:none; }
header.kopf { display:flex; justify-content:space-between; align-items:center; }
.abmelden { margin:0; font-weight:400; }
main { max-width:1100px; margin:1.2rem auto; padding:0 16px; }
h1 { font-size:1.45rem; margin:0 0 .3rem; }
h2 { font-size:1.1rem; margin:0 0 .6rem; }
.karte { background:var(--karte); border:1px solid var(--rand); border-radius:var(--radius); padding:1rem 1.2rem; margin-bottom:1rem; }
.grau { color:var(--grau); }
.rot { color:var(--rot); }
.zwei { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:820px) { .zwei { grid-template-columns:1fr; } }
label { display:block; font-weight:600; margin:.7rem 0 .25rem; }
label.haken { font-weight:400; display:flex; gap:.5rem; align-items:flex-start; }
input:not([type=checkbox]), textarea { width:100%; padding:.5rem; border:1px solid var(--rand); border-radius:6px; font:inherit; }
button, .knopf { display:inline-block; padding:.5rem .9rem; border:0; border-radius:6px; background:var(--akzent); color:#fff; font:inherit; cursor:pointer; text-decoration:none; margin:.3rem .3rem .3rem 0; }
button.zweit { background:#fff; color:var(--akzent); border:1px solid var(--akzent); }
button.klein { padding:.25rem .6rem; font-size:.9rem; }
button:disabled { opacity:.55; cursor:default; }
.laeuft { display:none; }
.htmx-request .laeuft, .htmx-request.laeuft { display:inline; }
.htmx-request .ruhe { display:none; }
.unter-titel { margin:.2rem 0 1rem; }
.kasten { padding:.6rem .8rem; border-radius:6px; margin:.5rem 0; }
.kasten.rot { background:#fbeaec; color:var(--rot); }
.kasten.gruen { background:#e8f4ec; color:var(--gruen); }
.kasten.gelb { background:#fbf3e2; color:var(--gelb); }
.schritte { padding-left:0; list-style:none; }
.schritte li { margin:.6rem 0; }
.schritte li.erledigt > b { color:var(--gruen); }
.plakette { display:inline-block; padding:.1rem .5rem; border-radius:999px; font-size:.85rem; background:#e9ecea; }
.z-getestet { background:#e6eefb; } .z-freigegeben { background:#fbf3e2; } .z-versendet { background:#e8f4ec; }
.z-versand_laeuft { background:#fbeaec; } .z-trocken { background:#fbf3e2; color:var(--gelb); }
table { width:100%; border-collapse:collapse; }
td { padding:.4rem .3rem; border-top:1px solid var(--rand); }
iframe { width:100%; height:620px; border:1px solid var(--rand); border-radius:6px; background:#eef2ee; }
#verlauf ul { padding-left:1.1rem; margin:0; }
.breit { overflow-x:auto; }
table.zahlen th, table.zahlen td { text-align:right; white-space:nowrap; padding:.45rem .5rem; }
table.zahlen th:first-child, table.zahlen td:first-child { text-align:left; white-space:normal; }
table.zahlen th { font-size:.85rem; color:var(--grau); font-weight:600; }
table.zahlen tfoot td { border-top:2px solid var(--text); font-weight:600; }
a.aktiv { font-weight:700; text-decoration:none; color:var(--text); }
