/* Baustein massnahme: Massnahme-Baustein (Bedienkonzept F17, Pilot
   Maschinen, Bauplan 1.3). Besitzer: WP8. Die Grundvorlage bindet die
   Datei nach dem globalen Stylesheet ein. Nur Regeln fuer eigene, neue
   Klassen (templates/_bausteine/massnahme.html); Farben als Token mit
   Rueckfall; eine Regel fuer die Telefonbreite (560px).

   Gold gibt es hier nicht: der Knopf "Als Massnahme ins Cockpit" ist
   schlicht dunkel (Korrektur C.3), die Hauptaktion der Seite bleibt die
   eine Gold-Aktion im Kopfband. Rot nur fuer Fehlersaetze und fuer Zeilen,
   die der Stand-Riegel markiert (B1b). */

/* --- Formular (Einzelform, mit dem Ergebnis, Sammelform) ------------- */

.massnahme-formular,
.massnahme-felder,
.massnahme-sammel {
  display: flex; flex-direction: column; gap: 12px;
  margin: 12px 0 0; padding: 14px 16px;
  background: var(--grau-hell, #f4f6f9);
  border: 1px solid var(--border, #e2e7ee);
  border-radius: 10px;
}
/* Eigenes display schlaegt sonst das hidden-Attribut: ein zugeklapptes
   Formular stuende offen da. */
.massnahme-formular[hidden],
.massnahme-felder[hidden],
.massnahme-sammel[hidden] { display: none; }

.massnahme-felder { margin: 12px 0; min-width: 0; }
.massnahme-felder > legend {
  padding: 0 6px; font-weight: 600; color: var(--navy, #1F4570);
}

.massnahme-reihe {
  display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-start;
}
.massnahme-feld { display: flex; flex-direction: column; gap: 4px;
                  flex: 1 1 220px; min-width: 0; }
.massnahme-feld-breit { flex-basis: 100%; }
.massnahme-feld > label { font-weight: 600; color: var(--text, #1c2733); }
.massnahme-feld input[type="text"],
.massnahme-feld input[type="date"],
.massnahme-feld select { width: 100%; }

/* Fehler am Feld (F8): Satz rot darunter, Feld rot umrandet. */
.massnahme-fehler {
  margin: 4px 0 0; color: var(--rot, #b3261e); font-size: 0.88rem;
  font-weight: 600;
}
.massnahme-formular [aria-invalid="true"],
.massnahme-felder [aria-invalid="true"],
.massnahme-sammel [aria-invalid="true"] {
  border-color: var(--rot, #b3261e);
  box-shadow: 0 0 0 1px var(--rot, #b3261e);
}

/* "mehr Angaben": Titel, Prioritaet, Lesezeile Wirksamkeit. */
.massnahme-mehr { border-top: 1px solid var(--border, #e2e7ee);
                  padding-top: 8px; }
.massnahme-mehr > summary {
  cursor: pointer; color: var(--navy-mid, #305186); font-weight: 600;
  min-height: 32px; display: flex; align-items: center;
}
.massnahme-mehr > summary::before { content: '+ '; white-space: pre; }
.massnahme-mehr[open] > summary::before { content: '- '; }
.massnahme-mehr-inhalt {
  display: flex; flex-direction: column; gap: 10px; margin-top: 8px;
}
.massnahme-lesezeile {
  margin: 0; color: var(--muted, #5f7183); font-size: 0.9rem;
}

.massnahme-knopfzeile { display: flex; justify-content: flex-start; }

/* --- Sammelform -------------------------------------------------------- */

.massnahme-sammel-rahmen { overflow-x: auto; }
.massnahme-sammel-tabelle {
  width: 100%; border-collapse: collapse; background: var(--surface, #fff);
}
.massnahme-sammel-tabelle th,
.massnahme-sammel-tabelle td {
  text-align: left; vertical-align: top; padding: 8px 10px;
  border-bottom: 1px solid var(--border, #e2e7ee);
}
.massnahme-sammel-tabelle th {
  font-size: 0.8rem; font-weight: 600; color: var(--muted, #5f7183);
}
.massnahme-sammel-haken { width: 44px; }
.massnahme-sammel-haken input[type="checkbox"] {
  width: 22px; height: 22px; margin: 0;
}
.massnahme-sammel-tabelle .unterzeile { display: block; }
.massnahme-sammel-fehlerzeile td {
  background: var(--rot-hell, #fdecec);
}

/* --- Stand-Riegel je Zeile und Zeilenaktionen (B1b, E28) ------------------ */

/* Eine Zeile, die inzwischen ein anderer gespeichert hat: in der
   Sammelform (massnahme-sammel-geaendert), im Sammelformular eines Moduls
   (massnahme-zeile-geaendert an der Zeile der Seite) und an den Feldern
   "mit dem Ergebnis" (das fieldset traegt aria-invalid). Rot am Rand und
   ein Satz, die Eingaben stehen noch da. */
.massnahme-sammel-geaendert td {
  background: var(--rot-hell, #fdecec);
}
.massnahme-sammel-geaendert td:first-child {
  box-shadow: inset 4px 0 0 var(--rot, #b3261e);
}
.massnahme-zeile-geaendert {
  background: var(--rot-hell, #fdecec);
  box-shadow: inset 4px 0 0 var(--rot, #b3261e);
  border-radius: 6px;
}
.massnahme-felder[aria-invalid="true"] {
  border-color: var(--rot, #b3261e);
  box-shadow: 0 0 0 1px var(--rot, #b3261e);
}
.massnahme-geaendert {
  margin: 4px 0 0; color: var(--rot, #b3261e); font-size: 0.88rem;
  font-weight: 600;
}

/* Erster Absendeknopf eines Sammelformulars mit Zeilenaktionen: Enter
   speichert. Nur unsichtbar, nicht display:none (nicht jeder Browser
   loest Enter ueber einen nicht gezeichneten Knopf aus). */
.massnahme-standardknopf {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); border: 0; white-space: nowrap;
}

/* --- Anzeige und Liste (R31) ------------------------------------------- */

.massnahme-anzeige { display: flex; flex-direction: column; gap: 2px;
                     margin: 6px 0; }
.massnahme-kopf {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px;
}
.massnahme-kopf > a,
.massnahme-titel { font-weight: 600; color: var(--navy, #1F4570); }

.massnahmen-liste { display: flex; flex-direction: column; gap: 8px; }
.massnahmen-leer { margin: 0; }
.massnahmen-zeilen { list-style: none; margin: 0; padding: 0; }
.massnahmen-zeile {
  display: flex; flex-direction: column; gap: 2px;
  padding: 8px 0; border-bottom: 1px solid var(--border, #e2e7ee);
}
.massnahmen-zeile:last-child { border-bottom: 0; }
.massnahmen-alle { margin: 0; }
.massnahmen-erledigt > summary {
  cursor: pointer; color: var(--muted, #5f7183); font-weight: 600;
  min-height: 32px; display: flex; align-items: center;
}

/* --- Telefon ----------------------------------------------------------- */

@media (max-width: 560px) {
  .massnahme-formular,
  .massnahme-felder,
  .massnahme-sammel { padding: 12px; }
  .massnahme-reihe { flex-direction: column; }
  .massnahme-feld { flex-basis: auto; width: 100%; }
  .massnahme-knopfzeile > button { width: 100%; justify-content: center; }
  .massnahme-sammel-tabelle th,
  .massnahme-sammel-tabelle td { padding: 6px; }
}
