/* Arbeitsgang (W6-3 c10, Gate 2 c8 §9 „Gestaltung auf 390 px"): der Block „Arbeitsgang", der Beginn und die Weiteren Tickets der Maske `bauprotokoll` — dieselben Muster wie die übrige
   Maske (Karten mit Rand, `--border`, `--text-secondary`, 44-px-Ziele nach R20). Mobil zuerst: eine Spalte, alles umbrechend, nichts läuft waagrecht über (`min-width: 0`,
   `overflow-wrap`). ⛔ Jede Regel hängt an `.bp-ag-*` bzw. `.bp-arbeitsgang`: ohne dieses Markup (Riegel `PVM_BEFUND_TICKET` zu) trifft keine von ihnen etwas. */
.bp-arbeitsgang { margin: 0 0 var(--ab-4); min-width: 0; overflow-wrap: anywhere; }
.bp-arbeitsgang h3 { margin: 0 0 var(--ab-2); }
.bp-arbeitsgang h4 { margin: 0 0 var(--ab-alt-6); font-size: var(--gr-alt-1rem); font-weight: 700; }
.bp-ag-ticket, .bp-ag-wib, .bp-ag-beitritt { border-top: 1px solid var(--border); margin-top: var(--ab-3); padding-top: var(--ab-alt-10); }
.bp-ag-ticket > h4 { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--ab-1) var(--ab-alt-10); }
.bp-ag-schritte, .bp-ag-tickets, .bp-ag-sperren ul, .bp-ag-beitritt ul { list-style: none; margin: 0; padding: 0; }

/* Eine Zeile: Name, Zustand, dann Auswahl und Knopf untereinander (volle Breite, nie abgeschnitten). */
.bp-ag-schritt { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ab-alt-6) var(--ab-alt-10); min-width: 0; padding: var(--ab-2) 0; border-bottom: 1px solid var(--border); }
.bp-ag-name { font-weight: 600; }
.bp-ag-schritt .bp-ag-zustand { flex: 1 1 100%; margin: 0; font-size: var(--gr-klein); color: var(--text-secondary); }
.bp-ag-quittiert .bp-ag-zustand { color: var(--text-primary); }
.bp-ag-auswahl { flex: 1 1 100%; display: flex; flex-direction: column; gap: var(--ab-1); min-width: 0; }
.bp-ag-auswahl select { max-width: 100%; min-height: 44px; }

/* Wahlzeilen (Messwerte, Tickets): die ganze Zeile ist das Ziel, mindestens 44 px. */
.bp-ag-wert, .bp-ag-tickets label { display: flex; align-items: center; gap: var(--ab-alt-10); min-height: 44px; min-width: 0; }
.bp-ag-wert input[type="checkbox"], .bp-ag-tickets input[type="checkbox"] { flex: none; width: 24px; height: 24px; margin: 0; }

/* Knöpfe: nie unter 44 px, dürfen umbrechen statt überzulaufen. */
.bp-arbeitsgang .btn { min-height: 44px; max-width: 100%; white-space: normal; }
.bp-ag-schritt > .btn, .bp-ag-fuehrung .btn { flex: 1 1 auto; }

/* Sperren: roter Rand, Satz, darunter der Knopf zur Tür. */
.bp-ag-sperren { margin: 0 0 var(--ab-3); padding: var(--ab-alt-10) var(--ab-3); border: 1px solid var(--border); border-left: 4px solid var(--danger); border-radius: var(--radius-sm); background: var(--bg-card); }
.bp-ag-sperren li { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ab-2); padding: var(--ab-alt-6) 0; }
.bp-ag-tuer { display: flex; flex-direction: column; gap: var(--ab-2); align-self: stretch; }

/* R64-Führung zur Reihenwahl. */
.bp-ag-fuehrung { flex: 1 1 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--ab-2); min-width: 0; }
.bp-ag-fuehrung select { max-width: 100%; min-height: 44px; }
.bp-ag-fuehrung-text { margin: 0; font-size: var(--gr-klein); }

/* c11: die Eingabe der Zeile (Messreihe wählen, „Stromfreiheit messen“, Ja/Nein nur im Arbeitsgang): eine Spalte, Ziele ≥ 44 px. */
.bp-ag-messen { flex: 1 1 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--ab-2); min-width: 0; }
.bp-ag-messen select { max-width: 100%; min-height: 44px; }
.bp-ag-messen label { display: flex; flex-direction: column; gap: var(--ab-1); min-width: 0; }

/* Beginn und Weitere Tickets. In der Protokolle-Liste steht der Beginn ohne Karte: eigener Rand. */
.bp-ag-beginn:not(.card) { margin-top: var(--ab-3); padding: var(--ab-3); border: 1px solid var(--border); border-radius: var(--radius-sm); }
.bp-ag-beitritt li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ab-alt-6) var(--ab-alt-10); padding: var(--ab-alt-6) 0; min-width: 0; }

/* Sätze: Offline, Hinweis, Leere, Meldung des Servers, Fehler. */
.bp-ag-offline, .bp-ag-hinweis, .bp-ag-leer, .bp-ag-meldung, .bp-ag-fehler { margin: var(--ab-2) 0 0; font-size: var(--gr-klein); color: var(--text-secondary); }
.bp-ag-meldung { padding: var(--ab-2) var(--ab-alt-10); border-left: 4px solid var(--accent); background: var(--bg-card); color: var(--text-primary); }
.bp-ag-fehler { color: var(--danger-text); }

/* W6-4 d7: der Block „Dieser Abschluss schließt den Arbeitsgang" in der Abschluss-Maske (nur MIT `schliessung` des Servers — sonst gibt es dieses Markup nicht). Eine Spalte, umbrechend. */
.bp-abschluss-arbeitsgang { margin: 0 0 var(--ab-3); min-width: 0; overflow-wrap: anywhere; }
.bp-abschluss-arbeitsgang h4 { margin: 0 0 var(--ab-alt-6); font-size: var(--gr-alt-1rem); font-weight: 700; }
.bp-ag-ab-tickets { list-style: none; margin: var(--ab-alt-6) 0; padding: 0; }
.bp-ag-ab-tickets li { padding: var(--ab-alt-6) 0; border-bottom: 1px solid var(--border); }
.bp-ag-ab-ueberholt, .bp-ag-ab-nachgemessen, .bp-ag-ab-nachpruefender, .bp-ag-ab-kenntnis, .bp-ag-ab-kopf { margin: var(--ab-alt-6) 0 0; }
.bp-ag-ab-sperre { margin: var(--ab-alt-6) 0 0; padding: var(--ab-2) var(--ab-alt-10); border-left: 4px solid var(--danger); color: var(--danger-text); }
.bp-ag-ab-fehlt { color: var(--danger-text); }
.bp-ag-ab-offline { margin: var(--ab-2) 0 0; }
.bp-ag-ab-offline .u-klein { margin: 0 0 var(--ab-alt-6); color: var(--text-secondary); }
.bp-ag-ab-offline button { min-height: 44px; min-width: 44px; }
