:root{--rot:#8c1c13;--rot2:#6f150e;--grau:#5b6670;--rand:#dde1e5;--bg:#f5f6f7;--ok:#1f7a3d;--warn:#a15c00;--err:#b42318}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:15px;color:#1f2933;background:var(--bg)}
a{color:var(--rot)}
header.top{background:var(--rot);color:#fff}
header.top .in{max-width:1200px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
header.top .brand{font-weight:600;font-size:17px;color:#fff;text-decoration:none}
header.top nav a{color:#fff;text-decoration:none;opacity:.85;margin-right:14px}
header.top nav a.on,header.top nav a:hover{opacity:1;text-decoration:underline}
header.top .user{margin-left:auto;font-size:13px;opacity:.9}
header.top .user a{color:#fff}
main{max-width:1200px;margin:0 auto;padding:22px 18px 60px}
main.narrow{max-width:760px}
h1{font-size:22px;margin:0 0 16px}
h2{font-size:18px;margin:26px 0 10px}
.card{background:#fff;border:1px solid var(--rand);border-radius:8px;padding:18px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
label{display:block;font-size:13px;color:var(--grau);margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:8px 10px;border:1px solid #c7ccd1;border-radius:6px;font:inherit;background:#fff}
textarea{min-height:80px}
input:focus,select:focus,textarea:focus{outline:2px solid #e3b2ad;border-color:var(--rot)}
input[readonly]{background:#f1f3f5;color:#33404c}
.btn,button{display:inline-block;background:var(--rot);color:#fff;border:0;border-radius:6px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none}
.btn:hover,button:hover{background:var(--rot2)}
.btn.sec,button.sec{background:#e9ecef;color:#1f2933}
.btn.sec:hover,button.sec:hover{background:#dde1e5}
.btn.small,button.small{padding:5px 10px;font-size:13px}
button.ok{background:var(--ok)}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:8px 10px;border-bottom:1px solid #eceff1;text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--grau);background:#fafbfc}
td.r,th.r{text-align:right;white-space:nowrap}
tr.muted td{color:#8a949c}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;background:#eceff1;white-space:nowrap}
.b-eingereicht{background:#fff4e0;color:var(--warn)}
.b-freigegeben{background:#e6f0ff;color:#1d4ed8}
.b-angewiesen{background:#ede9fe;color:#5b21b6}
.b-ausgezahlt{background:#e6f4ea;color:var(--ok)}
.b-abgelehnt{background:#fde8e7;color:var(--err)}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:16px}
.flash.ok{background:#e6f4ea;color:#14532d}
.flash.err,.errors{background:#fde8e7;color:#7a1610}
.errors{padding:10px 14px;border-radius:6px;margin-bottom:16px}
.errors ul{margin:4px 0 0 18px;padding:0}
.hint{font-size:13px;color:var(--grau)}
.bankinfo{font-size:13px;margin-top:4px;min-height:18px}
.bankinfo.ok{color:var(--ok)}
.bankinfo.err{color:var(--err)}
.item{border:1px solid var(--rand);border-radius:8px;padding:12px;margin-bottom:10px;background:#fcfcfd}
.item .row{display:grid;grid-template-columns:150px 1fr 130px;gap:10px}
.item .head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:14px}
.item .rm{background:none;color:var(--err);padding:0;font-size:13px}
.sum{font-size:17px;text-align:right;margin:10px 0}
.check{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-size:14px;color:#1f2933}
.check input{margin-top:3px}
.stat{font-size:22px;font-weight:600}
.stat small{display:block;font-size:12px;font-weight:400;color:var(--grau)}
.inline{display:inline}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.hp{position:absolute;left:-5000px}
.pos{color:var(--ok)}
.neg{color:var(--err)}
footer{text-align:center;font-size:12px;color:var(--grau);padding:20px}
footer a{color:var(--grau)}
.tx-form{display:flex;gap:6px;flex-wrap:wrap}
.tx-form select{width:auto;max-width:220px;padding:4px 6px;font-size:13px}
.tx-form input[type=text]{width:140px;padding:4px 6px;font-size:13px}
@media (max-width:640px){.item .row{grid-template-columns:1fr}th.hide,td.hide{display:none}}
