:root{--blau:#1f5673;--blau-d:#163f55;--terra:#c8553d;--senf:#e6b422;--gruen:#9fae4a;--tuerkis:#5fa8a3;--ink:#22303a;--muted:#6b7780;--line:#dfe5e8;--bg:#f6f4ef;--card:#fff;--radius:10px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 "Libre Franklin","Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:var(--blau)}a:hover{color:var(--terra)}
.wrap{max-width:980px;margin:0 auto;padding:0 20px}.wrap.wide{max-width:1380px}
header.top{background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.06)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.brand .dot{width:46px;height:46px;border-radius:50%;background:conic-gradient(var(--blau) 0 25%,var(--terra) 0 50%,var(--senf) 0 75%,#fff 0);border:2px solid var(--ink)}
.brand strong{display:block;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.brand small{color:var(--muted)}
nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
nav a,nav button.link{padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:inherit}
nav a:hover,nav button.link:hover{background:var(--bg);color:var(--blau)}nav a.on{background:var(--blau);color:#fff}
nav form{margin:0}
.stripe{display:flex;height:5px}.stripe i{flex:1}.stripe i:nth-child(1){background:var(--senf)}.stripe i:nth-child(2){background:var(--terra)}.stripe i:nth-child(3){background:var(--tuerkis)}.stripe i:nth-child(4){background:var(--blau)}
main{padding-top:26px;padding-bottom:40px;min-height:70vh}
footer{padding:18px 20px 30px;color:var(--muted);text-align:center}
h1{font-size:1.7rem;margin:.2em 0 .5em;line-height:1.2}h2{font-size:1.1rem;margin:1.4em 0 .6em;color:var(--blau-d);letter-spacing:.03em;text-transform:uppercase}
.card h2:first-child{margin-top:0}
.muted{color:var(--muted)}.small{font-size:.875rem}.mono{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.warn{color:var(--terra);font-weight:600}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:0 0 20px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.card.narrow{max-width:460px;margin:30px auto}.card.narrow.left{margin-left:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;align-items:start;margin-bottom:20px}.grid .card{margin:0}
.g-person{border-top:4px solid var(--senf)}.g-kontakt{border-top:4px solid var(--tuerkis)}.g-mitgliedschaft{border-top:4px solid var(--blau)}.g-bankverbindung{border-top:4px solid var(--terra)}.g-intern{border-top:4px solid var(--gruen)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.fields label,.fields .full{grid-column:1/-1}.fields label.half{grid-column:auto}
label{display:block;font-weight:600;font-size:.9rem;margin:0 0 14px}
input[type=text],input[type=email],input[type=password],input[type=search],input[type=file],select,textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #c5cfd4;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(95,168,163,.35);border-color:var(--tuerkis)}
textarea{resize:vertical}label.check{display:flex;gap:8px;align-items:center;font-weight:400;font-size:.95rem}label.check input{margin:0;width:auto}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 16px 2px;margin:0 0 16px}legend{font-weight:700;padding:0 6px}
.btn{display:inline-block;padding:10px 18px;border-radius:8px;border:2px solid var(--blau);background:var(--blau);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--blau-d);border-color:var(--blau-d);color:#fff}.btn.ghost{background:#fff;color:var(--blau)}.btn.ghost:hover{background:var(--bg);color:var(--blau-d)}
.btn.danger{background:#fff;border-color:var(--terra);color:var(--terra)}.btn.danger:hover{background:var(--terra);color:#fff}.btn:disabled{opacity:.6;cursor:default}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 14px}.actions form{margin:0}
.headrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.headrow h1{margin:0}
.msg{padding:12px 16px;border-radius:8px;margin:0 0 16px;border-left:5px solid}.msg ul{margin:0;padding-left:18px}
.msg.ok{background:#eef5e4;border-color:var(--gruen)}.msg.err{background:#fbeae6;border-color:var(--terra)}.msg.info{background:#fdf6dd;border-color:var(--senf)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.tabs a{padding:7px 14px;border-radius:20px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem}.tabs a.on{background:var(--blau);border-color:var(--blau);color:#fff}
.filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.filter .tabs{margin:0;flex:1}.filter input[type=search]{width:300px;max-width:100%;margin:0}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
table.list{width:100%;border-collapse:collapse;font-size:.93rem}
table.list th{text-align:left;padding:11px 12px;background:var(--blau);color:#fff;white-space:nowrap;font-weight:600}table.list th a{color:#fff;text-decoration:none}
table.list td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:middle}table.list tbody tr:nth-child(even){background:#fafbfb}table.list tbody tr:hover{background:#f1f7f7}
table.list tr.gone td{color:var(--muted)}td.num,th.num{text-align:right;white-space:nowrap}td.empty{text-align:center;padding:30px;color:var(--muted)}
a.name{font-weight:700;text-decoration:none}td.act,th.act{white-space:nowrap;text-align:right}td.act form{display:inline}
.icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:0;background:none;color:var(--blau);cursor:pointer;vertical-align:middle}
.icon:hover{background:#e3eef2;color:var(--blau-d)}.icon.del{color:var(--terra)}.icon.del:hover{background:#fbeae6}
.tag{display:inline-block;padding:1px 9px;border-radius:12px;background:#e9edef;color:#4a5760;font-size:.78rem;font-weight:700;white-space:nowrap}.tag.admin{background:var(--senf);color:#3b2f00}.tag.ok{background:#dfeacb;color:#3f4d12}.tag.bad{background:#f6d5cd;color:#7c2414}
dl.ro{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 12px}dl.ro dt{color:var(--muted)}dl.ro dd{margin:0;font-weight:600}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px 14px}.checks label{margin:0 0 6px}.check.sens{color:var(--terra);font-weight:700}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.stats div{background:var(--bg);border-radius:8px;padding:10px 16px;font-size:.85rem;color:var(--muted)}.stats b{display:block;font-size:1.5rem;color:var(--ink)}.stats .bad b{color:var(--terra)}
ul.plain{padding-left:20px}ul.plain li{margin-bottom:4px}
pre.mailbody{white-space:pre-wrap;background:var(--bg);padding:14px;border-radius:8px;font:inherit;font-size:.93rem;max-height:260px;overflow:auto}
.bar{height:12px;background:#e3e8ea;border-radius:6px;overflow:hidden;margin:14px 0 8px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--senf),var(--terra),var(--tuerkis),var(--blau));transition:width .4s}
@media(max-width:640px){.fields{grid-template-columns:1fr}.fields label.half{grid-column:1/-1}h1{font-size:1.4rem}.card{padding:16px}}
@media print{header.top,footer,.actions,.btn,nav{display:none!important}body{background:#fff}.tablewrap{border:0}table.list th{background:#fff;color:#000;border-bottom:2px solid #000}}

/* ---------- Kopfzeile fest, responsive Stufen (v2) ---------- */
html{overflow-y:scroll;scrollbar-gutter:stable}
header.top .wrap{flex-wrap:nowrap}
.brand{flex:0 0 auto}
nav{flex-wrap:nowrap;white-space:nowrap}
.burger{display:none}
main.wrap{padding-top:26px;padding-bottom:40px}footer.wrap{padding-top:18px;padding-bottom:30px}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.tablewrap{-webkit-overflow-scrolling:touch}
@media(max-width:1120px){
header.top .wrap{flex-wrap:wrap;row-gap:4px}
nav:not(.few){order:3;flex:1 0 100%;overflow-x:auto;margin:0 -8px;scrollbar-width:thin}
nav.few{margin-left:auto}
}
@media(max-width:760px){
.wrap{padding:0 14px}
header.top .wrap{padding-top:8px;padding-bottom:8px}
.brand{gap:10px}.brand img{width:44px;height:44px}.brand strong{font-size:1rem}
.burger{display:inline-flex;align-items:center;gap:10px;margin-left:auto;padding:10px 14px;border:2px solid var(--blau);border-radius:8px;background:#fff;color:var(--blau);font:inherit;font-weight:700;cursor:pointer}
.burger::before{content:"";width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
.burger[aria-expanded=true]{background:var(--blau);color:#fff}
nav:not(.few){display:none;flex-direction:column;align-items:stretch;white-space:normal;overflow:visible;margin:0;padding:6px 0 2px;border-top:1px solid var(--line)}
nav:not(.few).open{display:flex}
nav:not(.few) a,nav:not(.few) button.link{display:block;width:100%;text-align:left;padding:13px 14px;font-size:1.02rem}
nav.few a,nav.few button.link{padding:8px 9px}
main.wrap{padding-top:18px;padding-bottom:28px;min-height:60vh}
.card.narrow{margin:16px auto}
.btn{text-align:center}
.actions .btn,.actions form{flex:1 1 auto}.actions form .btn{width:100%}
.filter{gap:8px}.filter .tabs{flex:1 0 100%}.filter input[type=search]{flex:1 1 0;width:auto;min-width:0}
.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.tabs a{white-space:nowrap}
.icon{width:42px;height:42px}
table.list{font-size:.9rem}table.list th,table.list td{padding:9px 10px}
.stats div{flex:1 1 40%}
.checks{grid-template-columns:1fr 1fr}
dl.ro{grid-template-columns:1fr;gap:0}dl.ro dd{margin-bottom:8px}
footer.wrap{padding-top:14px;padding-bottom:24px}
.tag{white-space:normal}dd,table.members td{overflow-wrap:anywhere}
table.members thead{display:none}
table.members,table.members tbody,table.members td{display:block}
table.members tr{display:flex;flex-direction:column;position:relative;padding:12px 12px 10px;border-top:1px solid var(--line)}
table.members tbody tr:first-child{border-top:0}
table.members td{border:0;padding:1px 0;text-align:left;white-space:normal}
table.members td:empty{display:none}
table.members td:nth-child(2){order:-1;font-size:1.05rem;padding:0 96px 4px 0}
table.members td.act{position:absolute;top:4px;right:4px;padding:0}
table.members td.empty{padding:24px 0;text-align:center}
table.members td:not(.empty):not(.act):not(:nth-child(2))::before{display:inline-block;min-width:5.4em;color:var(--muted);font-size:.8rem;font-weight:400}
table.members td:not(.empty):nth-child(1)::before{content:"Nr."}
table.members td:nth-child(3)::before{content:"Ort"}
table.members td:nth-child(4)::before{content:"E-Mail"}
table.members td:nth-child(5)::before{content:"Mobil"}
table.members td:nth-child(6)::before{content:"Beitrag"}
table.members td:nth-child(7)::before{content:"IBAN"}
table.members td:nth-child(8)::before{content:"Eintritt"}
table.members td:nth-child(9)::before{content:"Login"}
}
@media(max-width:400px){.brand small{display:none}.checks{grid-template-columns:1fr}}
@media print{.burger{display:none!important}}
.brand img{width:64px;height:64px;border-radius:0}
@media(max-width:760px){.brand img{width:50px;height:50px}}
.uploadbtns{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 6px}.filebtn{position:relative;overflow:hidden}.filebtn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.picked{margin:4px 0 8px;padding-left:20px}.picked:empty{display:none}.btn.small{padding:5px 12px;font-size:.88rem}table.files td{vertical-align:middle}table.files td.act{text-align:right;white-space:nowrap}
.antragbox{grid-column:1/-1;margin:-4px 0 14px;padding:12px 14px 4px;border:1px dashed #b9c6cc;border-radius:8px;background:var(--bg)}.antragbox .uploadbtns{margin-top:4px}.filelist{list-style:none;margin:0 0 10px;padding:0}.filelist li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 0;border-bottom:1px solid var(--line)}.filelist li a{overflow-wrap:anywhere;font-weight:600}.filelist li .btn{margin-left:auto}
.steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0 0 20px;padding:0;color:var(--muted);font-weight:600}.steps li{display:flex;align-items:center;gap:8px}.steps span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);font-size:.85rem}.steps li.on{color:var(--ink)}.steps li.on span{background:var(--blau);border-color:var(--blau);color:#fff}.steps li.done span{border-color:var(--gruen);color:var(--gruen)}.pushright{margin-left:auto;align-self:center}table.einzug td:first-child{width:34px}table.einzug input[type=checkbox]{width:20px;height:20px}tr.sumrow td{border-top:2px solid var(--ink)}.narrowcard{max-width:620px}ol.howto{padding-left:20px;margin:0 0 10px}ol.howto li{margin:0 0 6px}
.antraghint{margin:0 0 8px}.dropzone{position:relative;border:2px dashed #9fb3bd;border-radius:8px;background:#fff;padding:22px 14px;text-align:center;color:var(--muted);margin:6px 0 4px;transition:background .15s,border-color .15s}.dropzone strong{color:var(--blau)}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.dropzone.over{border-color:var(--blau);background:#eaf2f6}.antragbox{background:#f7f9fa}
.nowrap{white-space:nowrap}
