/* ==========================================================================
   Reporting — Fehler und Änderungswünsche melden
   Fachlich: src/features/reporting/
   Löst todo-board.css ab (Anweisung Daniel Lippa, 03.08.2026).
   ========================================================================== */

.rp-schirm {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6, 24px);
  max-width: 900px;
}

/* --------------------------------------------------------------------------
   Formular
   Es steht offen da, nicht hinter einem Knopf: Wer diesen Reiter öffnet,
   will melden.
   -------------------------------------------------------------------------- */

.rp-formular {
  background: var(--in-surface, #fff);
  border: 1px solid var(--in-line, #e5e9f0);
  border-radius: 14px;
  padding: var(--spacing-6, 24px);
}

.rp-formular-kopf {
  margin-bottom: var(--spacing-5, 20px);
}

.rp-formular-titel {
  margin: 0 0 6px;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--in-ink-900, #141b2b);
}

.rp-formular-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--in-ink-500, #697389);
  max-width: 62ch;
}

/* Drei Felder nebeneinander, ab Handybreite untereinander. */
.rp-reihe {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-4, 16px);
}

@media (max-width: 640px) {
  .rp-reihe {
    grid-template-columns: 1fr;
  }
}

.rp-feld {
  margin-bottom: var(--spacing-4, 16px);
}

.rp-reihe .rp-feld {
  margin-bottom: 0;
}

.rp-beschriftung {
  display: block;
  margin-bottom: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--in-ink-900, #141b2b);
}

.rp-eingabe {
  width: 100%;
  padding: 10px 12px;
  font: inherit;
  font-size: 0.9375rem;
  color: var(--in-ink-900, #141b2b);
  background: #fff;
  border: 1px solid var(--in-line, #e5e9f0);
  border-radius: 10px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rp-eingabe:focus {
  outline: none;
  border-color: var(--in-blue-500, #3b6fd4);
  box-shadow: 0 0 0 3px rgba(59, 111, 212, 0.14);
}

.rp-textfeld {
  resize: vertical;
  min-height: 140px;
  line-height: 1.6;
}

.rp-eingabe-fehler {
  border-color: var(--in-red, #d1495b);
}

.rp-fehler {
  margin-top: 5px;
  font-size: 0.8125rem;
  color: var(--in-red, #d1495b);
}

/* Leer soll die Zeile keinen Platz beanspruchen — sonst springt das
   Formular beim ersten Fehler. */
.rp-fehler:empty {
  display: none;
}

.rp-formular-fuss {
  display: flex;
  justify-content: flex-end;
}

.rp-senden {
  padding: 11px 22px;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #fff;
  background: var(--in-navy-800, #132548);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}

.rp-senden:hover:not(:disabled) {
  background: var(--in-navy-900, #0d1a38);
}

.rp-senden:active:not(:disabled) {
  transform: scale(0.98);
}

.rp-senden:disabled {
  opacity: 0.6;
  cursor: default;
}

/* --------------------------------------------------------------------------
   Liste
   -------------------------------------------------------------------------- */

.rp-liste-kopf {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--spacing-3, 12px);
  margin-bottom: var(--spacing-4, 16px);
}

.rp-liste-titel {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--in-ink-900, #141b2b);
}

.rp-liste-zahl {
  font-size: 0.8125rem;
  color: var(--in-ink-500, #697389);
}

.rp-liste-inhalt {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3, 12px);
}

.rp-leer {
  margin: 0;
  padding: var(--spacing-6, 24px);
  text-align: center;
  font-size: 0.9375rem;
  color: var(--in-ink-500, #697389);
  background: var(--in-blue-50, #f2f7fd);
  border-radius: 12px;
}

.rp-karte {
  background: var(--in-surface, #fff);
  border: 1px solid var(--in-line, #e5e9f0);
  border-radius: 12px;
  padding: var(--spacing-4, 16px) var(--spacing-5, 20px);
}

.rp-karte-kopf {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.rp-karte-titel {
  flex: 1;
  min-width: 12ch;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--in-ink-900, #141b2b);
}

/* Die Art: Fehler rot, Wunsch blau. Der Unterschied ist der zwischen
   „etwas ist kaputt" und „etwas könnte besser sein" — und er entscheidet,
   wie schnell jemand hinsieht. */
.rp-marke {
  flex-shrink: 0;
  padding: 3px 9px;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 999px;
}

.rp-marke-fehler {
  color: #a3323f;
  background: rgba(209, 73, 91, 0.12);
}

.rp-marke-wunsch {
  color: var(--in-blue-500, #3b6fd4);
  background: var(--in-blue-100, #e7effb);
}

.rp-status {
  flex-shrink: 0;
  padding: 3px 9px;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 999px;
  cursor: help;
  color: var(--in-ink-500, #697389);
  background: var(--in-line-soft, #f2f4f8);
}

.rp-status-neu {
  color: #8a6116;
  background: rgba(224, 164, 59, 0.16);
}

.rp-status-inArbeit {
  color: var(--in-blue-500, #3b6fd4);
  background: var(--in-blue-100, #e7effb);
}

.rp-status-erledigt {
  color: #1f7a52;
  background: rgba(47, 158, 107, 0.14);
}

.rp-karte-zeile {
  margin-bottom: 10px;
  font-size: 0.8125rem;
  color: var(--in-ink-400, #8b93a5);
}

/* Zeilenumbrüche aus dem Textfeld bleiben erhalten: Wer eine Meldung in
   Schritten aufschreibt, soll sie in Schritten wiederfinden. */
.rp-karte-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--in-ink-900, #141b2b);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.rp-antwort {
  margin-top: var(--spacing-3, 12px);
  padding: 10px 14px;
  border-left: 3px solid var(--in-gold, #c9a24b);
  background: var(--in-gold-soft, #f3ead4);
  border-radius: 0 8px 8px 0;
}

.rp-antwort-kopf {
  display: block;
  margin-bottom: 3px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a6116;
}

.rp-antwort-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--in-ink-900, #141b2b);
  white-space: pre-wrap;
}

/* --------------------------------------------------------------------------
   Bedienung — nur für die, die entscheiden
   -------------------------------------------------------------------------- */

.rp-bedienung {
  margin-top: var(--spacing-4, 16px);
  padding-top: var(--spacing-3, 12px);
  border-top: 1px solid var(--in-line, #e5e9f0);
}

.rp-bedienung-zeile {
  display: flex;
  gap: 10px;
  align-items: center;
}

/* Die Statuswahl braucht nur ihre Breite, das Antwortfeld bekommt den Rest. */
.rp-status-wahl {
  width: auto;
  flex-shrink: 0;
}

.rp-bedienung-zeile .rp-eingabe:not(.rp-status-wahl) {
  flex: 1;
  min-width: 0;
}

@media (max-width: 640px) {
  .rp-bedienung-zeile {
    flex-wrap: wrap;
  }

  .rp-bedienung-zeile .rp-eingabe:not(.rp-status-wahl) {
    flex-basis: 100%;
  }
}

.rp-uebernehmen {
  flex-shrink: 0;
  padding: 9px 16px;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--in-navy-800, #132548);
  background: #fff;
  border: 1px solid var(--in-line, #e5e9f0);
  border-radius: 9px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.rp-uebernehmen:hover:not(:disabled) {
  border-color: var(--in-navy-800, #132548);
  background: var(--in-blue-50, #f2f7fd);
}

.rp-uebernehmen:disabled {
  opacity: 0.6;
  cursor: default;
}

.rp-bearbeitet {
  margin-top: 8px;
  font-size: 0.75rem;
  color: var(--in-ink-400, #8b93a5);
}
