/*
 * Quartierswerk Asset Management – Aussehen.
 * Farben der Marke: Waldgrün #2F4B3C, Gold #C9A227, heller Grund #F7F5F2.
 * Regeln: nichts hängt an Maus-Überfahren, Tippflächen mindestens 44 px, keine festen Mindestbreiten in px.
 */

.qwam {
	--qw-gruen: #2F4B3C;
	--qw-gruen-hell: #3D6350;
	--qw-gold: #C9A227;
	--qw-grund: #F7F5F2;
	--qw-linie: #ECE9E3;
	--qw-text: #222;
	--qw-leise: #5A5A55;
	--qw-rot: #A4281F;
	--qw-rot-grund: #FBEDEB;
	--qw-gelb-grund: #FBF4DC;
	--qw-tipp: max(44px, 2.75rem);
	color: var(--qw-text);
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	max-width: 100%;
	overflow-wrap: break-word;
}
.qwam *, .qwam *::before, .qwam *::after { box-sizing: border-box; }
.qwam [hidden] { display: none !important; }
.qwam h1, .qwam h2, .qwam h3, .qwam h4 { font-family: Jost, Roboto, "Helvetica Neue", Arial, sans-serif; font-weight: 500; color: var(--qw-gruen); line-height: 1.25; margin: 0 0 .4rem; }
.qwam h2 { font-size: 1.6rem; }
.qwam h3 { font-size: 1.2rem; }
.qwam h4 { font-size: 1.05rem; margin-top: 1.2rem; }
.qwam p { margin: 0 0 .6rem; }
.qwam ul { margin: .3rem 0 .6rem 1.2rem; padding: 0; }
.qwam a { color: var(--qw-gruen); text-decoration: underline; }
/* Fokus: dunkler Rahmen mit Abstand – auf Weiß wie auf Grün gut zu sehen (Gold allein war zu blass) */
.qwam :focus-visible { outline: 3px solid #111; outline-offset: 2px; box-shadow: 0 0 0 6px rgba(201, 162, 39, .55); }

/* ------------------------------------------------------------ Knöpfe */
.qwam .qwam-knopf {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	min-height: var(--qw-tipp); padding: .45rem 1rem;
	font: 500 1rem/1.2 Jost, Roboto, Arial, sans-serif; letter-spacing: 0; text-transform: none; text-decoration: none;
	color: var(--qw-gruen); background: #fff; border: 1px solid var(--qw-gruen); border-radius: .5rem;
	cursor: pointer; box-shadow: none; white-space: normal; text-align: center; width: auto; height: auto;
}
.qwam .qwam-knopf-haupt { color: #fff; background: var(--qw-gruen); }
.qwam .qwam-knopf-haupt:active { background: var(--qw-gruen-hell); }
.qwam .qwam-knopf-leise { border-color: transparent; background: transparent; text-decoration: underline; padding-left: .3rem; padding-right: .3rem; }
.qwam .qwam-knopf-warn { color: #fff; background: var(--qw-rot); border-color: var(--qw-rot); }
.qwam .qwam-knopf-wahl { background: var(--qw-grund); }
.qwam .qwam-knopf:disabled { opacity: .55; cursor: default; }
.qwam .qwam-knoepfe { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* ------------------------------------------------------------ Kopf, Liste der Projekte */
.qwam .qwam-kopf { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; justify-content: space-between; align-items: flex-end; margin-bottom: 1rem; }
.qwam .qwam-kopf > div:first-child { flex: 1 1 18rem; }
.qwam .qwam-kopf-rechts { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: flex-end; }
.qwam .qwam-einleitung { color: var(--qw-leise); }
.qwam .qwam-laedt, .qwam .qwam-leer { color: var(--qw-leise); padding: .6rem 0; }
.qwam .qwam-artwahl { background: var(--qw-grund); border: 1px solid var(--qw-linie); border-radius: .6rem; padding: 1rem; margin-bottom: 1rem; }
.qwam .qwam-projekte { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 1rem; margin-top: 1rem; }
.qwam .qwam-projekt { background: #fff; border: 1px solid var(--qw-linie); border-top: 4px solid var(--qw-gruen); border-radius: .6rem; padding: 1rem; display: flex; flex-direction: column; gap: .4rem; }
.qwam .qwam-projekt-meta { color: var(--qw-leise); font-size: .9rem; margin: 0; }
.qwam .qwam-kurz { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 7rem), 1fr)); gap: .4rem .8rem; margin: .3rem 0 .5rem; }
.qwam .qwam-kurz dt, .qwam .qwam-paare dt { font-size: .82rem; color: var(--qw-leise); font-weight: 400; }
.qwam .qwam-kurz dd, .qwam .qwam-paare dd { margin: 0; font-weight: 600; }
.qwam .qwam-sicher { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; background: var(--qw-rot-grund); border-radius: .5rem; padding: .6rem; margin-top: .4rem; }
.qwam .qwam-minus { color: var(--qw-rot); }
.qwam.qwam-gast { background: var(--qw-grund); border-radius: .6rem; padding: 1.2rem; }

/* ------------------------------------------------------------ Hinweise und Meldungen */
.qwam .qwam-hinweis { background: var(--qw-grund); border-left: 4px solid var(--qw-gruen); border-radius: .3rem; padding: .7rem .9rem; margin: 0 0 .7rem; }
.qwam .qwam-hinweis-warn { background: var(--qw-gelb-grund); border-left-color: var(--qw-gold); }
.qwam .qwam-hinweis-fehler { background: var(--qw-rot-grund); border-left-color: var(--qw-rot); }
.qwam .qwam-hinweis > :last-child { margin-bottom: 0; }
.qwam .qwam-meldung { margin-bottom: .8rem; }
.qwam .qwam-status { font-size: .9rem; color: var(--qw-leise); }
.qwam .qwam-status-gespeichert::before { content: "✓ "; color: var(--qw-gruen); }
.qwam .qwam-status-fehler, .qwam .qwam-status-konflikt { color: var(--qw-rot); font-weight: 600; }
.qwam .qwam-status-offen { color: #7A5B00; }

/* ------------------------------------------------------------ Projektansicht */
.qwam .qwam-titel { margin: .2rem 0 0; overflow-wrap: anywhere; }
.qwam .qwam-projekt h3, .qwam .qwam-karte-kopf strong, .qwam .qwam-blatt-name { overflow-wrap: anywhere; min-width: 0; }
.qwam .qwam-ansicht { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--qw-gruen); border-radius: .5rem; overflow: hidden; }
.qwam .qwam-umschalter { min-height: var(--qw-tipp); padding: .4rem .9rem; border: 0; border-radius: 0; background: #fff; color: var(--qw-gruen); font: 500 .95rem/1.2 Jost, Roboto, Arial, sans-serif; cursor: pointer; flex: 1 1 auto; box-shadow: none; text-transform: none; letter-spacing: 0; width: auto; height: auto; }
.qwam .qwam-umschalter[aria-pressed="true"] { background: var(--qw-gruen); color: #fff; }
.qwam .qwam-blick { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; align-items: center; background: var(--qw-grund); border: 1px solid var(--qw-linie); border-radius: .6rem; padding: .7rem 1rem; margin-bottom: .8rem; }
.qwam .qwam-blick-wert { display: flex; flex-direction: column; }
.qwam .qwam-blick-name { font-size: .8rem; color: var(--qw-leise); }
.qwam .qwam-ampel { display: inline-block; border-radius: 1rem; padding: .25rem .8rem; font-weight: 600; font-size: .9rem; border: 1px solid transparent; }
.qwam .qwam-ampel-gruen { background: #E3EFE7; color: #1E3A2B; border-color: #9DBFA9; }
.qwam .qwam-ampel-gelb { background: var(--qw-gelb-grund); color: #5F4700; border-color: var(--qw-gold); }
.qwam .qwam-ampel-rot { background: var(--qw-rot-grund); color: var(--qw-rot); border-color: #DDA39E; }
.qwam .qwam-ampel-offen { background: #F1F0EC; color: #4A4A45; border-color: #CFCBC2; }
.qwam .qwam-ampel-offen::before { content: "○ "; }
.qwam .qwam-blick-grund { flex: 1 1 100%; font-size: .9rem; color: var(--qw-leise); }
.qwam .qwam-ampel-gruen::before { content: "● "; }
.qwam .qwam-ampel-gelb::before { content: "▲ "; }
.qwam .qwam-ampel-rot::before { content: "■ "; }
.qwam .qwam-tabs { display: flex; gap: .3rem; overflow-x: auto; padding-bottom: .3rem; margin-bottom: 1rem; border-bottom: 2px solid var(--qw-linie); scrollbar-width: thin; }
.qwam .qwam-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .4rem; min-height: var(--qw-tipp); padding: .4rem .8rem; border: 1px solid var(--qw-linie); border-radius: .5rem; background: #fff; color: var(--qw-text); font: 500 .95rem/1.2 Jost, Roboto, Arial, sans-serif; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; width: auto; height: auto; }
.qwam .qwam-tab-nr { display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--qw-linie); font-size: .8rem; }
.qwam .qwam-tab[aria-current] { background: var(--qw-gruen); border-color: var(--qw-gruen); color: #fff; }
.qwam .qwam-tab[aria-current] .qwam-tab-nr { background: var(--qw-gold); color: #222; }
.qwam .qwam-fuss { display: flex; justify-content: space-between; gap: .6rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--qw-linie); }

/* ------------------------------------------------------------ Abschnitte und Felder */
.qwam .qwam-abschnitt { background: #fff; border: 1px solid var(--qw-linie); border-radius: .6rem; padding: 1rem; margin-bottom: 1rem; }
.qwam .qwam-raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .9rem 1rem; align-items: start; }
.qwam .qwam-breit { grid-column: 1 / -1; }
.qwam .qwam-feld { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.qwam .qwam-feld-kopf { display: flex; align-items: center; justify-content: space-between; gap: .4rem; min-height: 1.9rem; }
.qwam .qwam-feld-kopf label { font-weight: 600; font-size: .92rem; margin: 0; color: var(--qw-text); }
.qwam input[type="text"], .qwam select, .qwam textarea {
	width: 100%; min-height: var(--qw-tipp); padding: .45rem .6rem; margin: 0;
	font: 400 1rem/1.3 Roboto, Arial, sans-serif; color: var(--qw-text);
	background: #fff; border: 1px solid #8A867D; border-radius: .45rem; box-shadow: none; height: auto; max-width: 100%;
}
.qwam textarea { min-height: 4.5rem; resize: vertical; }
.qwam input[aria-invalid="true"] { border-color: var(--qw-rot); background: var(--qw-rot-grund); }
.qwam .qwam-eingabe { display: flex; align-items: stretch; gap: 0; }
.qwam .qwam-eingabe input { flex: 1 1 auto; min-width: 0; }
.qwam .qwam-eingabe .qwam-zahl { text-align: right; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.qwam .qwam-einheit { display: inline-flex; align-items: center; padding: 0 .6rem; background: var(--qw-grund); border: 1px solid #8A867D; border-left: 0; border-radius: 0 .45rem .45rem 0; color: var(--qw-leise); font-size: .9rem; white-space: nowrap; }
.qwam .qwam-monat { gap: .4rem; }
.qwam .qwam-monat select { flex: 2 1 0; min-width: 0; }
.qwam .qwam-monat .qwam-jahr { flex: 1 1 0; text-align: center; }
.qwam .qwam-fragezeichen { flex: 0 0 auto; width: 1.9rem; height: 1.9rem; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid var(--qw-gruen); background: #fff; color: var(--qw-gruen); font: 600 .95rem/1 Roboto, Arial, sans-serif; cursor: pointer; position: relative; box-shadow: none; }
.qwam .qwam-fragezeichen::after { content: ""; position: absolute; inset: calc(-.5rem - 1px); }
.qwam .qwam-fragezeichen[aria-expanded="true"] { background: var(--qw-gruen); color: #fff; }
.qwam .qwam-hilfe { font-size: .9rem; color: var(--qw-leise); background: var(--qw-grund); border-radius: .4rem; padding: .45rem .6rem; margin: 0; }
.qwam ul.qwam-hilfe { padding-left: 1.6rem; margin: .4rem 0; }
.qwam .qwam-fehler { color: var(--qw-rot); font-size: .9rem; margin: 0; }
.qwam .qwam-schalter { display: inline-flex; align-items: center; gap: .6rem; min-height: var(--qw-tipp); cursor: pointer; font-weight: 600; font-size: .95rem; margin: 0; }
.qwam .qwam-schalter input { width: 1.4rem; height: 1.4rem; margin: 0; flex: 0 0 auto; accent-color: var(--qw-gruen); }
.qwam .qwam-schalter-zeile { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.qwam .qwam-feld-schalter { grid-column: 1 / -1; }

/* Vorschlagswerte */
.qwam .qwam-chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .15rem; }
.qwam .qwam-chip { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: var(--qw-tipp); padding: .25rem .65rem; border: 1px solid var(--qw-gold); border-radius: .5rem; background: #FFFCF0; color: var(--qw-text); cursor: pointer; font: 400 .85rem/1.2 Roboto, Arial, sans-serif; text-align: left; box-shadow: none; text-transform: none; letter-spacing: 0; width: auto; height: auto; }
.qwam .qwam-chip-wert { font-weight: 700; }
.qwam .qwam-chip-name { color: var(--qw-leise); font-size: .8rem; }
.qwam .qwam-chip-info { border-color: var(--qw-linie); background: #fff; color: var(--qw-gruen); text-decoration: underline; }
.qwam .qwam-chips-mehr { font-size: .88rem; background: var(--qw-grund); border-radius: .4rem; padding: .5rem .65rem; }
.qwam .qwam-chips-mehr p { margin: 0 0 .35rem; }
.qwam .qwam-quelle { font-size: .82rem; color: var(--qw-leise); margin: 0; }
.qwam .qwam-marke { display: inline-block; border-radius: .9rem; padding: .1rem .55rem; font-size: .8rem; font-weight: 600; margin: 0 .25rem .15rem 0; border: 1px solid transparent; white-space: nowrap; }
.qwam .qwam-marke-gut { background: #E3EFE7; color: #1E3A2B; border-color: #9DBFA9; }
.qwam .qwam-marke-mittel { background: #EAF0F6; color: #24415E; border-color: #A9BFD6; }
.qwam .qwam-marke-schwach { background: var(--qw-gelb-grund); color: #5F4700; border-color: var(--qw-gold); }
.qwam .qwam-marke-offen { background: #F1F0EC; color: #4A4A45; border-color: #CFCBC2; }

/* Verweise auf Quellen: groß genug zum Antippen */
.qwam .qwam-verweis { display: inline-flex; align-items: center; min-height: var(--qw-tipp); padding: 0 .2rem; }
.qwam .qwam-rueck { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: 0; }

/* Karten (Mieter, Darlehen, Kostenzeilen) */
.qwam .qwam-liste { display: flex; flex-direction: column; gap: .8rem; }
.qwam .qwam-karte { border: 1px solid var(--qw-linie); border-left: 4px solid var(--qw-gold); border-radius: .5rem; padding: .8rem; background: #FDFCFA; }
.qwam .qwam-karte-kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; margin-bottom: .5rem; }
.qwam .qwam-hinzu { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.qwam .qwam-hinzu select { flex: 1 1 12rem; width: auto; }
.qwam .qwam-summe { background: var(--qw-gruen); color: #fff; border-radius: .5rem; padding: .7rem 1rem; font-weight: 600; margin: 0 0 1rem; }
.qwam .qwam-summe:empty { display: none; }
.qwam .qwam-abschnitt .qwam-summe { margin: .9rem 0 0; }
.qwam .qwam-unterblock { border-top: 1px dashed #CFCBC2; padding-top: .7rem; margin-top: .3rem; display: flex; flex-direction: column; gap: .7rem; }
.qwam .qwam-baustein { border-left: 4px solid var(--qw-linie); }
.qwam .qwam-baustein-an { border-left-color: var(--qw-gruen); }
.qwam .qwam-baustein > .qwam-raster, .qwam .qwam-baustein > .qwam-liste { margin-top: .8rem; }
.qwam .qwam-bezug { display: flex; flex-direction: column; gap: .5rem; }

/* ------------------------------------------------------------ Tabellen */
.qwam .qwam-tabelle-huelle { overflow-x: auto; max-width: 100%; margin: .4rem 0 .8rem; -webkit-overflow-scrolling: touch; }
.qwam .qwam-tabelle { width: 100%; border-collapse: collapse; font-size: .92rem; background: #fff; margin: 0; }
.qwam .qwam-tabelle th, .qwam .qwam-tabelle td { padding: .45rem .6rem; border: 0; border-bottom: 1px solid var(--qw-linie); text-align: left; vertical-align: top; background: transparent; color: var(--qw-text); font-family: inherit; }
.qwam .qwam-tabelle thead th { background: var(--qw-grund); color: var(--qw-gruen); font-weight: 600; border-bottom: 2px solid var(--qw-gruen); }
.qwam .qwam-tabelle tbody th { font-weight: 500; }
.qwam .qwam-tabelle .qwam-r { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.qwam .qwam-tabelle-kz .qwam-r:last-child, .qwam .qwam-tabelle-quellen .qwam-r, .qwam .qwam-tabelle-annahmen .qwam-r, .qwam .qwam-tabelle-protokoll .qwam-r, .qwam .qwam-tabelle-check .qwam-r, .qwam .qwam-annahme .qwam-r { text-align: left; white-space: normal; }
.qwam .qwam-tabelle-jahre tbody th, .qwam .qwam-tabelle-vergleich tbody th { position: sticky; left: 0; background: #fff; }
.qwam .qwam-tabelle-jahre thead th:first-child, .qwam .qwam-tabelle-vergleich thead th:first-child { position: sticky; left: 0; }
.qwam .qwam-tabelle-jahre tbody th { white-space: nowrap; }
.qwam .qwam-zeile-summe th, .qwam .qwam-zeile-summe td { font-weight: 700; border-top: 2px solid var(--qw-gruen); background: var(--qw-grund) !important; }
.qwam .qwam-tabelle-quellen td:last-child, .qwam .qwam-tabelle-quellen th:last-child { white-space: nowrap; }
.qwam .qwam-paare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .6rem 1.2rem; margin: .4rem 0 .8rem; }

/* ------------------------------------------------------------ Ergebnis */
.qwam .qwam-kz-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)); gap: .7rem; }
.qwam .qwam-kz { border: 1px solid var(--qw-linie); border-radius: .5rem; padding: .6rem .75rem; background: var(--qw-grund); display: flex; flex-direction: column; gap: .15rem; }
.qwam .qwam-kz-kopf { display: flex; justify-content: space-between; align-items: flex-start; gap: .4rem; font-size: .86rem; color: var(--qw-leise); }
.qwam .qwam-kz strong { font-size: 1.25rem; font-family: Jost, Roboto, Arial, sans-serif; font-weight: 500; }
.qwam .qwam-kz .qwam-hilfe { background: #fff; }
.qwam .qwam-diagramm { display: block; width: 100%; height: auto; margin: .3rem 0; }
.qwam .qwam-d-text { font: 400 .8rem Roboto, Arial, sans-serif; fill: #4A4A45; }
.qwam .qwam-d-gitter { stroke: var(--qw-linie); stroke-width: 1; }
.qwam .qwam-d-null { stroke: #8C8A84; stroke-width: 1; }
.qwam .qwam-d-plus { fill: var(--qw-gruen); }
.qwam .qwam-d-minus { fill: var(--qw-rot); }
.qwam .qwam-d-linie { stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.qwam polyline.qwam-d-a { stroke: var(--qw-gruen); }
.qwam polyline.qwam-d-b { stroke: #9A7A0A; stroke-dasharray: 7 4; }
.qwam .qwam-legende { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; font-size: .88rem; color: var(--qw-leise); }
.qwam .qwam-legende-eintrag { display: inline-flex; align-items: center; gap: .4rem; }
.qwam .qwam-farbe { display: inline-block; width: 1.6rem; height: 0; border-top: 3px solid var(--qw-gruen); }
.qwam span.qwam-d-b { border-top: 3px dashed #9A7A0A; }

/* ------------------------------------------------------------ Objekt-Check */
.qwam .qwam-check-ergebnis { background: var(--qw-grund); border-radius: .5rem; padding: .8rem; margin: .8rem 0; }
.qwam .qwam-check-kopf { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .6rem; }
.qwam .qwam-check-zahl { font: 500 2rem/1 Jost, Roboto, Arial, sans-serif; color: var(--qw-gruen); }
.qwam .qwam-check-gruppen { display: flex; flex-direction: column; gap: .35rem; }
.qwam .qwam-check-zeile { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) 3rem; gap: .6rem; align-items: center; font-size: .9rem; }
.qwam .qwam-check-zeile strong { text-align: right; }
.qwam .qwam-balken { display: block; height: .6rem; background: #DDD9D0; border-radius: 1rem; overflow: hidden; }
.qwam .qwam-balken > span { display: block; height: 100%; background: var(--qw-gruen); }
.qwam .qwam-frage { border-top: 1px solid var(--qw-linie); padding: .9rem 0; display: flex; flex-direction: column; gap: .45rem; }
.qwam .qwam-frage-kopf { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem; }
.qwam .qwam-frage-text { font-weight: 600; margin: 0; }
.qwam .qwam-frage-marken { margin: 0; }
.qwam .qwam-antworten { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: .4rem; }
.qwam .qwam-antwort { min-height: var(--qw-tipp); padding: .45rem .7rem; text-align: left; border: 1px solid #8A867D; border-radius: .5rem; background: #fff; color: var(--qw-text); font: 400 .93rem/1.3 Roboto, Arial, sans-serif; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; white-space: normal; width: auto; height: auto; }
.qwam .qwam-antwort[aria-pressed="true"] { background: var(--qw-gruen); border-color: var(--qw-gruen); color: #fff; font-weight: 600; }
.qwam .qwam-antwort[aria-pressed="true"]::before { content: "✓ "; }
.qwam .qwam-frage-fuss { display: flex; justify-content: flex-end; }
/* Objekt-Check: Der Stand bleibt beim Durchgehen der Fragen unten sichtbar (am Handy ist der Kasten oben weit weg) */
.qwam .qwam-check-gruppe + .qwam-summe { position: sticky; bottom: 0; z-index: 2; }

/* ------------------------------------------------------------ Ausdruck für Kunden */
body.qwam-druckt > *:not(.qwam-druck) { display: none !important; }
body.qwam-druckt { background: #E9E6DF !important; margin: 0 !important; padding: 0 !important; }
.qwam.qwam-druck { padding: 1rem; }
.qwam .qwam-druck-leiste { max-width: 52rem; margin: 0 auto 1rem; background: #fff; border-radius: .6rem; padding: .8rem 1rem; display: flex; flex-direction: column; gap: .6rem; }
.qwam .qwam-blatt { max-width: 52rem; margin: 0 auto; background: #fff; padding: clamp(1rem, 4vw, 2.5rem); box-shadow: 0 1px 6px rgba(0, 0, 0, .15); }
.qwam .qwam-blatt .qwam-abschnitt { border: 0; padding: 0; margin: 0 0 1.4rem; }
.qwam .qwam-blatt .qwam-abschnitt > h3 { border-bottom: 2px solid var(--qw-gold); padding-bottom: .2rem; margin-bottom: .6rem; }
.qwam .qwam-blatt-kopf { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; border-bottom: 3px solid var(--qw-gruen); padding-bottom: .8rem; margin-bottom: 1.2rem; }
.qwam .qwam-blatt-kopf h1 { font-size: 1.7rem; margin: 0; }
.qwam .qwam-logo { max-height: 3.6rem; max-width: 40%; width: auto; height: auto; }
.qwam .qwam-logo-text { font: 500 1.4rem Jost, Roboto, Arial, sans-serif; color: var(--qw-gruen); }
.qwam .qwam-blatt-name { font-size: 1.15rem; font-weight: 600; margin: .1rem 0; }
.qwam .qwam-blatt-meta { font-size: .85rem; color: var(--qw-leise); margin: 0; }
.qwam .qwam-blatt-fuss { border-top: 1px solid var(--qw-linie); padding-top: .7rem; font-size: .82rem; color: var(--qw-leise); }
.qwam .qwam-blatt .qwam-tabelle { font-size: .85rem; }
.qwam .qwam-blatt .qwam-tabelle th, .qwam .qwam-blatt .qwam-tabelle td { padding: .3rem .45rem; }

@media print {
	@page { margin: 14mm 14mm 16mm; }
	html { margin: 0 !important; }
	body.qwam-druckt { background: #fff !important; }
	.qwam.qwam-druck { padding: 0; font-size: 10.5pt; }
	.qwam .qwam-druck-leiste { display: none !important; }
	.qwam .qwam-blatt { box-shadow: none; padding: 0; max-width: none; }
	.qwam .qwam-blatt .qwam-abschnitt > h3 { break-after: avoid; }
	/* Keine Überschrift allein am Seitenende: Die Überschrift bekommt unsichtbar die Höhe von ein paar Zeilen dazu,
	   die nicht getrennt werden darf. Passt das nicht mehr auf die Seite, rutscht sie mit auf die nächste. */
	.qwam .qwam-blatt h3, .qwam .qwam-blatt h4 { break-inside: avoid; }
	.qwam .qwam-blatt h3::after, .qwam .qwam-blatt h4::after { content: ""; display: block; height: 7rem; margin-bottom: -7rem; }
	/* Überschrift und Diagramm bleiben auf einer Seite */
	.qwam .qwam-zusammen { break-inside: avoid; }
	/* Jahrestabelle mit vielen Spalten: kleiner setzen und Kopfzeilen umbrechen, damit sie auf A4 passt (sonst verkleinert der Browser alles) */
	.qwam .qwam-blatt .qwam-tabelle-jahre { font-size: .72rem; }
	.qwam .qwam-blatt .qwam-tabelle-jahre th, .qwam .qwam-blatt .qwam-tabelle-jahre td { padding: .2rem .3rem; }
	.qwam .qwam-blatt .qwam-tabelle-jahre thead th { white-space: normal; }
	.qwam .qwam-tabelle tr, .qwam .qwam-diagramm, .qwam .qwam-paare, .qwam .qwam-blatt-fuss, .qwam .qwam-hinweis { break-inside: avoid; }
	.qwam .qwam-tabelle-huelle { overflow: visible; }
	.qwam .qwam-tabelle thead { display: table-header-group; }
	.qwam .qwam-tabelle-jahre tbody th, .qwam .qwam-tabelle-vergleich tbody th { position: static; }
	.qwam, .qwam * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.qwam a { text-decoration: none; color: inherit; }
}

/* ------------------------------------------------------------ schmale Bildschirme */
@media (max-width: 40rem) {
	.qwam h2 { font-size: 1.35rem; }
	.qwam .qwam-abschnitt { padding: .8rem; }
	.qwam .qwam-kopf-rechts { justify-content: flex-start; }
	.qwam .qwam-fuss .qwam-knopf { flex: 1 1 0; }
	.qwam .qwam-check-zeile { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) 2.6rem; }
}

/* === 1.1.0 Sprechblase, Fachwörter, Aufklappen, Unterabschnitte, Zustand, Unterlagen === */

/* Sprechblase: erscheint beim Darüberfahren und bei der Tastatur. Jede Erklärung ist zusätzlich durch Antippen erreichbar. */
.qwam.qwam-blase {
	position: fixed; z-index: 100000; left: 0; top: 0;
	background: #1F2F27; color: #fff; border-radius: .5rem; padding: .55rem .75rem;
	font: 400 .9rem/1.45 Roboto, "Helvetica Neue", Arial, sans-serif; text-align: left; white-space: normal;
	/* Die Blase lässt Klicks durch: Sie kann nie ein Feld sperren, über dem sie liegt */
	box-shadow: 0 4px 14px rgba(0, 0, 0, .28); pointer-events: none;
}
.qwam.qwam-blase[hidden] { display: none !important; }
body.qwam-druckt > .qwam-blase:not([hidden]) { display: block !important; }

/* Fachwort mit Erklärung: sieht aus wie Text mit gepunkteter Linie, ist aber ein Knopf (Maus, Tastatur, Antippen) */
.qwam .qwam-begriff {
	display: inline; padding: 0; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; min-height: 0; width: auto; height: auto;
	font: inherit; color: inherit; letter-spacing: 0; text-transform: none; text-align: inherit; white-space: inherit; cursor: help;
	text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: .22em;
}
.qwam .qwam-begriff[aria-expanded="true"] { text-decoration-style: solid; }
/* In Tabellen ist das Fachwort eine Tippfläche: mindestens so hoch wie jeder andere Knopf */
.qwam .qwam-tabelle .qwam-begriff { display: inline-flex; align-items: center; min-height: var(--qw-tipp); min-width: var(--qw-tipp); text-align: inherit; }
.qwam .qwam-tabelle th.qwam-r .qwam-begriff { justify-content: flex-end; text-align: right; }
.qwam .qwam-blatt .qwam-tabelle .qwam-begriff { min-height: 0; display: inline; }
.qwam .qwam-feld-kopf label { cursor: default; }

/* Abschnitt zum Auf- und Zuklappen */
.qwam .qwam-aufklapp > h3 { margin: 0; }
.qwam .qwam-aufklapp-knopf {
	display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .7rem; width: 100%; min-height: var(--qw-tipp); padding: .2rem 0;
	border: 0; background: none; box-shadow: none; border-radius: .3rem; cursor: pointer; text-align: left;
	font: inherit; color: var(--qw-gruen); letter-spacing: 0; text-transform: none;
}
.qwam .qwam-aufklapp-pfeil { flex: 0 0 auto; width: .6rem; height: .6rem; border-right: 2px solid var(--qw-gruen); border-bottom: 2px solid var(--qw-gruen); transform: rotate(-45deg); margin: 0 .3rem 0 .15rem; }
.qwam .qwam-aufklapp-knopf[aria-expanded="true"] .qwam-aufklapp-pfeil { transform: rotate(45deg); }
.qwam .qwam-aufklapp-titel { flex: 0 1 auto; }
.qwam .qwam-aufklapp-info { flex: 1 1 auto; font: 400 .88rem/1.3 Roboto, Arial, sans-serif; color: var(--qw-leise); text-align: right; }
.qwam .qwam-aufklapp-inhalt { margin-top: .6rem; }
.qwam .qwam-aufklapp-inhalt > * + * { margin-top: .7rem; }

/* Unterabschnitte in einem Schritt */
.qwam .qwam-unterreiter { margin: 0 0 1rem; }

/* Zustand und Arbeiten, Angebote, Mieter, Monate */
.qwam .qwam-arbeit-stand:empty { display: none; }
.qwam .qwam-zeile-beste th, .qwam .qwam-zeile-beste td { background: #EEF3EF; font-weight: 600; }
.qwam .qwam-unsicher { color: #7A5B00; }
.qwam .qwam-tabelle-angebote tbody th, .qwam .qwam-tabelle-mieter tbody th, .qwam .qwam-tabelle-monate tbody th, .qwam .qwam-tabelle-sicher tbody th,
.qwam .qwam-tabelle-erstes tbody th { position: sticky; left: 0; background: #fff; }
.qwam .qwam-tabelle-angebote thead th:first-child, .qwam .qwam-tabelle-mieter thead th:first-child, .qwam .qwam-tabelle-monate thead th:first-child,
.qwam .qwam-tabelle-sicher thead th:first-child, .qwam .qwam-tabelle-erstes thead th:first-child { position: sticky; left: 0; }
.qwam .qwam-tabelle-monate tbody th, .qwam .qwam-tabelle-sicher tbody th { white-space: nowrap; }
.qwam .qwam-tabelle-arbeiten .qwam-r:nth-child(2), .qwam .qwam-tabelle-arbeiten .qwam-r:nth-child(3), .qwam .qwam-tabelle-arbeiten .qwam-r:nth-child(4),
.qwam .qwam-tabelle-mieter .qwam-r:nth-child(2):not(:nth-last-child(-n+7)) { text-align: left; white-space: normal; }
.qwam .qwam-tabelle td.qwam-umbruch { white-space: normal; text-align: left; }
.qwam .qwam-paare-text { grid-template-columns: 1fr; }
.qwam .qwam-paare-text dd { font-weight: 400; white-space: pre-line; }

/* Objekt-Check: Lage und Objekt nebeneinander */
.qwam .qwam-achsen-huelle { margin-top: .8rem; }
.qwam .qwam-achsen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .7rem; margin-bottom: .5rem; }
.qwam .qwam-achse { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .6rem; border: 1px solid var(--qw-linie); border-radius: .5rem; padding: .6rem .75rem; background: #fff; }
.qwam .qwam-achse-titel { flex: 1 0 100%; font: 500 1rem Jost, Roboto, Arial, sans-serif; color: var(--qw-gruen); }
.qwam .qwam-achse-text { flex: 1 0 100%; font-size: .86rem; color: var(--qw-leise); }

/* Unterlagen: drei Knöpfe je Zeile */
.qwam .qwam-unterlage .qwam-antworten { display: flex; flex-wrap: wrap; gap: .4rem; }
.qwam .qwam-unterlage .qwam-antwort { flex: 1 1 8rem; text-align: center; }
.qwam .qwam-antwort-fehlt[aria-pressed="true"] { background: var(--qw-rot); border-color: var(--qw-rot); }
.qwam .qwam-antwort-egal[aria-pressed="true"] { background: #5A5A55; border-color: #5A5A55; }

@media print {
	.qwam.qwam-blase { display: none !important; }
	.qwam .qwam-begriff { text-decoration: none; cursor: auto; }
	.qwam .qwam-tabelle-angebote tbody th, .qwam .qwam-tabelle-mieter tbody th, .qwam .qwam-tabelle-monate tbody th, .qwam .qwam-tabelle-sicher tbody th, .qwam .qwam-tabelle-erstes tbody th { position: static; }
	.qwam .qwam-blatt .qwam-tabelle-mieter, .qwam .qwam-blatt .qwam-tabelle-arbeiten { font-size: .74rem; }
	.qwam .qwam-blatt .qwam-tabelle-mieter th, .qwam .qwam-blatt .qwam-tabelle-mieter td { padding: .2rem .25rem; }
	.qwam .qwam-blatt .qwam-tabelle-mieter thead th, .qwam .qwam-blatt .qwam-tabelle-mieter tbody th { white-space: normal; }
	/* Lange Texte (Einschätzung) dürfen über die Seite laufen – aber nicht mitten in einem Absatz mit seiner Überschrift */
	.qwam .qwam-paare-text { break-inside: auto; }
	.qwam .qwam-paare-text > div { break-inside: avoid; }
	/* Die Summenzeile steht nicht allein auf der nächsten Seite */
	.qwam .qwam-tabelle tr.qwam-zeile-summe { break-before: avoid; }
}
@media (max-width: 40rem) {
	.qwam .qwam-aufklapp-info { flex: 1 0 100%; text-align: left; padding-left: 1.3rem; }
}

/* --- Nachbesserungen nach der Prüfung --- */
/* Schritte: Alle zehn sind immer zu sehen. Breit: umbrechen statt seitlich rollen. Schmal: fünf Spalten, Nummer über dem Namen. */
.qwam .qwam-tabs { flex-wrap: wrap; overflow-x: visible; gap: .25rem; }
.qwam .qwam-tab { padding: .4rem .55rem; gap: .3rem; }
/* Zeilen mit einem Fachwort sind höher: Beschriftung und Zahlen stehen trotzdem auf einer Linie */
.qwam .qwam-tabelle thead th { vertical-align: middle; }
.qwam .qwam-tabelle-erstes tbody th, .qwam .qwam-tabelle-erstes tbody td { vertical-align: middle; }
/* Angebote: Die erste Spalte (Name und Vermerk) bricht nicht in vier Zeilen um */
.qwam .qwam-tabelle-angebote tbody th { min-width: 11rem; }
@media (max-width: 48rem) {
	.qwam .qwam-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .25rem; }
	.qwam .qwam-tab { flex-direction: column; justify-content: center; gap: .1rem; padding: .25rem .1rem; font-size: .72rem; line-height: 1.15; text-align: center; overflow-wrap: anywhere; hyphens: auto; min-width: 0; }
	.qwam .qwam-tab-nr { width: 1.25rem; height: 1.25rem; font-size: .72rem; }
}
/* Leere Meldungszeilen nehmen keinen Platz weg */
.qwam p.qwam-hilfe:empty, .qwam p.qwam-summe:empty { display: none; }
/* Ziel des Fokus nach einem Schrittwechsel: Rahmen nur, wenn mit der Tastatur gearbeitet wird */
.qwam .qwam-fokusziel:focus { outline: none; }
.qwam .qwam-fokusziel:focus-visible { outline: 2px solid var(--qw-gold); outline-offset: 3px; border-radius: .2rem; }
/* Kleiner Aufklapp-Block in einer Karte (weitere Angaben zum Mietvertrag) */
.qwam .qwam-aufklapp-klein { border: 0; border-top: 1px dashed #CFCBC2; border-radius: 0; background: none; padding: .5rem 0 0; margin: .2rem 0 0; }
.qwam .qwam-aufklapp-klein .qwam-aufklapp-knopf { font-size: 1rem; }
.qwam .qwam-aufklapp-klein > h3 { font-size: 1rem; }
/* Objekt-Check: Gruppen zum Auf- und Zuklappen */
.qwam .qwam-check-gruppe.qwam-aufklapp .qwam-aufklapp-inhalt > div > * + * { margin-top: .7rem; }
/* Vorschau des Ausdrucks am Bildschirm: Die Jahrestabelle passt wie auf dem Papier ins Blatt (Kopf bricht um, Schrift etwas kleiner) */
.qwam .qwam-blatt .qwam-tabelle-jahre { font-size: .78rem; }
.qwam .qwam-blatt .qwam-tabelle-jahre th, .qwam .qwam-blatt .qwam-tabelle-jahre td { padding: .25rem .3rem; }
.qwam .qwam-blatt .qwam-tabelle-jahre thead th { white-space: normal; }
/* Hinweis unter einer Tabelle, die breiter ist als der Bildschirm */
.qwam .qwam-tabelle-tipp { background: none; padding: 0 0 .5rem; font-size: .85rem; margin-top: -.5rem; }
.qwam .qwam-antwort-angefordert[aria-pressed="true"] { background: #7A5B00; border-color: #7A5B00; }
@media print {
	/* Keine einzelne Zeile der Jahrestabelle allein auf der nächsten Seite; der Schlusshinweis bleibt beim Abschnitt davor */
	.qwam .qwam-blatt .qwam-tabelle-jahre tbody tr:nth-last-child(-n+4) { break-before: avoid; }
	.qwam .qwam-blatt-fuss { break-before: avoid; break-inside: avoid; }
	.qwam .qwam-tabelle-tipp { display: none; }
	.qwam .qwam-blatt thead { display: table-header-group; }
}
/* === Ende 1.1.0 === */

/* ------------------------------------------------------------ Seit 1.1.1: Orientierung, Verhandeln, Freigaben */

/* Kleiner Knopf unter einem Feld: „Was ist üblich? Wo kann ich verhandeln?“ */
.qwam .qwam-rat-huelle { margin-top: .15rem; }
.qwam .qwam-rat-knopf {
	display: inline-flex; align-items: center; gap: .4rem; min-height: var(--qw-tipp); padding: .2rem .1rem;
	border: 0; background: transparent; box-shadow: none; cursor: pointer; text-align: left;
	color: var(--qw-gruen); font: 500 .88rem/1.3 Roboto, "Helvetica Neue", Arial, sans-serif; text-decoration: underline; text-underline-offset: .15em;
}
.qwam .qwam-rat-zeichen {
	flex: 0 0 auto; width: 1.35rem; height: 1.35rem; border-radius: 50%; border: 1px solid var(--qw-gold); background: var(--qw-gelb-grund);
	display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
}
.qwam .qwam-rat-zeichen::before { content: "i"; font: 700 .85rem/1 Georgia, "Times New Roman", serif; color: var(--qw-gruen); }
.qwam .qwam-rat-knopf[aria-expanded="true"] .qwam-rat-zeichen { background: var(--qw-gold); }
.qwam .qwam-rat {
	font-size: .9rem; background: var(--qw-gelb-grund); border-left: 4px solid var(--qw-gold); border-radius: .3rem;
	padding: .6rem .75rem; margin: .1rem 0 .3rem; grid-column: 1 / -1; min-width: 0;
}
.qwam .qwam-rat p { margin: 0 0 .4rem; }
.qwam .qwam-rat ul { margin: 0 0 .5rem 1.1rem; }
.qwam .qwam-rat li { margin-bottom: .2rem; }
.qwam .qwam-rat .qwam-rat-titel { font-weight: 700; color: var(--qw-gruen); margin: .5rem 0 .2rem; }
.qwam .qwam-rat .qwam-rat-titel:first-child { margin-top: 0; }
.qwam .qwam-rat .qwam-rat-quellen { list-style: none; margin-left: 0; font-size: .84rem; }
.qwam .qwam-rat .qwam-rat-quellen a { display: inline-flex; align-items: center; min-height: var(--qw-tipp); padding: 0 .3rem; }
.qwam .qwam-rat .qwam-rat-quellen-knopf { font-weight: 700; }
.qwam .qwam-rat .qwam-rat-vorweg { font-weight: 600; border-bottom: 1px solid var(--qw-gold); padding-bottom: .4rem; margin-bottom: .5rem; }
.qwam .qwam-ende-allein { border-left-color: var(--qw-leise); }
.qwam .qwam-rat .qwam-hilfe { background: transparent; padding: 0; font-size: .82rem; }
.qwam .qwam-knopf-klein { min-height: var(--qw-tipp); padding: .3rem .8rem; font-size: .9rem; }

/* Hinweis in der Mieter-Karte: Enddatum fehlt (kein Fehler – deshalb ruhig) */
.qwam .qwam-ende-fehlt { border-left-color: var(--qw-gold); }
.qwam .qwam-gesperrt .qwam-hinweis { margin: 0; border-left-color: var(--qw-leise); }

/* Abschnitt „Verhandeln“: Grenzen als Kacheln */
.qwam .qwam-grenzen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .7rem; }
.qwam .qwam-grenze { border: 1px solid var(--qw-linie); border-left: 5px solid var(--qw-leise); border-radius: .5rem; padding: .7rem .85rem; background: var(--qw-grund); display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.qwam .qwam-grenze-gut { border-left-color: var(--qw-gruen); }
.qwam .qwam-grenze-schlecht { border-left-color: var(--qw-rot); background: var(--qw-rot-grund); }
.qwam .qwam-grenze-titel { font-size: .88rem; color: var(--qw-leise); }
.qwam .qwam-grenze strong { font: 500 1.4rem/1.2 Jost, Roboto, Arial, sans-serif; overflow-wrap: anywhere; }
.qwam .qwam-grenze-schlecht strong { color: var(--qw-rot); }
.qwam .qwam-grenze p { margin: 0; font-size: .9rem; }

/* Einstellungen der Verwaltung */
.qwam .qwam-freigabe p { margin: 0 0 .4rem; }
.qwam .qwam-freigabe .qwam-knoepfe { margin-top: .5rem; }

/* Ausdruck ohne Freigabe: Vermerk „nur intern“ – als Zeile oben und unten und quer über jeder Seite */
.qwam .qwam-intern-band { background: var(--qw-rot-grund); color: var(--qw-rot); border: 1px solid var(--qw-rot); border-radius: .3rem; padding: .35rem .6rem; font-weight: 700; text-align: center; margin: 0 0 .8rem; }
.qwam .qwam-wasserzeichen {
	position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-32deg); z-index: 5; pointer-events: none; user-select: none;
	font: 700 clamp(3rem, 14vw, 8rem)/1 Jost, Roboto, Arial, sans-serif; letter-spacing: .08em; white-space: nowrap; color: rgba(164, 40, 31, .13);
}
@media print {
	.qwam .qwam-wasserzeichen { font-size: 80pt; color: rgba(164, 40, 31, .16); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.qwam .qwam-intern-band { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* Jemand druckt die Arbeitsansicht über den Browser (nicht über „Ausdruck“): Ohne Freigabe steht auch dann der Vermerk auf dem Papier */
@media print {
	body:not(.qwam-druckt) .qwam.qwam-arbeit-intern::before {
		content: "Interner Arbeitsstand – nicht zur Weitergabe an Kunden."; display: block; margin: 0 0 .8rem; padding: .35rem .6rem; text-align: center; font-weight: 700;
		background: var(--qw-rot-grund); color: var(--qw-rot); border: 1px solid var(--qw-rot); border-radius: .3rem; -webkit-print-color-adjust: exact; print-color-adjust: exact;
	}
	body:not(.qwam-druckt) .qwam.qwam-arbeit-intern::after {
		content: "NUR INTERN"; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-32deg); z-index: 5; pointer-events: none;
		font: 700 80pt/1 Jost, Roboto, Arial, sans-serif; letter-spacing: .08em; white-space: nowrap; color: rgba(164, 40, 31, .16); -webkit-print-color-adjust: exact; print-color-adjust: exact;
	}
}

/* ---------------------------------------------------------------- seit 1.1.2 */
/* Knopf im Hinweis: führt direkt an die Stelle, an der man etwas ändern kann */
.qwam .qwam-knopf-klein { min-height: 2.75rem; padding: .35rem .5rem; font-size: .95rem; vertical-align: baseline; }
.qwam .qwam-warnungen .qwam-hinweis .qwam-knopf-klein { margin-left: -.5rem; }
/* Das Jahr, in dem am wenigsten übrig bleibt */
.qwam .qwam-zeile-schlecht th, .qwam .qwam-zeile-schlecht td { background: var(--qw-gelb-grund) !important; }
.qwam .qwam-zeile-schlecht th { font-weight: 700; }
@media print {
	.qwam .qwam-warnungen .qwam-knopf-klein { display: none; }
}
/* Deckung knapp (unter 1,2): gelb, nicht rot */
.qwam .qwam-tabelle td.qwam-knapp { color: #8a5a00; font-weight: 600; }
/* Jahrestabelle: Die Spalte „Jahr“ bleibt beim seitlichen Verschieben stehen */
.qwam .qwam-tabelle-jahre tbody th, .qwam .qwam-tabelle-jahre thead th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; }
.qwam .qwam-tabelle-jahre thead th:first-child { background: var(--qw-grund); }
.qwam .qwam-tabelle-jahre tr.qwam-zeile-schlecht th { background: var(--qw-gelb-grund) !important; }
/* Kennzahl mit „Was erwartet die Bank?“ */
.qwam .qwam-kz-mit-rat .qwam-rat-knopf { margin-top: .4rem; }
@media (max-width: 30rem) {
	/* Schrittnamen nicht mitten im Wort trennen: vier statt fünf Schritte je Zeile, damit „Finanzierung“ ganz hineinpasst */
	.qwam .qwam-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.qwam .qwam-tab { hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: keep-all; font-size: .7rem; }
}
/* Negative Zahlen und Deckung unter 1 in Tabellen rot (die allgemeine Tabellenfarbe war stärker) */
.qwam .qwam-tabelle td.qwam-minus { color: var(--qw-rot); font-weight: 600; }
@media print {
	/* Überschriften nicht allein am Seitenende */
	.qwam .qwam-blatt h3, .qwam .qwam-blatt h4 { break-after: avoid; page-break-after: avoid; }
}
@media print {
	/* Kleine Tabellen nicht über zwei Seiten verteilen */
	.qwam .qwam-blatt table.qwam-tabelle:not(.qwam-tabelle-jahre):not(.qwam-tabelle-monate) { break-inside: avoid; }
	.qwam .qwam-tabelle-jahre tbody th, .qwam .qwam-tabelle-jahre thead th:first-child { position: static; }
}
/* Offene Tafel an einer Kennzahl: Die Kachel nimmt die ganze Breite, damit der Text lesbar bleibt */
.qwam .qwam-kz-liste .qwam-kz-mit-rat:has(.qwam-rat-knopf[aria-expanded="true"]) { grid-column: 1 / -1; }
.qwam .qwam-legende-farbe { display: inline-block; width: .9rem; height: .9rem; vertical-align: -.1rem; background: var(--qw-gelb-grund); border: 1px solid var(--qw-gold); border-radius: .15rem; }

/* ================================================================ seit 1.1.3: modernes Erscheinungsbild
 * Gleiche Marke (Waldgrün, Gold, Jost, Roboto), ruhiger und klarer:
 * - Ein einziger kräftiger Blickfang: „Auf einen Blick“ als tiefgrünes Zahlenfeld mit großen Zahlen.
 * - Alles andere hell und leise: weiße Flächen mit feiner Linie, kühles Salbeigrau statt Beige.
 * - Rundungen nach Rang: Zahlenfeld 1.1rem · Abschnitt 1rem · Kachel .8rem · Feld .6rem · Schritte und Marken ganz rund.
 * - Nur am Bildschirm (der Ausdruck bleibt, wie er ist). Tippflächen bleiben mindestens 44 px.
 */
@media screen {
	.qwam {
		--qw-tief: #1E3329;
		--qw-flaeche: #F2F5F2;
		--qw-flaeche-2: #E8EEE9;
		--qw-linie-2: #DCE3DE;
		--qw-rahmen: #C3CCC6;
		--qw-leise: #56615A;
		--qw-text: #1C2420;
		--qw-schatten: 0 1px 2px rgba(30, 51, 41, .06), 0 8px 24px -12px rgba(30, 51, 41, .18);
		color: var(--qw-text);
		-webkit-font-smoothing: antialiased;
	}
	.qwam h2 { font-size: 1.75rem; font-weight: 600; letter-spacing: -.01em; }
	.qwam h3 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.005em; }
	.qwam h4 { font-weight: 600; }

	/* ---------- Knöpfe: klar, flach, mit sichtbarem Druckzustand */
	.qwam .qwam-knopf { border-radius: .65rem; border-color: var(--qw-rahmen); font-weight: 500; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
	.qwam .qwam-knopf:hover { border-color: var(--qw-gruen); background: var(--qw-flaeche); }
	.qwam .qwam-knopf-haupt, .qwam .qwam-knopf-haupt:hover { border-color: var(--qw-gruen); }
	.qwam .qwam-knopf-haupt:hover { background: var(--qw-gruen-hell); color: #fff; }
	.qwam .qwam-knopf-leise, .qwam .qwam-knopf-leise:hover { border-color: transparent; background: transparent; }
	.qwam .qwam-knopf-warn:hover { background: #8C2119; border-color: #8C2119; color: #fff; }
	.qwam .qwam-knopf-klein { border-radius: .55rem; }

	/* ---------- Projektliste */
	.qwam .qwam-projekt { border: 1px solid var(--qw-linie-2); border-top: 1px solid var(--qw-linie-2); border-radius: 1rem; padding: 1.15rem 1.2rem; gap: .5rem; position: relative; transition: border-color .15s ease, box-shadow .15s ease; }
	.qwam .qwam-projekt::before { content: ""; position: absolute; left: 1.2rem; top: 0; width: 2.25rem; height: 3px; border-radius: 0 0 3px 3px; background: var(--qw-gold); }
	.qwam .qwam-projekt:hover { border-color: var(--qw-rahmen); box-shadow: var(--qw-schatten); }
	.qwam .qwam-projekt h3 { font-size: 1.1rem; }
	.qwam .qwam-kurz dd { font: 600 1.05rem/1.3 Jost, Roboto, Arial, sans-serif; }
	.qwam .qwam-artwahl { background: var(--qw-flaeche); border-color: var(--qw-linie-2); border-radius: 1rem; padding: 1.1rem 1.2rem; }

	/* ---------- Umschalter (Einfach / Alles zeigen, Unterabschnitte): eine Pillenleiste */
	.qwam .qwam-ansicht { border: 0; border-radius: 999px; background: var(--qw-flaeche-2); padding: .2rem; gap: .2rem; }
	.qwam .qwam-umschalter { border-radius: 999px; background: transparent; color: var(--qw-gruen); padding: .4rem 1rem; transition: background-color .15s ease, color .15s ease; }
	.qwam .qwam-umschalter:hover { background: rgba(255, 255, 255, .7); }
	.qwam .qwam-umschalter[aria-pressed="true"], .qwam .qwam-umschalter[aria-pressed="true"]:hover { background: var(--qw-gruen); color: #fff; box-shadow: 0 1px 3px rgba(30, 51, 41, .25); }

	/* ---------- Auf einen Blick: das tiefgrüne Zahlenfeld */
	.qwam .qwam-blick {
		display: flex; flex-wrap: wrap; gap: .9rem 1.6rem; align-items: flex-start;
		background: var(--qw-tief); color: #fff; border: 0; border-radius: 1.1rem; padding: 1.1rem 1.3rem 1.2rem; margin-bottom: 1.1rem;
		box-shadow: inset 0 3px 0 var(--qw-gold);
	}
	.qwam .qwam-blick > .qwam-ampel { flex: 0 0 auto; margin-right: 100%; } /* steht allein in der ersten Zeile */
	.qwam .qwam-blick-wert { flex: 1 1 8.5rem; gap: .15rem; min-width: 0; }
	.qwam .qwam-blick-name { color: #B9CBBF; font-size: .8rem; line-height: 1.3; }
	.qwam .qwam-blick-wert strong { font: 600 1.5rem/1.15 Jost, Roboto, Arial, sans-serif; letter-spacing: -.01em; color: #fff; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
	.qwam .qwam-blick-wert strong.qwam-minus { color: #FFB4A9; }
	.qwam .qwam-blick-grund { flex: 1 1 100%; color: #DCE6DF; font-size: .92rem; border-top: 1px solid rgba(255, 255, 255, .14); padding-top: .7rem; margin-top: .1rem; }
	.qwam .qwam-blick-grund + .qwam-blick-grund { border-top: 0; padding-top: 0; margin-top: -.5rem; }
	/* Etiketten im Zahlenfeld: kräftig gefüllt, damit sie auf Dunkelgrün sofort lesbar sind */
	.qwam .qwam-blick .qwam-ampel { border: 0; padding: .35rem .85rem; font-size: .88rem; }
	.qwam .qwam-blick .qwam-ampel-gruen { background: #CFE6D7; color: #133222; }
	.qwam .qwam-blick .qwam-ampel-gelb { background: #F2D774; color: #3D2D00; }
	.qwam .qwam-blick .qwam-ampel-rot { background: #FFC9C1; color: #7A1A12; }
	.qwam .qwam-blick .qwam-ampel-offen { background: rgba(255, 255, 255, .14); color: #fff; }
	.qwam .qwam-ampel { border-radius: 999px; }

	/* ---------- Schritte: ruhige Pillen, der aktive Schritt grün mit goldener Nummer */
	.qwam .qwam-tabs { border-bottom: 0; gap: .4rem; margin-bottom: 1.2rem; padding-bottom: 0; }
	.qwam .qwam-tab { min-width: 0; border-radius: 999px; border-color: var(--qw-linie-2); padding: .35rem .8rem .35rem .4rem; color: var(--qw-text); transition: background-color .15s ease, border-color .15s ease; }
	.qwam .qwam-tab:hover { border-color: var(--qw-rahmen); background: var(--qw-flaeche); }
	.qwam .qwam-tab-nr { width: 1.7rem; height: 1.7rem; background: var(--qw-flaeche-2); color: var(--qw-gruen); font-weight: 600; }
	.qwam .qwam-tab[aria-current], .qwam .qwam-tab[aria-current]:hover { background: var(--qw-gruen); border-color: var(--qw-gruen); color: #fff; box-shadow: 0 2px 8px -2px rgba(30, 51, 41, .45); }
	.qwam .qwam-tab[aria-current] .qwam-tab-nr { background: var(--qw-gold); color: var(--qw-tief); }

	/* ---------- Abschnitte, Felder */
	.qwam .qwam-abschnitt { border-color: var(--qw-linie-2); border-radius: 1rem; padding: 1.25rem 1.3rem; margin-bottom: 1.1rem; }
	.qwam .qwam-abschnitt > h3:first-child, .qwam .qwam-abschnitt > .qwam-aufklapp-knopf:first-child { margin-bottom: .55rem; }
	.qwam .qwam-feld-kopf label { font-weight: 500; color: var(--qw-text); }
	.qwam input[type="text"], .qwam select, .qwam textarea { border-color: var(--qw-rahmen); border-radius: .6rem; transition: border-color .15s ease, box-shadow .15s ease; }
	.qwam input[type="text"]:hover, .qwam select:hover, .qwam textarea:hover { border-color: #9AA69E; }
	.qwam input[type="text"]:focus, .qwam select:focus, .qwam textarea:focus { border-color: var(--qw-gruen); box-shadow: 0 0 0 3px rgba(47, 75, 60, .16); outline: none; }
	.qwam input[type="text"]:focus-visible, .qwam select:focus-visible, .qwam textarea:focus-visible { outline: 3px solid #111; outline-offset: 2px; }
	.qwam .qwam-eingabe .qwam-zahl { border-radius: .6rem 0 0 .6rem; }
	.qwam .qwam-einheit { border-color: var(--qw-rahmen); background: var(--qw-flaeche); border-radius: 0 .6rem .6rem 0; }
	.qwam .qwam-fragezeichen { border-color: var(--qw-rahmen); color: var(--qw-gruen); }
	.qwam .qwam-fragezeichen:hover { border-color: var(--qw-gruen); }
	.qwam .qwam-hilfe { background: var(--qw-flaeche); border-radius: .6rem; }
	.qwam .qwam-schalter input { accent-color: var(--qw-gruen); }

	/* Vorschlagswerte: kleine Karten mit Goldkante */
	.qwam .qwam-chip { border-color: #E3CF85; background: #FFFBEB; border-radius: .6rem; transition: background-color .15s ease, border-color .15s ease; }
	.qwam .qwam-chip:hover { border-color: var(--qw-gold); background: #FFF5D1; }
	.qwam .qwam-chip-info { border-color: var(--qw-linie-2); background: #fff; }
	.qwam .qwam-chips-mehr { background: var(--qw-flaeche); border-radius: .6rem; }
	.qwam .qwam-marke { border-radius: 999px; }

	/* Karten (Mieter, Kredite, Kosten): weiß, die Goldkante als schmale Marke statt Balken */
	.qwam .qwam-karte { background: #fff; border: 1px solid var(--qw-linie-2); border-left: 1px solid var(--qw-linie-2); border-radius: .9rem; padding: 1rem 1.05rem; position: relative; }
	.qwam .qwam-karte::before { content: ""; position: absolute; left: -1px; top: 1rem; bottom: 1rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--qw-gold); }
	/* Extras (Bausteine): eingeschaltet = grüne Marke links */
	.qwam .qwam-abschnitt.qwam-baustein { position: relative; border-left: 1px solid var(--qw-linie-2); }
	.qwam .qwam-abschnitt.qwam-baustein::before { content: ""; position: absolute; left: -1px; top: 1.1rem; bottom: 1.1rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--qw-linie-2); }
	.qwam .qwam-abschnitt.qwam-baustein-an::before { background: var(--qw-gruen); }
	.qwam .qwam-summe { background: var(--qw-gruen); border-radius: .8rem; padding: .8rem 1.1rem; font-weight: 500; }

	/* ---------- Hinweise: getönte Fläche, schmale Kante */
	.qwam .qwam-hinweis, .qwam .qwam-rat, .qwam .qwam-grenze { position: relative; border-left: 0; border-radius: .8rem; padding: .8rem 1rem .8rem 1.2rem; --kante: var(--qw-gruen); }
	.qwam .qwam-hinweis::before, .qwam .qwam-rat::before, .qwam .qwam-grenze::before { content: ""; position: absolute; left: 0; top: .7rem; bottom: .7rem; width: 3px; border-radius: 0 3px 3px 0; background: var(--kante); }
	.qwam .qwam-hinweis { background: var(--qw-flaeche); }
	.qwam .qwam-hinweis-warn { background: #FBF3D6; --kante: var(--qw-gold); }
	.qwam .qwam-hinweis-fehler { background: #FBEAE7; --kante: var(--qw-rot); }
	.qwam .qwam-ende-fehlt { --kante: var(--qw-gold); }
	.qwam .qwam-ende-allein, .qwam .qwam-gesperrt .qwam-hinweis { --kante: var(--qw-leise); }
	.qwam .qwam-rat { background: #FBF5DF; --kante: var(--qw-gold); }
	.qwam .qwam-intern-band { border-radius: .6rem; }

	/* ---------- Kennzahlen: Zahl zuerst */
	.qwam .qwam-kz-liste { gap: .75rem; }
	.qwam .qwam-kz { background: var(--qw-flaeche); border: 1px solid transparent; border-radius: .8rem; padding: .8rem .9rem .85rem; gap: .3rem; }
	.qwam .qwam-kz-kopf { font-size: .84rem; line-height: 1.3; }
	.qwam .qwam-kz strong { font-size: 1.45rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; color: var(--qw-text); font-variant-numeric: tabular-nums; }
	.qwam .qwam-kz strong.qwam-minus { color: var(--qw-rot); }
	.qwam .qwam-kz .qwam-fragezeichen { background: #fff; }

	/* ---------- Verhandeln: Grenzen */
	.qwam .qwam-grenze { background: var(--qw-flaeche); border: 1px solid transparent; border-left: 0; --kante: var(--qw-leise); }
	.qwam .qwam-grenze-gut { --kante: var(--qw-gruen); }
	.qwam .qwam-grenze-schlecht { background: #FBEAE7; --kante: var(--qw-rot); }
	.qwam .qwam-grenze strong { font-weight: 600; font-size: 1.5rem; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }

	/* ---------- Tabellen: leicht, mit Rahmen um das Ganze */
	.qwam .qwam-tabelle-huelle { border: 1px solid var(--qw-linie-2); border-radius: .8rem; }
	.qwam .qwam-tabelle-huelle > .qwam-tabelle { border-radius: .8rem; }
	.qwam .qwam-tabelle th, .qwam .qwam-tabelle td { border-bottom-color: var(--qw-linie-2); padding: .55rem .7rem; }
	.qwam .qwam-tabelle thead th { background: var(--qw-flaeche); color: var(--qw-leise); font-weight: 500; font-size: .84rem; border-bottom: 1px solid var(--qw-linie-2); }
	.qwam .qwam-tabelle tbody tr:last-child > * { border-bottom: 0; }
	.qwam .qwam-tabelle tbody th { font-weight: 500; }
	.qwam .qwam-tabelle-jahre thead th:first-child, .qwam .qwam-tabelle-vergleich thead th:first-child { background: var(--qw-flaeche); }
	.qwam .qwam-zeile-summe th, .qwam .qwam-zeile-summe td { border-top: 1px solid var(--qw-gruen); background: var(--qw-flaeche-2) !important; font-weight: 600; }
	.qwam .qwam-zeile-beste th, .qwam .qwam-zeile-beste td { background: #E6F0E9; }
	.qwam .qwam-zeile-schlecht th, .qwam .qwam-zeile-schlecht td { background: #FBF3D6 !important; }

	/* ---------- Objekt-Check */
	.qwam .qwam-check-ergebnis { background: var(--qw-flaeche); border-radius: .9rem; padding: 1rem 1.1rem; }
	.qwam .qwam-check-zahl { font-weight: 600; font-size: 2.2rem; letter-spacing: -.02em; }
	.qwam .qwam-balken { background: var(--qw-flaeche-2); height: .5rem; }
	.qwam .qwam-balken > span { border-radius: 1rem; }
	.qwam .qwam-antwort { border-color: var(--qw-rahmen); border-radius: .65rem; transition: background-color .15s ease, border-color .15s ease; }
	.qwam .qwam-antwort:hover { border-color: var(--qw-gruen); background: var(--qw-flaeche); }
	.qwam .qwam-antwort[aria-pressed="true"]:hover { background: var(--qw-gruen-hell); }
	.qwam .qwam-achse { border-color: var(--qw-linie-2); border-radius: .8rem; }

	/* ---------- Fuß mit Weiter/Zurück */
	.qwam .qwam-fuss { border-top-color: var(--qw-linie-2); }

	/* ---------- Ausdruck-Vorschau am Bildschirm: bleibt Papier, nur die Leiste wird modern */
	.qwam .qwam-druck-leiste { border-radius: 1rem; }
	.qwam .qwam-blatt { border-radius: .4rem; }
	.qwam .qwam-blatt .qwam-abschnitt { border-radius: 0; }
	.qwam .qwam-blatt .qwam-tabelle-huelle { border: 0; border-radius: 0; }
	.qwam .qwam-blatt .qwam-tabelle thead th { color: var(--qw-gruen); font-weight: 600; border-bottom: 2px solid var(--qw-gruen); font-size: inherit; }

	/* Diagramm: Balken mit leicht runden Ecken */
	.qwam rect.qwam-d-plus, .qwam rect.qwam-d-minus { rx: 2px; }

	/* Sprechblase */
	.qwam.qwam-blase { background: var(--qw-tief); border-radius: .7rem; }
}

/* Schritte ab Tablet-Breite: geordnetes Raster 5 × 2, sehr breit alle zehn in einer Reihe (schmal gilt das Raster von 1.1.2) */
@media screen and (min-width: 48.01rem) {
	.qwam .qwam-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.qwam .qwam-tab { justify-content: flex-start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media screen and (min-width: 100rem) {
	.qwam .qwam-tabs { grid-template-columns: repeat(10, minmax(0, 1fr)); }
}

/* Schmale Bildschirme: Zahlenfeld zweispaltig, Schritte bleiben im Raster (siehe oben) */
@media screen and (max-width: 48rem) {
	/* Am Handy kompakt, damit der Schritt darunter schnell erreichbar ist */
	.qwam .qwam-blick { padding: .85rem .95rem .95rem; gap: .55rem .9rem; border-radius: .95rem; }
	.qwam .qwam-blick-wert { flex: 1 1 40%; }
	.qwam .qwam-blick-name { font-size: .74rem; }
	.qwam .qwam-blick-wert strong { font-size: 1.15rem; }
	.qwam .qwam-blick .qwam-ampel { font-size: .8rem; padding: .25rem .7rem; }
	.qwam .qwam-blick-grund { font-size: .85rem; padding-top: .55rem; }
	.qwam .qwam-tab { border-radius: .8rem; padding: .3rem .1rem; }
	.qwam .qwam-tab-nr { width: 1.4rem; height: 1.4rem; }
	.qwam .qwam-abschnitt { padding: 1rem; border-radius: .9rem; }
	.qwam .qwam-ansicht { border-radius: .9rem; }
	.qwam .qwam-umschalter { border-radius: .7rem; }
}

@media (prefers-reduced-motion: reduce) {
	.qwam *, .qwam *::before, .qwam *::after { transition: none !important; }
}
