.konto{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.konto button{font-size:12px;padding:6px 9px}
.kopf{flex-wrap:wrap}
.kopf>.konto{margin-left:auto}

.auth-seite{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top left,#181713,transparent 65%),#181713}
.auth-karte{width:100%;max-width:440px;background:#1d1b17;border:1px solid #3a352c;border-radius:20px;padding:36px;box-shadow:0 18px 70px rgba(0, 0, 0, 0.141)}
.auth-karte h1{margin:26px 0 12px}
.auth-karte label,.portal-seite label,.zugang-seite label,.konto-dialog label{display:grid;gap:6px;margin:14px 0;font-weight:500}
.auth-karte input,.portal-seite input,.portal-seite textarea,.portal-seite select,.zugang-seite input,.zugang-seite select,.konto-dialog input{width:100%;box-sizing:border-box}
.auth-karte button[type=submit]{width:100%;margin-top:12px}
.auth-karte [role=alert],[data-fehler]{color:#e1848b;white-space:pre-wrap}
.auth-karte .marke{font-size:21px}

.portal-seite{max-width:1180px;margin:auto;padding:30px 24px}
.portal-tabs{display:flex;gap:10px;margin:20px 0 28px;border-bottom:1px solid #3a352c;padding-bottom:12px}
.portal-tabs a{padding:9px 16px;border-radius:8px}
.portal-tabs a[aria-current="page"]{background:#1a1915;color:white}
.portal-karten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.portal-seite .karte,.zugang-seite .karte{background:#1d1b17;border:1px solid #3a352c;border-radius:14px;padding:24px}
.portal-bilder{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:16px 0}
.portal-bilder figure{margin:0;min-width:0;flex:0 0 100%;scroll-snap-align:start}
.portal-bilder img{display:block;width:100%;max-height:520px;object-fit:contain;background:#181713;border-radius:8px}
.portal-bilder figcaption{font-size:12px;margin-top:8px}
.portal-caption{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.portal-status{font-size:12px;padding:4px 10px;border-radius:20px;background:#181713}
.portal-material{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.portal-material>form{min-width:0}
.portal-uploadliste{list-style:none;padding:0}
.portal-uploadliste li{padding:14px 0;border-bottom:1px solid #3a352c;overflow-wrap:anywhere}
.portal-briefing{max-width:760px}
.portal-briefing input[type=number]{max-width:120px}
#portal-meldung:not(:empty){background:#2a2722;padding:14px 18px;border-radius:10px;margin:16px 0}
#portal-meldung.portal-fehler{background:#3d1a1a;color:#db8a91}
.zugang-liste{display:grid;gap:16px;margin-top:24px}
.zugang-karte h3{margin-top:0}
.zugang-karte label:has(input[type=number]){max-width:180px}
.zugang-seite label.checkbox{display:flex;align-items:center;gap:10px}
.zugang-seite input[type=checkbox]{width:auto}
.einladungslink input{font-family:monospace;font-size:12px}
.konto-dialog{border:1px solid #3a352c;border-radius:16px;width:min(430px,90vw);padding:28px}
.konto-dialog::backdrop{background:rgba(0, 0, 0, 0.55)}

@media(max-width:720px){.portal-karten,.portal-material{grid-template-columns:1fr}
.portal-seite{padding:20px 14px}
.portal-seite .karte,.zugang-seite .karte{padding:18px}
.portal-tabs{gap:3px}
.portal-tabs a{padding:9px}
.auth-karte{padding:24px}
.kopf>.konto{margin-left:0}
.zugang-karte .zeile{flex-wrap:wrap}
}


[hidden]{display:none!important}
.portal-kopf{display:flex;align-items:center;gap:20px;padding:20px 30px;border-bottom:1px solid #3a352c;background:#1d1b17;flex-wrap:wrap}
.portal-kopf #konto{margin-left:auto}
.portal-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.7px;color:#a39b8e;margin:22px 0 8px}
.portal-beitraege{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.portal-beitrag{min-width:0;border:1px solid #3a352c;border-radius:16px;background:#1d1b17;overflow:hidden}
.portal-beitragtext{padding:24px}
.portal-beitrag .portal-bilder{margin:0;background:#181713}
.portal-bilder>a{flex:0 0 100%;min-width:0;scroll-snap-align:start}
.portal-bilder img{max-height:540px;border-radius:0}
.portal-beitrag .inline{flex-wrap:wrap}
.portal-fehler{color:#e1848b}
.portal-formulare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.portal-materialliste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal-materialliste img{width:100%;height:180px;object-fit:contain;background:#181713}
.portal-materialliste .karte{min-width:0;overflow-wrap:anywhere}
.portal-materialliste a{display:block;margin-top:14px}
.portal-formulare+h2{margin-top:32px}
@media(max-width:720px){.portal-beitraege,.portal-formulare,.portal-materialliste{grid-template-columns:1fr}
.portal-kopf{padding:16px;gap:12px}
.portal-kopf #konto{margin-left:0}
.portal-tabs{flex-wrap:wrap}
.portal-beitragtext{padding:18px}
}


.bildauswahl{border:1px solid #3a352c;border-radius:12px;padding:16px;margin:18px 0;min-width:0}.bildauswahl legend{font-weight:700}.bildauswahl [hidden]{display:none!important}.bildauswahl img{display:block;width:100%;max-width:360px;object-fit:contain;background:#1d1b17;border-radius:8px;margin:12px 0}.redaktion-dialog{width:min(760px,calc(100vw - 24px));box-sizing:border-box;max-height:90dvh;overflow:auto}.redaktion-dialog [data-vorschlag]{margin:20px 0;padding:16px;background:#181713;border-radius:12px}.redaktion-dialog .zeile h2{min-width:0}.redaktion-dialog select{max-width:100%}

.personenbild-dialog [hidden]{display:none!important}.personenbild-dialog [data-personenfoto]{max-height:200px;max-width:100%;object-fit:contain;justify-self:start;border-radius:8px}.personenbild-dialog [data-neues-bild]{max-width:100%;height:auto;border-radius:12px}.personenbild-dialog [data-ergebnis]{display:grid;gap:14px}.personenbild-dialog [data-ergebnis] h3{margin:0}.personenbild-dialog select{min-width:0;width:100%}

/* Klick-Gründe fürs Feedback (Plan Schritt 9), im Portal und beim Betreiber */
.gruende{margin:6px 0 2px;gap:6px}
.gruende button{font-size:13px;padding:4px 10px;border:1px solid var(--rand);border-radius:999px;background:transparent;color:var(--text-schwach)}
.gruende button[aria-pressed="true"]{background:var(--akzent-hell);border-color:var(--akzent);color:var(--text)}

/* Wochenvorschlag im Portal (Plan Schritt 8) */
.portal-woche{margin-bottom:16px}
.wochenthemen{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.wochenthemen label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--rand);border-radius:10px;cursor:pointer;font-weight:400}
.wochenthemen label>span{display:grid;gap:2px;min-width:0}
.wochenthemen input{margin-top:3px;flex:none;width:auto}
.wochenthemen input:checked+span strong{color:var(--akzent)}
.wochenthemen li.erledigt label{opacity:.6;cursor:default}
.wochenthemen li{margin:0}
/* Link für die Kundin im Pop-up (01.10.2026, static/zugaenge.js) */
.einladung-dialog{width:min(540px,92vw)}
.einladung-dialog h2{margin:0}
.einladung-dialog input[readonly]{font-size:14px}
.einladung-dialog .inline{display:flex;flex-wrap:wrap;gap:10px}

/* Text an der Beitragskarte als Editor (02.10.2026) */
.portal-texteditor{display:grid;gap:10px;margin:6px 0 14px}.portal-texteditor label{margin:0}
.portal-texteditor textarea.caption{min-height:160px;line-height:1.6;resize:vertical}
.portal-texteditor-grund summary{cursor:pointer;color:var(--text-schwach,#a39b8e)}.portal-texteditor-grund textarea{margin-top:6px}
.portal-texteditor .inline{align-items:center}.portal-texteditor [data-text-fehler]:empty{display:none}
.textchat-imtext{color:var(--akzent,#d9be8c);font-weight:600}
