/* Auftritte im Musikverein — nur, was dieser App eigen ist. Grunddesign (Stil, Farben, Knöpfe, Karten, Dialoge, hell/dunkel)
   kommt aus /_h/basis.css. Keine festen Farben: nur die Variablen der Hülle. */

/* Kopf und Bereiche; im Schaufenster Platz für den Hinweis der Hülle */
body.schau .kopf { padding-top: calc(var(--schau, 0px) + 14px) !important; }
.kopf .unter { max-width: 640px; }
.bereiche { max-width: 980px; margin: 0 auto 14px; padding: 2px 16px 4px; }
:root[data-stil="elegant"] .bereiche { padding: 0 20px; border-bottom: 1px solid var(--l); }
:root[data-stil="kacheln"] .bereiche { display: none; }   /* Kacheln: die Leiste unten ersetzt die Reiter */
@media (max-width: 520px) {
  .bereiche { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; overflow: visible; padding-left: 12px; padding-right: 12px; }
  .bereiche > button { padding: 9px 4px; text-align: center; }
  :root[data-stil="elegant"] .bereiche > button { margin-right: 0; }
}
.leiste > button { min-width: 44px; min-height: 44px; }
.leiste .an { color: var(--pa); font-weight: 600; }

/* Abschnitte */
main > section, .spalte > section { min-width: 0; }
.abschnitt-kopf { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 6px 0 6px; }
.abschnitt-kopf h2 { margin: 0; }
.erklaer { margin: 0 0 10px; }
.erklaer.erst { margin-top: 2px; }
.knopf-zeile { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.knopf-zeile.oben { margin: 0 0 4px; }
.knopf-zeile:empty { display: none; }
.knopf, .chip-knopf, .umschalter button { min-height: 44px; }
.knopf.klein { min-height: 40px; }
.knopf.klein:not(.leise):not(.zweit) { color: var(--auf-p); }
h2.gruppe, .register-block h2 { font-size: 17px; margin: 14px 0 8px; display: flex; align-items: center; gap: 8px; }
.anzahl { font-size: 13px; font-weight: 600; color: var(--m); background: var(--p-hell); border-radius: 99px; padding: 1px 9px; font-family: var(--schrift); }
.spalten { display: grid; gap: 18px; align-items: start; }
.spalte { display: grid; gap: 18px; min-width: 0; }
@media (min-width: 860px) { .spalten { grid-template-columns: 1fr 1fr; gap: 24px; } }
.frueher summary { cursor: pointer; color: var(--m); font-weight: 600; font-size: 15px; padding: 12px 4px; min-height: 44px; }
.frueher[open] summary { margin-bottom: 6px; }
.eintrag:disabled { cursor: default; opacity: 1; }
.eintrag .rechts.klein { white-space: nowrap; }

/* Auftritts-Karten */
.auftritt { display: grid; gap: 10px; padding: 12px 14px 14px; }
.auftritt-kopf { display: flex; align-items: center; gap: 12px; width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font: inherit; color: inherit; min-height: 44px; }
.auftritt-kopf .mitte { flex: 1; min-width: 0; display: grid; gap: 2px; }
.auftritt-kopf .titel { font-weight: 600; font-size: 17px; }
.auftritt-kopf .unter { color: var(--m); font-size: 14px; }
.auftritt-kopf .pfeil { color: var(--m); }
.auftritt-kopf:focus-visible { outline: 2px solid var(--pa); outline-offset: 3px; border-radius: 8px; }
.abschluss { border-left: 4px solid var(--warn); }
:root[data-stil="elegant"] .abschluss { border-left-width: 4px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip .ic { width: 15px; height: 15px; }
.datum-block { flex: none; width: 52px; display: grid; justify-items: center; padding: 5px 0; border-radius: var(--rund-k); background: var(--p-hell); color: var(--pa); line-height: 1.15; }
.datum-block b { font-family: var(--titel); font-size: 21px; }
.datum-block small { font-size: 11.5px; color: inherit; }
.meine-antwort { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding-top: 10px; border-top: 1px solid var(--l); }
.meine-antwort .frage { font-weight: 600; }
.meine-antwort.gross { margin-top: 12px; }
.zwei-knoepfe { display: flex; gap: 8px; flex-wrap: wrap; }
.zwei-knoepfe .knopf { flex: 1 1 140px; }
.hinweis-karte { display: flex; gap: 12px; align-items: flex-start; background: var(--p-hell); }
.hinweis-karte > .ic { width: 26px; height: 26px; color: var(--pa); margin-top: 2px; }
.hinweis-karte p { margin: 2px 0 10px; }
:root[data-stil="elegant"] .hinweis-karte { border-color: transparent; }

/* Auftritt im Einzelnen */
.zurueck-zeile { margin: -4px 0 -4px -6px; }
.detail-titel { display: flex; gap: 14px; align-items: center; }
.detail-titel h2 { margin: 0; font-size: 22px; }
.detail-titel .unter { color: var(--m); margin: 2px 0 0; font-size: 15px; }
.detail-kopf .hinweis { margin: 12px 0 0; }
.zustand { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0 0; }
.zustand .ic { color: var(--pa); margin-top: 2px; }
.zustand.klein-zeile { font-size: 14.5px; color: var(--m); }
.zustand.klein-zeile b { color: var(--t); }
.registerliste { display: grid; gap: 14px; }
.register h3 { font-size: 15px; margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }
.register ul, .antworten, .programm { list-style: none; margin: 0; padding: 0; }
.register li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 0; border-top: 1px solid var(--l); }
.register li:first-child { border-top: 0; }
.register li > span, .antworten li > span:first-child { display: grid; min-width: 0; }
.register small, .antworten small, .programm small, .stuecke small { color: var(--m); font-size: 13px; }
.fehlt { background: var(--schlecht-hell); border-radius: var(--rund-k); padding: 10px 14px; margin: 0 0 12px; }
.fehlt p { margin: 4px 0; }
.fehlt p b { display: inline-flex; gap: 6px; align-items: center; color: var(--schlecht); }
.fehlt .klein { color: var(--t); }
.fehlt .knopf { margin: 4px 0 6px; }
.antworten { padding: 6px 14px; }
.antworten li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid var(--l); }
.antworten li:first-child { border-top: 0; }
.umschalter { display: inline-flex; flex: none; border: 1px solid var(--l); border-radius: 99px; overflow: hidden; }
.umschalter button { border: 0; background: transparent; padding: 0 12px; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--m); cursor: pointer; }
.umschalter button + button { border-left: 1px solid var(--l); }
.umschalter button.an-ja { background: var(--gut-hell); color: var(--gut); }
.umschalter button.an-nein { background: var(--schlecht-hell); color: var(--schlecht); }
.programm { padding: 4px 10px 4px 14px; }
.programm li { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid var(--l); }
.programm li:first-child { border-top: 0; }
.programm .nr { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--p-hell); color: var(--pa); display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.programm .mitte { flex: 1; min-width: 0; display: grid; }
.pfeile { display: flex; flex: none; }
.knopf.icon { width: 44px; height: 44px; padding: 0; }
.knopf.icon:disabled { opacity: .25; }

/* Kasse */
.verteilen { display: grid; gap: 6px; align-content: start; }
.verteilen h2 { margin: 0; }
.wahl-chips { margin: 6px 0 2px; }
.chip-knopf { font: inherit; font-size: 14px; font-weight: 600; padding: 6px 14px; border-radius: 99px; border: 1px solid var(--l); background: var(--k); color: var(--m); cursor: pointer; }
.chip-knopf.an { background: var(--p-hell); color: var(--pa); border-color: color-mix(in srgb, var(--p) 40%, transparent); }
.zwei-felder { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.zwei-felder .feld { margin-bottom: 8px; min-width: 0; }
.radio-wahl { border: 0; padding: 0; margin: 0 0 6px; display: grid; gap: 6px; }
.radio-wahl legend { font-weight: 600; font-size: 14px; margin-bottom: 4px; padding: 0; }
.radio-wahl label { display: flex; align-items: flex-start; gap: 10px; padding: 9px 12px; border: 1.5px solid var(--l); border-radius: var(--rund-k); cursor: pointer; font-weight: 400; }
.radio-wahl label > span { display: grid; }
.radio-wahl label:has(input:checked) { border-color: var(--pa); background: var(--p-hell); }
.radio-wahl input { margin-top: 3px; }
.rechenweg { background: var(--bg); border-radius: var(--rund-k); padding: 10px 14px; }
.rechenweg p { margin: 4px 0; }
.verteilung { width: 100%; border-collapse: collapse; font-size: 15px; margin-top: 6px; }
.verteilung th { text-align: left; font-size: 13px; color: var(--m); font-weight: 600; padding: 4px 6px 6px 0; border-bottom: 1px solid var(--l); }
.verteilung td { padding: 7px 6px 7px 0; border-bottom: 1px solid var(--l); vertical-align: top; }
.verteilung th:nth-child(2), .verteilung td:nth-child(2) { text-align: center; }
.verteilung th:last-child, .verteilung td:last-child { text-align: right; padding-right: 0; }
.verteilung td small { color: var(--m); font-weight: 400; }
.verteilung tfoot td { font-weight: 700; border-bottom: 0; }
.dazu { margin: 6px 0 4px; padding-left: 18px; display: grid; gap: 4px; }
.erwartet { border-left: 4px solid var(--warn); }
.kennzahlen { margin-bottom: 4px; }
@media (max-width: 520px) { .verteilung td small { display: none; } }

/* Dialoge */
dialog { overflow-y: auto; }
.form-fehler { color: var(--schlecht); font-size: 14px; margin: 4px 0 0; }
.frage-text { margin: 0 0 8px; font-size: 16px; line-height: 1.45; }
.feld small { color: var(--m); font-size: 13px; font-weight: 400; }
.feld > p.klein { margin: 0; }
.haken-feld { display: flex; align-items: center; gap: 10px; margin: 6px 0 4px; cursor: pointer; min-height: 44px; }
.stuecke { border: 0; padding: 0; margin: 4px 0 8px; display: grid; gap: 2px; }
.stuecke legend { font-weight: 600; font-size: 14px; padding: 0; margin: 6px 0 2px; color: var(--m); }
.stuecke label { display: flex; align-items: center; gap: 10px; padding: 7px 4px; font-weight: 400; cursor: pointer; border-radius: 8px; min-height: 44px; }
.stuecke label > span { display: grid; }
.stuecke label:has(input:checked) { background: var(--p-hell); }
.stuecke.wer { max-height: none; }
.unsichtbar { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
pre.nachricht { white-space: pre-wrap; font: 14.5px/1.45 var(--schrift); background: var(--bg); border-radius: var(--rund-k); padding: 10px 14px; margin: 8px 0; overflow-wrap: anywhere; }
.knoepfe.zusatz { justify-content: flex-start; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--l); }
.knoepfe.zusatz + .knoepfe { margin-top: 10px; }
@media (min-width: 600px) { #dlg { width: min(94vw, 560px); } }

/* Meldung unten (mit Rückgängig) */
.meldung { position: fixed; left: 50%; bottom: calc(84px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 12px;
  width: max-content; max-width: min(92vw, 540px); padding: 10px 14px 10px 18px; border-radius: var(--rund); background: var(--t); color: var(--bg); font-size: 15px; box-shadow: var(--sch2); }
.meldung .knopf.klein { background: var(--bg); color: var(--t); padding: 6px 12px; flex: none; }
body.h-ohne-knoepfe .meldung { bottom: calc(90px + env(safe-area-inset-bottom)); }
.nur-lesen .eintrag { cursor: default; }
.auftritt .knopf, .detail-kopf .knopf, .fehlt .knopf, .hinweis-karte .knopf { white-space: normal; text-align: left; }
.register li { flex-wrap: wrap; padding: 6px 0; }
.register li .wer { flex: 1; min-width: 0; }
.register li small { text-align: right; }
.register li .knopf { flex-basis: 100%; justify-content: flex-start; padding-left: 0; }
.registerliste { gap: 12px; }
.zwei-felder { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.zwei-felder input { min-width: 0; }
h2.abschnitt { margin: 20px 0 8px; }
@media (max-width: 520px) { .eintrag.stueck { flex-wrap: wrap; row-gap: 6px; } .eintrag.stueck .rechts { margin-left: 0; flex-basis: 100%; text-align: left; } .eintrag.stueck .rechts:empty { display: none; } }
.meldung .knopf.klein:not(.leise):not(.zweit) { color: var(--t); }
.auftritt .zwei-knoepfe .knopf, .detail-kopf .zwei-knoepfe .knopf { white-space: nowrap; text-align: center; }
.meine-antwort .zwei-knoepfe { flex: 1 1 100%; } .meine-antwort .zwei-knoepfe .knopf { flex: 1 1 120px; }

/* Bühne (Aufstellungen) — Plätze in Prozent; oben hinten, unten Publikum */
.buehne { position: relative; width: 100%; aspect-ratio: 16 / 9; background: var(--k); border-radius: var(--rund); box-shadow: var(--sch1); overflow: hidden;
  border-bottom: 4px solid var(--p-hell); }
:root[data-stil="elegant"] .buehne { box-shadow: none; border: 1px solid var(--l); }
@media (max-width: 600px) { .buehne { aspect-ratio: 9 / 10; } }
.buehne-hinten { position: absolute; top: 6px; left: 10px; font-size: 12px; color: var(--m); }
.buehne-vorn { text-align: center; margin: 4px 0 0; }
.buehne-leer { position: absolute; inset: 40% 10% auto; text-align: center; color: var(--m); font-size: 14px; }
.dirigent { position: absolute; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 600; color: var(--m); white-space: nowrap; }
.dirigent .ic { width: 15px; height: 15px; }
.platz { position: absolute; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 1px; border: 0; background: none; padding: 0; font: inherit; color: var(--t); min-width: 44px; min-height: 44px; }
.buehne.bearbeiten .platz { cursor: grab; touch-action: none; }
.buehne:not(.bearbeiten) .platz { pointer-events: none; }
.platz .kreis { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; background: var(--p-hell); color: var(--pa); border: 2px solid transparent; }
.platz .name { font-size: 11px; line-height: 1.1; max-width: 64px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; background: color-mix(in srgb, var(--k) 80%, transparent); border-radius: 4px; padding: 0 2px; }
.platz.an .kreis { border-color: var(--pa); background: var(--p); color: var(--auf-p); box-shadow: 0 0 0 4px color-mix(in srgb, var(--p) 25%, transparent); }
.platz.zieht { z-index: 3; opacity: .85; }
.platz.gut .kreis { background: var(--gut-hell); color: var(--gut); border-color: var(--gut); }
.platz.schlecht .kreis { background: var(--schlecht-hell); color: var(--schlecht); border-color: var(--schlecht); border-style: dashed; }
.platz.schlecht .name { text-decoration: line-through; }
.platz.warn .kreis { background: var(--warn-hell); color: var(--warn); border-color: var(--warn); border-style: dotted; }
.platz.aus .kreis { opacity: .4; }
.platz:focus-visible .kreis { outline: 2px solid var(--pa); outline-offset: 2px; }
.legende { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 6px 0; }
.punkt { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid; margin-left: 6px; }
.punkt:first-child { margin-left: 0; }
.punkt.gut { border-color: var(--gut); background: var(--gut-hell); } .punkt.schlecht { border-color: var(--schlecht); border-style: dashed; background: var(--schlecht-hell); }
.punkt.warn { border-color: var(--warn); border-style: dotted; background: var(--warn-hell); } .punkt.aus { border-color: var(--l); background: var(--p-hell); opacity: .5; }
.auswahl-leiste { background: var(--p-hell); position: sticky; top: 8px; z-index: 5; }
.auswahl-leiste p { margin: 0 0 6px; }
.auswahl-leiste .knopf-zeile { margin-top: 6px; }
.chips.frei { gap: 8px; }
.chips.frei .chip-knopf { min-height: 44px; }
.plan-icon { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--p-hell); color: var(--pa); }
h2 .ic { vertical-align: -3px; color: var(--pa); }
h3.gruppe { font-size: 16px; margin: 14px 0 8px; display: flex; align-items: center; gap: 8px; }

/* Instrumente im Formular */
.instr-liste { list-style: none; margin: 0; padding: 0; border: 1px solid var(--l); border-radius: var(--rund-k); }
.instr-liste li { display: flex; align-items: center; gap: 10px; padding: 4px 6px 4px 10px; border-top: 1px solid var(--l); font-weight: 400; }
.instr-liste li:first-child { border-top: 0; }
.instr-liste li.klein { padding: 10px; }
.instr-liste .mitte { flex: 1; display: grid; }
.instr-liste small { color: var(--m); font-size: 12.5px; }
.instr-liste .nr { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--p-hell); color: var(--pa); display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.instr-neu { display: flex; gap: 8px; margin-top: 8px; }
.instr-neu select { flex: 1; min-width: 0; }

/* Noten umschreiben */
.umschreiben { display: grid; gap: 8px; }
.umschreiben h2 { margin: 0; }
.noten-bild { width: 100%; overflow: hidden; background: var(--k); }
.noten-svg { display: block; max-width: 100%; height: auto; color: var(--t); }
.noten-vorschau .noten-svg { width: 100%; }
.n-l { stroke: currentColor; stroke-width: 1; opacity: .7; }
.n-d { stroke: currentColor; stroke-width: 1.4; fill: none; }
.n-dick { stroke: currentColor; stroke-width: 2.4; fill: none; }
.n-f { fill: currentColor; stroke: none; }
.n-f0 { fill: none; }
.n-kopf { stroke-width: 1.6; }
.n-schl { stroke-width: 2; }
.n-t { font: 700 17px var(--schrift); fill: currentColor; text-anchor: middle; }
.warn-text { color: var(--warn); font-weight: 600; }
#u-abc { font: 13px/1.5 ui-monospace, Menlo, Consolas, monospace; min-height: 140px; }
.noten-druck .noten-svg { width: 100%; color: #000; }
.h-ki-etikett { color: var(--m); }
main > *, .spalten > * { min-width: 0; }
.knopf.umbruch { white-space: normal; text-align: left; }

.chips.frei { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.chips.frei .chip-knopf { display: grid; text-align: left; border-radius: var(--rund-k); padding: 6px 12px; }
.chips.frei .chip-knopf small { font-weight: 400; font-size: 12.5px; color: var(--m); }
.auswahl-leiste { top: calc(var(--schau, 0px) + 6px); }
.auswahl-leiste { position: static; }
.knopf.gefahr.klein:not(.leise) { color: var(--schlecht); }
.buehne:not(.bearbeiten) { aspect-ratio: 4 / 3; }
@media (max-width: 600px) { .buehne, .buehne:not(.bearbeiten) { aspect-ratio: 9 / 10; } }

/* ---------- Klarer Aufbau statt Fülle (12.11.2026): ein großer Knopf, Hinweise als Zeile, ruhige Einträge, am PC Nebenspalte ---------- */
main { gap: 14px; }
.gross { min-height: 56px; font-size: 17.5px; }
.gross .ic { width: 22px; height: 22px; }
.abschnitt { display: grid; gap: 10px; min-width: 0; align-content: start; }
.abschnitt > * { min-width: 0; }
.abschnitt h2, .abschnitt-kopf h2 { margin: 0; }
.abschnitt > .klein, main > .klein { margin: 0; }
h2 .anzahl { margin-left: 6px; vertical-align: 2px; }
.raster { display: grid; gap: 14px; align-items: start; }
@media (min-width: 860px) { .raster { grid-template-columns: 1fr minmax(280px, 340px); gap: 24px; } }
.neben { display: none; }
@media (min-width: 860px) { .neben { display: grid; gap: 8px; align-content: start; position: sticky; top: 16px; } }
.neben h2 { margin: 0; font-size: 18px; }
.neben h3 { margin: 6px 0 0; font-size: 15px; }
.neben p { margin: 0; }
.neben-zeile { font-size: 14.5px; }
.neben-programm { margin: 0; padding: 0 0 0 20px; display: grid; gap: 4px; font-size: 14.5px; }
.neben-programm li { display: grid; }
.neben-programm small { color: var(--m); font-size: 12.5px; }
.neben .knopf { margin-top: 6px; }

.offenzeile { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--l); border-radius: var(--rund-k);
  background: var(--k); color: var(--t); font: inherit; font-size: 15px; font-weight: 600; text-align: left; cursor: pointer; }
.offenzeile > span { flex: 1; min-width: 0; }
.offenzeile .ic { width: 20px; height: 20px; color: var(--warn); flex: none; }
.offenzeile .pfeil, .offen-knopf .pfeil { color: var(--m); }
.offenzeile.ruhig { padding: 0 4px 0 0; cursor: default; }
.offen-knopf { flex: 1; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 0; background: none; font: inherit; font-weight: 600; color: inherit; text-align: left; cursor: pointer; }
.offen-knopf > span { flex: 1; }
.offenzeile.ruhig .ic { color: var(--pa); }
.offenzeile.ruhig .knopf.icon .ic { color: var(--m); }

.st { font-weight: 600; } .st.gut { color: var(--gut); } .st.warn { color: var(--warn); } .st.schlecht { color: var(--schlecht); }
.auftritt-zeile { padding-top: 10px; padding-bottom: 10px; }
.auftritt-zeile .kz { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; min-height: 48px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.auftritt-zeile .wer { display: grid; gap: 1px; min-width: 0; }
.auftritt-zeile .titel { font-size: 17px; }
.auftritt-zeile .unter { color: var(--m); font-size: 14px; }
.auftritt-zeile .stand { font-size: 14px; }
.auftritt-zeile .rechts .knopf { min-height: 46px; padding: 10px 14px; }
.auftritt-zeile > .pfeil { color: var(--m); flex: none; }
@media (max-width: 420px) { .auftritt-zeile { flex-wrap: wrap; } .auftritt-zeile .rechts { flex-basis: 100%; margin-left: 64px; } .auftritt-zeile .rechts .knopf { width: 100%; } }

.detail-kopf { display: grid; gap: 10px; }
.detail-titel { align-items: flex-start; }
.detail-titel > div { flex: 1; min-width: 0; }
.detail-titel .unter { margin: 2px 0 0; font-size: 14.5px; }
.detail-titel .mehr { flex: none; margin: -6px -8px 0 0; }
.stand-text { margin: 0; font-size: 15px; line-height: 1.5; }
.meine { margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.fehlt { margin: 0; padding: 10px 14px; }
.fehlt p { margin: 0; font-size: 14.5px; }
.fehlt .knopf { margin: 8px 0 0; }

.programm, .antworten { padding: 2px 6px; }
.programm li, .antworten li { padding: 0; border-top: 1px solid var(--l); display: block; }
.programm li:first-child, .antworten li:first-child { border-top: 0; }
.prog-zeile, .antwort-zeile { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 6px 8px; border: 0; background: none; font: inherit; color: inherit; text-align: left; border-radius: 10px; }
button.prog-zeile, button.antwort-zeile { cursor: pointer; }
button.prog-zeile:hover, button.antwort-zeile:hover { background: var(--p-hell); }
.prog-zeile .mitte { flex: 1; min-width: 0; display: grid; }
.prog-zeile .pfeil { color: var(--m); flex: none; }
.antwort-zeile .wer { flex: 1; min-width: 0; display: grid; }
.antwort-zeile .st { font-size: 14px; }

.wahl-zeilen { display: grid; gap: 8px; margin-top: 8px; }
.wahl-zeilen .knopf { min-height: 54px; font-size: 16.5px; justify-content: flex-start; white-space: normal; text-align: left; }
.summe-zeile { margin: 0; font-size: 16px; line-height: 1.5; }
.neben-programm li { display: list-item; } .neben-programm small { display: block; } .neben-programm li::marker { color: var(--m); font-weight: 600; }
.fehlt p b { display: inline; } .fehlt p b .ic { vertical-align: -4px; margin-right: 4px; }
@media (max-width: 520px) { .detail-titel .datum-block { display: none; } }
.radio-wahl label > span { display: block; font-size: 15px; } .verteilen .wahl-chips { margin: 0; }
.register-raster { display: grid; gap: 12px; align-items: start; }
@media (min-width: 760px) { .register-raster { grid-template-columns: 1fr 1fr; } }
.register-karte { padding: 10px 8px 6px; }
.register-karte h3 { margin: 0 8px 4px; font-size: 15px; color: var(--m); }
.register-karte ul { list-style: none; margin: 0; padding: 0; }
ul.register-karte { list-style: none; margin: 8px 0 0; }
.register-karte li { border-top: 1px solid var(--l); }
.register-karte li:first-child { border-top: 0; }
.person-zeile { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 50px; padding: 6px 8px; border: 0; background: none; font: inherit; color: inherit; text-align: left; border-radius: 10px; }
button.person-zeile { cursor: pointer; } button.person-zeile:hover { background: var(--p-hell); }
.person-zeile .wer { flex: 1; min-width: 0; display: grid; }
.person-zeile .wer small { color: var(--m); font-size: 13.5px; }
.person-zeile .oft { color: var(--m); font-size: 13px; white-space: nowrap; }
.person-zeile .pfeil { color: var(--m); flex: none; }
@media (max-width: 420px) { .auftritt-zeile .rechts { margin-left: 0; flex-basis: 100%; } }
.antworten li > .antwort-zeile, .programm li > .prog-zeile { display: flex; }
.antworten li > span.antwort-zeile:first-child { display: flex; }
