:root{--ink:#1d2433;--mute:#5b6476;--line:#d9dee8;--acc:#0b5cad;--ok:#1f7a3a;--bad:#a8321e;--bg:#f6f7fa}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
header,main{max-width:980px;margin:0 auto;padding:0 16px}header{padding-top:24px}h1{font-size:1.7rem;margin:.2em 0}.lead{color:var(--mute);max-width:70ch}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:16px 0}.card h2{font-size:1.15rem;margin:0 0 10px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px}label{display:flex;flex-direction:column;font-size:.85rem;color:var(--mute);gap:3px}
input,select{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;width:100%}
table{width:100%;border-collapse:collapse}#pos td,#pos th,#archiv td,#archiv th{padding:4px;border-bottom:1px solid var(--line);text-align:left;font-size:.9rem}
#pos td:first-child{width:42%}button,.buy{font:inherit;padding:7px 12px;border-radius:6px;border:1px solid var(--acc);background:#fff;color:var(--acc);cursor:pointer;text-decoration:none;display:inline-block}
button:disabled{opacity:.45;cursor:not-allowed}.del{border-color:var(--line);color:var(--mute)}.hint{font-size:.85rem;color:var(--mute)}
.pro-inline{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.pro-inline select{max-width:320px}
.result{border:2px solid var(--acc)}.pflicht{padding:10px 12px;border-radius:8px}.pflicht.ja{background:#fdecea}.pflicht.nein{background:#e8f5ec}
.sum td{padding:3px 0}.sum td:last-child{text-align:right;font-variant-numeric:tabular-nums}.sum .tot td{font-weight:700;border-top:2px solid var(--ink)}
.checks.ok b{color:var(--ok)}.checks.bad b{color:var(--bad)}.miss{color:var(--bad);font-size:.9rem}
.paid-line{max-width:980px;margin:0 auto 8px;padding:12px 16px;background:#fff7e0;border:1px solid #ecd48a;border-radius:10px}.paid-line .buy{background:var(--acc);color:#fff;margin:6px 6px 0 0}.paid-line .buy.alt{background:#fff;color:var(--acc)}
.flash{outline:3px solid #ecb100}.late td{color:var(--bad)}.file{display:inline-flex;flex-direction:row;gap:6px;align-items:center}.file input{width:auto}
.faq details{margin:6px 0}.faq summary{cursor:pointer;font-weight:600}.legal{font-size:.8rem;color:var(--mute);margin:20px 0 40px}
#druck{display:none}
@media print{body.printing>*{display:none!important}body.printing #druck{display:block!important;padding:10mm;font-size:11pt}#druck table td,#druck table th{border-bottom:1px solid #999;padding:3px;text-align:left}#druck .abs{font-size:9pt;color:#444}}
#pos select.l_satz{min-width:78px}#pos select.l_einheit{min-width:92px}
