*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#111827;background:#f6f7f9}
.top{max-width:60rem;margin:0 auto;padding:1.6rem 1rem .4rem}
.top h1{font-size:1.6rem;line-height:1.25;margin:.2rem 0 .6rem}
.lead{color:#374151;margin:0}
main{max-width:60rem;margin:0 auto;padding:0 1rem 3rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.1rem 1.2rem;margin:1rem 0}
.card h2{font-size:1.15rem;margin:0 0 .5rem}
.hint{color:#4b5563;font-size:.93rem;margin:.2rem 0 .8rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.7rem 1rem}
label{display:block;font-size:.92rem;color:#374151}
input,select,textarea{display:block;width:100%;margin-top:.25rem;padding:.5rem .55rem;font:inherit;border:1px solid #cbd5e1;border-radius:6px;background:#fff}
input[type=checkbox]{display:inline;width:auto;margin:0 .3rem 0 .6rem}
input[type=color]{height:2.4rem;padding:.15rem}
label.check{display:inline}
label.inline{display:inline-block;max-width:22rem;vertical-align:middle}
textarea{font:14px/1.45 ui-monospace,Menlo,Consolas,monospace}
pre{background:#0f172a;color:#e2e8f0;padding:.8rem;border-radius:8px;overflow:auto;font-size:12.5px;max-height:22rem;white-space:pre}
.result{border:2px solid #1f2937}
.res{font-size:1.3rem;margin:.1rem 0 .7rem}
.res.okc{color:#065f46}.res.late{color:#991b1b}
table.kv{border-collapse:collapse;width:100%}
.kv th{text-align:left;font-weight:600;width:13rem;vertical-align:top;padding:.4rem .5rem;border-top:1px solid #e5e7eb}
.kv td{padding:.4rem .5rem;border-top:1px solid #e5e7eb}
.next{margin:.9rem 0 0;padding:.6rem .8rem;background:#eef2ff;border-radius:8px;font-size:.95rem}
.btn{display:inline-block;padding:.6rem 1.1rem;border-radius:7px;background:#1f2937;color:#fff;text-decoration:none;border:1px solid #1f2937;font:inherit;cursor:pointer}
.btn.ghost{background:#fff;color:#1f2937}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.7rem 0}
.steps li{margin:.5rem 0}
code{background:#f1f5f9;padding:0 .25rem;border-radius:4px}
.feat li{margin:.25rem 0}
.tablewrap{overflow:auto}
#tab{border-collapse:collapse;width:100%;font-size:.88rem}
#tab th,#tab td{padding:.35rem .4rem;border-bottom:1px solid #e5e7eb;text-align:left;white-space:nowrap}
#tab input{width:9.5rem;padding:.2rem}
.dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;background:#9ca3af}
.a-rot .dot{background:#dc2626}.a-gelb .dot{background:#f59e0b}.a-gruen .dot{background:#16a34a}
.small p{font-size:.88rem;color:#4b5563}
.warn{color:#991b1b}
#print{display:none}
@media print{body.printing>*:not(#print){display:none!important}body.printing #print{display:block}#print pre{background:#fff;color:#000;border:1px solid #999;white-space:pre-wrap}}
