/* Testversion: Fehler melden, gesperrte Linien */
.qa-ver { font: 700 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; border: 2px dashed var(--muted); color: var(--muted); border-radius: 6px; padding: 5px 6px 4px; flex: none; white-space: nowrap }
.qa-btn { white-space: nowrap; flex: none }
.qa-n { background: #D7261E; color: #fff; border-radius: 999px; font: 700 12px/1 var(--mono); padding: 4px 7px 3px; min-width: 22px; text-align: center }
.qa-ico { flex: none; width: 44px; padding: 0; justify-content: center }
.qa-lab { white-space: pre }
@media (max-width: 1000px) { .qa-lang, .qa-ver { display: none } }
@media (max-width: 760px) { .qa-ico, .qa-ver { display: none } }

.qa-scrim { position: fixed; inset: 0; background: rgba(0, 0, 0, .35); z-index: 60; display: grid; place-items: center; padding: 16px }
.qa-sheet { background: var(--bg); color: var(--ink); border-radius: 16px; width: min(720px, 100%); max-height: calc(100% - 16px); overflow: auto; overscroll-behavior: contain; padding: 22px; display: grid; gap: 16px; align-content: start; box-shadow: var(--shadow) }
.qa-top { display: flex; align-items: flex-start; gap: 12px }
.qa-top h2 { font-size: 28px }
.qa-top .x { margin-left: auto; width: 44px; height: 44px; border-radius: 8px; border: 0; background: var(--panel); font-size: 22px; flex: none }
.qa-tabs { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 2px solid var(--line); padding-bottom: 8px }
.qa-tabs button { border: 0; background: none; min-height: 44px; padding: 0 12px; border-radius: 8px; font-weight: 700 }
.qa-tabs [aria-selected="true"] { background: var(--ink); color: var(--bg) }
.qa-body { display: grid; gap: 10px; align-content: start }
.qa-body > .kicker { margin-top: 6px }
.qa-hinweis { background: var(--panel); border-left: 4px solid #D7261E; padding: 10px 12px; border-radius: 6px; font-size: 15px }
.qa-chips { display: flex; flex-wrap: wrap; gap: 8px }
.qa-chips button { border: 2px solid var(--line); background: var(--bg); border-radius: 8px; min-height: 44px; padding: 6px 12px; font-weight: 700; text-align: left; display: grid; align-content: center }
.qa-chips button small { font-weight: 400; font-size: 13px; color: var(--muted) }
.qa-chips [aria-checked="true"] { border-color: var(--ink); background: var(--ink); color: var(--bg) }
.qa-chips [aria-checked="true"] small { color: inherit; opacity: .8 }
.qa-ort, .qa-stelle { font-size: 15px; overflow-wrap: anywhere }
.qa-stelle { color: var(--muted) }
.qa-feld { display: grid; gap: 4px }
.qa-feld label { font-weight: 700 }
.qa-feld textarea, .qa-all { width: 100%; border: 2px solid var(--line); border-radius: 8px; padding: 10px; font: 16px/1.4 var(--sans); background: var(--bg); color: var(--ink); resize: vertical; min-height: 64px }
.qa-feld textarea:focus, .qa-all:focus { border-color: var(--ink) }
.qa-all { font: 13px/1.45 var(--mono); min-height: 180px }
.qa-auto { font-size: 14px; color: var(--muted); display: grid; gap: 6px }
.qa-auto summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; color: var(--ink) }
.qa-auto p { overflow-wrap: anywhere }
.qa-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center }
.qa-row.end { justify-content: flex-end; margin-top: 6px }
.qa-warn { color: #B3261E; font-weight: 700 }
.qa-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px }
.qa-list li { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; border: 2px solid var(--line); border-radius: 10px; padding: 10px 12px }
.qa-list li p { font-size: 15px; overflow-wrap: anywhere }
.qa-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0 }
.qa-dl dt { font-weight: 700 }
.qa-dl dd { margin: 0; overflow-wrap: anywhere }
@media (max-width: 560px) { .qa-dl { grid-template-columns: 1fr } .qa-dl dd { margin-bottom: 6px } }

.qa-zeig { position: fixed; left: 50%; transform: translateX(-50%); top: calc(10px + env(safe-area-inset-top, 0px)); z-index: 70; background: var(--ink); color: var(--bg); border-radius: 10px; padding: 8px 8px 8px 16px; display: flex; gap: 12px; align-items: center; max-width: calc(100% - 32px); box-shadow: var(--shadow); font-weight: 700 }
.qa-zeig .btn { background: var(--bg); color: var(--ink); border-color: var(--bg) }
.qa-zeigen #view, .qa-zeigen .bar { cursor: crosshair }
.qa-mark { outline: 4px solid #D7261E !important; outline-offset: 3px }

/* Gesperrte Linien: sichtbar, aber blass; keine Züge */
#map g.qa-zu, #map .st.qa-zu { opacity: .32 }
#map .st.qa-zu text { font-style: italic }
.qa-zu-note { display: flex; gap: 10px; align-items: center; background: var(--panel); border-radius: 10px; padding: 10px 14px; font-weight: 700 }
.qa-zu-note svg { flex: none }
.wcard.qa-zu { opacity: .55; cursor: not-allowed }
.plines .qa-zu button, .liste section.qa-zu { opacity: .55 }
