:root { --gruen: #527c0a; --gruen-hell: #eef4e2; --rot: #b3261e; --rand: #dfe5d3; --grund: #f6f8f0; --text: #172012; --blass: #5d6a52; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--text); background: var(--grund); }
a { color: var(--gruen); }
h1 { font-size: 1.7rem; margin: .2em 0 .3em; line-height: 1.2; }
h2 { font-size: 1.15rem; margin: 1.8em 0 .6em; }
h3 { font-size: .95rem; margin: 1.4em 0 .3em; }
.kopf { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; background: #0e150a; color: #fff; }
.kopf__name { color: #fff; text-decoration: none; font-weight: 700; }
.kopf__name span { font-weight: 400; opacity: .7; margin-left: .4em; }
.huelle { max-width: 1180px; margin: 0 auto; padding: 20px; }
.karte { background: #fff; border: 1px solid var(--rand); border-radius: 12px; padding: 20px; }
.karte h2:first-child, .karte h1:first-child { margin-top: 0; }
.karte--schmal { max-width: 380px; margin: 8vh auto 0; }
.spalten { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 20px; align-items: start; }
@media (max-width: 820px) { .spalten { grid-template-columns: 1fr; } }
label { display: block; font-weight: 600; margin: 14px 0 4px; }
input:not([type=hidden]), textarea { width: 100%; padding: 9px 11px; border: 1px solid #b9c3a8; border-radius: 8px; font: inherit; background: #fff; }
form { margin: 0 0 14px; }
.knopf { display: inline-block; margin-top: 14px; padding: 9px 16px; border: 1px solid var(--gruen); border-radius: 8px; background: var(--gruen); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.knopf--still { background: transparent; color: inherit; border-color: #b9c3a8; }
.kopf .knopf--still { margin: 0; color: #fff; border-color: rgba(255,255,255,.4); }
.knopf--rot { background: #fff; color: var(--rot); border-color: var(--rot); }
.knopf[disabled] { opacity: .45; cursor: not-allowed; }
.zeile { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }
.zeile p { margin: 0; }
.meldung { padding: 12px 16px; border-radius: 10px; margin: 0 0 16px; background: var(--gruen-hell); border: 1px solid #c9dba6; }
.meldung--fehler { background: #fdeceb; border-color: #f1b9b5; }
.liste { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--rand); border-radius: 12px; overflow: hidden; }
.liste th, .liste td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--rand); }
.liste th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--blass); }
.liste tr:last-child td { border-bottom: 0; }
.status { display: inline-block; padding: 2px 10px; border-radius: 99px; font-size: .82rem; font-weight: 600; background: #e9ecf1; margin-right: .5em; }
.status--eingereicht { background: #fff1cc; }
.status--aenderung_gewuenscht { background: #ffe1c7; }
.status--veroeffentlicht { background: var(--gruen-hell); color: #36540a; }
.status--abgelehnt, .status--zurueckgezogen { background: #fdeceb; color: var(--rot); }
.unterzeile, .leer, .klein { color: var(--blass); }
.klein { font-size: .85rem; font-weight: 400; margin-left: .6em; }
.zurueck { margin: 0; }
dl { display: grid; grid-template-columns: 7.5em 1fr; gap: 6px 12px; margin: 0; }
dt { color: var(--blass); }
dd { margin: 0; }
.umbruch { white-space: pre-wrap; }
.quellen { padding-left: 1.2em; }
.quellen li { margin-bottom: .6em; overflow-wrap: anywhere; }
.vorschau { width: 100%; height: 80vh; border: 1px solid var(--rand); border-radius: 12px; background: #fff; }
