/* WABE Mitgliederbereich */
body.app{background:var(--grund)}
.app-hülle{display:grid;grid-template-columns:262px minmax(0,1fr);min-height:100vh}
@media (max-width:900px){.app-hülle{grid-template-columns:minmax(0,1fr);padding-bottom:78px}}

/* Seitenleiste */
.rail{background:var(--creme);border-right:1px solid var(--hair);padding:20px 16px;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow-y:auto}
.rail .logo{margin:0 6px 20px}
.rail a.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-radius:13px;
  text-decoration:none;font-size:15px;color:var(--mut);margin-bottom:3px;min-height:44px}
.rail a.nav:hover{background:rgba(255,255,255,.6);color:var(--ink)}
.rail a.nav.an{background:var(--beere-t);color:var(--beere);font-weight:600}
.rail .mini{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:14px;margin-top:16px}
.rail .ich{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 6px 0;border-top:1px solid var(--hair)}
@media (max-width:900px){.rail{display:none}}

/* Untere Leiste auf dem Handy */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--hair);
  display:none;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
@media (max-width:900px){.tabs{display:grid;grid-template-columns:repeat(5,1fr)}}
.tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;text-decoration:none;
  font-size:11px;color:var(--mut);border-radius:12px}
.tabs a.an{color:var(--beere);font-weight:600;background:var(--beere-t)}
.tabs svg{width:22px;height:22px}

/* Arbeitsfläche */
main.buehne{padding:24px clamp(16px,3vw,34px) 40px;background-image:url("muster-fein.svg");background-size:132px auto}
.kopfzeile{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.kopfzeile h1{font-size:clamp(26px,3.4vw,33px)}
.kopfzeile p{margin-top:9px;color:var(--mut);font-size:15.5px;max-width:640px}
.mobil-kopf{display:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
@media (max-width:900px){.mobil-kopf{display:flex}}

/* Chat */
.chat{display:grid;grid-template-columns:230px minmax(0,1fr) 190px;gap:0;background:#fff;border:1px solid var(--hair);
  border-radius:var(--r);overflow:hidden;height:min(74vh,740px)}
@media (max-width:1100px){.chat{grid-template-columns:200px minmax(0,1fr)} .chat .online{display:none}}
@media (max-width:720px){.chat{grid-template-columns:minmax(0,1fr);height:auto} .chat .raeume{display:none} .chat.raumliste .raeume{display:block} .chat.raumliste .strom{display:none}}
.raeume{background:var(--grund);border-right:1px solid var(--hair);padding:14px 12px;overflow-y:auto}
.raeume a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:11px;
  text-decoration:none;color:var(--mut);font-size:14.5px;margin-bottom:2px}
.raeume a.an{background:var(--beere-t);color:var(--beere);font-weight:600}
.strom{display:flex;flex-direction:column;min-width:0}
.strom .kopf{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid var(--hair);background:#fff}
.strom .verlauf{flex-grow:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:2px;min-height:280px}
.strom .eingabe{display:flex;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--hair);background:var(--grund)}
.msg{display:flex;gap:11px;padding:9px 0}
.msg.eigen{flex-direction:row-reverse}
.msg .body{max-width:76%}
.msg .kopfz{display:flex;align-items:baseline;gap:8px;font-size:13px;flex-wrap:wrap}
.msg.eigen .kopfz{justify-content:flex-end}
.msg .kopfz b{font-weight:600}
.msg .kopfz .zeit{font-size:11.5px;color:var(--soft)}
.msg .txt{display:inline-block;margin-top:5px;padding:11px 15px;font-size:14.5px;line-height:1.55;
  border-radius:16px 16px 16px 4px;background:var(--neut);white-space:pre-wrap;word-break:break-word}
.msg.eigen .txt{border-radius:16px 16px 4px 16px;background:var(--beere);color:#fff}
.msg .werkzeug{display:flex;gap:6px;margin-top:6px;opacity:0;transition:opacity .2s}
.msg:hover .werkzeug,.msg .werkzeug.fest{opacity:1}
.msg.eigen .werkzeug{justify-content:flex-end}
.reakt{border:1px solid var(--hair);background:#fff;border-radius:99px;padding:3px 9px;font-size:12px;cursor:pointer;
  display:inline-flex;gap:5px;align-items:center;color:var(--mut)}
.reakt:hover{border-color:var(--beere-l);color:var(--beere)}
.reakt.an{background:var(--beere-t);border-color:var(--beere-t);color:var(--beere);font-weight:600}
.online{background:var(--grund);border-left:1px solid var(--hair);padding:16px 14px;overflow-y:auto}
.online a{display:flex;gap:10px;align-items:center;padding:7px 0;text-decoration:none}

/* Felder */
.feld{width:100%;min-height:48px;padding:12px 16px;border:1.5px solid var(--hair);border-radius:14px;background:#fff;
  font-family:var(--sans);font-size:15px;color:var(--ink)}
.feld:focus{outline:none;border-color:var(--beere-l);box-shadow:0 0 0 4px rgba(142,42,91,.10)}
textarea.feld{min-height:96px;line-height:1.55;resize:vertical}
.rund{border-radius:99px}
label.lab{display:block;font-size:13.5px;font-weight:600;margin:0 0 7px}
.formzeile{margin-bottom:16px}
.hinweis{background:var(--gold-t);border:1px solid #F3D7BC;border-radius:16px;padding:14px 18px;font-size:14px;line-height:1.6}

/* Listen und Karten */
.liste{display:flex;flex-direction:column;gap:12px}
.reihe{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--hair);border-radius:16px;padding:14px 18px}
@media (max-width:620px){.reihe{flex-wrap:wrap;gap:10px}}
.kachel{background:#fff;border:1px solid var(--hair);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.kachel>img{width:100%;height:150px;object-fit:cover}
.kachel .txt{padding:16px;display:flex;flex-direction:column;flex-grow:1}
.kachel h3{font-size:17px}
.kachel p{margin-top:9px;font-size:13.5px;color:var(--mut);line-height:1.55;flex-grow:1}
.kachel .fuss{margin-top:14px;padding-top:12px;border-top:1px solid var(--hair);display:flex;align-items:center;
  justify-content:space-between;gap:10px;font-size:12.5px;color:var(--mut)}
.filter{display:flex;gap:8px;flex-wrap:wrap}
.filter button{border:1px solid var(--hair);background:#fff;color:var(--mut);border-radius:99px;padding:9px 15px;
  font-family:var(--sans);font-size:13.5px;cursor:pointer;min-height:40px}
.filter button.an{background:var(--beere);border-color:var(--beere);color:#fff;font-weight:600}

/* Schloss */
.schloss{position:relative}
.schloss .deckel{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,246,248,.2),rgba(247,246,248,.94));
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:24px;
  border-radius:var(--r)}

/* Meldung */
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:200;
  background:var(--ink);color:#fff;padding:13px 20px;border-radius:99px;font-size:14.5px;pointer-events:none;
  transition:opacity .25s,transform .25s;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.toast.zeig{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:901px){.toast{bottom:32px}}

/* Dialog */
.dialog{position:fixed;inset:0;z-index:150;background:rgba(28,25,32,.45);display:none;align-items:center;justify-content:center;padding:18px}
.dialog.auf{display:flex}
.dialog .box{background:#fff;border-radius:22px;max-width:520px;width:100%;padding:26px;max-height:88vh;overflow-y:auto;
  box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}

/* Mehrspaltige Bereiche brechen auf dem Handy um */
@media (max-width:900px){
  .startgitter{grid-template-columns:minmax(0,1fr)!important}
  .kopfzeile h1{font-size:26px}
}
.quer{flex-direction:row}
.quer>img{width:220px;height:auto;min-height:170px;object-fit:cover}
@media (max-width:700px){
  .quer{flex-direction:column}
  .quer>img{width:100%;height:180px;min-height:0}
  .chat{grid-template-columns:minmax(0,1fr)}
  .raeume{display:flex;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--hair)}
  .raeume a{white-space:nowrap}
  .raeume>div{display:none}
  .strom .verlauf{max-height:none}
}
