/* v0.4 — Ergänzungen für die Ticketansicht (Betreff bearbeiten, Duplikat-Hinweis, Versandprotokoll, Löschen). Gehört zu desktop/detail.js. */

/* Rote Hauptknöpfe für zerstörerische Aktionen: weiße Schrift auf Rot (sonst gewinnt .knopf.gefahr mit roter Schrift). */
.knopf.haupt.gefahr{background:var(--dring);border-color:var(--dring);color:#fff}
.knopf.haupt.gefahr:hover{background:var(--rot-dunkel);border-color:var(--rot-dunkel);color:#fff}

/* ---------------------------------------------------------------- L1: Betreff direkt bearbeiten */
.dk-titel{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.dk-titel .dk-betreff{flex:0 1 auto}
.dk-stift{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid transparent;border-radius:var(--r-s);background:transparent;color:var(--tinte-3);line-height:0;transition:background-color .14s,color .14s,border-color .14s}
.dk-stift:hover{background:var(--dring-hg);color:var(--rot-text);border-color:rgba(216,16,32,.18)}
.dk-stift:focus-visible{outline:2px solid var(--rot-text);outline-offset:2px}
.dk-betreff-form{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.dk-betreff-feld{flex:1;min-width:0;font:inherit;font-size:16px;font-weight:700;color:var(--tinte);border:1px solid var(--rot-text);border-radius:var(--r-s);padding:6px 11px;background:var(--flaeche);box-shadow:0 0 0 3px rgba(216,16,32,.1)}
.dk-betreff-feld:focus{outline:none;box-shadow:0 0 0 3px rgba(216,16,32,.18)}
.dk-betreff-feld:disabled{opacity:.7}
.dk-betreff-info{display:flex;flex-direction:column;gap:2px;margin:6px 0 0;font-size:11.5px;color:var(--tinte-3)} /* linker Versatz = Feldkante, setzt detail.js */
/* Abnahme: Während der Betreff-Bearbeitung konkurrieren keine weiteren Kopfknöpfe (rote Hauptknöpfe) mit „Speichern“. */
.dk-zeile.betreff-offen .dk-knoepfe{display:none}
.dk-betreff-form .knopf{flex:none}
.dk-betreff-info .satz-fehler{margin-top:2px}
#d-kopf .dk-betreff[tabindex="-1"]:focus{outline:none}

/* ---------------------------------------------------------------- L8: Löschen (Menü, Dialog, Band) */
.d-menue .m-trenner{height:1px;background:var(--linie);margin:6px 4px}
.d-menue .m-el.m-gefahr{color:var(--dring);font-weight:600}
.d-menue .m-el.m-gefahr:hover,.d-menue .m-el.m-gefahr:focus-visible{background:var(--dring-hg)}
.loesch-ticket{display:flex;align-items:baseline;gap:10px;min-width:0;padding:10px 12px;margin-bottom:12px;border:1px solid var(--linie);border-radius:var(--r-s);background:var(--flaeche-2)}
.loesch-ticket .lt-betreff{min-width:0;font-weight:600;color:var(--tinte);overflow-wrap:anywhere}
.hb-geloescht{background:var(--dring-hg);border-color:rgba(194,15,28,.3);color:#7d0a12}
.hb-geloescht .knopf{flex:none}
.hb-geloescht .hb-klein{white-space:pre-line}

/* Im Papierkorb ist das Ticket schreibgeschützt: ändernde Bedienelemente ausblenden (Server lehnt sie ohnehin ab). */
.det-nurlesen section[aria-labelledby="h-verfassen"],
.det-nurlesen #d-wissen,
.det-nurlesen [data-erneut],
.det-nurlesen [data-sig],
.det-nurlesen [data-anhang-weg],
.det-nurlesen .ablage{display:none!important}
.det-nurlesen .stand-feld textarea[readonly]{background:var(--flaeche-2);color:var(--tinte-2)}
/* Codex-Runde 1, Fund 3: nach fremdem Löschen bleibt ungesicherter Text sichtbar, aber schreibgeschützt. */
.det-nurlesen section[aria-labelledby="h-verfassen"].pk-behalten{display:block!important}
.det-nurlesen .pk-behalten [data-modus]:disabled,.det-nurlesen .pk-behalten .knopf-reihe .knopf:disabled{opacity:.55}
.det-nurlesen #d-v-inhalt textarea[readonly],.det-nurlesen #d-v-inhalt input[readonly],
.det-nurlesen #d-aufgaben input[readonly],.det-nurlesen .dk-betreff-feld[readonly]{background:var(--flaeche-2);color:var(--tinte-2);box-shadow:none;border-color:var(--linie-stark)}

/* ---------------------------------------------------------------- L2: Duplikat im Mailfaden */
.m-dupl{background:var(--amber-hg);color:var(--amber);box-shadow:inset 0 0 0 1px rgba(154,91,0,.32)}
.nachricht.n-duplikat{border-style:dashed;border-color:rgba(154,91,0,.4)}
.n-dupl{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:9px 12px 0;padding:8px 11px;border-radius:var(--r-s);background:var(--amber-hg);color:#5c3700;font-size:12px;line-height:1.45}
.n-dupl .nd-satz{font-weight:700;flex-basis:100%}
.n-dupl .nd-meta{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}
.n-dupl .knopf{flex:none}

/* Sprungziel (Duplikat → Original, Verlauf → Nachricht) kurz hervorheben. */
.nachricht:focus{outline:none}
.nachricht:focus-visible,.nachricht.n-ziel{box-shadow:0 0 0 3px rgba(216,16,32,.22);border-color:var(--rot-text)}
.nachricht{transition:box-shadow .3s,border-color .3s}

/* ---------------------------------------------------------------- L3: Versandprotokoll ausgehender Nachrichten */
.n-versand{display:grid;gap:3px;margin:0;padding:9px 12px 0;font-size:11.5px}
.n-versand > div{display:grid;grid-template-columns:124px minmax(0,1fr);gap:12px;align-items:baseline}
.n-versand dt{color:var(--tinte-3);font-weight:700;font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding-top:1px}
.n-versand dd{margin:0;min-width:0;color:var(--tinte-2);overflow-wrap:anywhere}
.n-versand .n-status{font-size:10.5px}
.nv-leise{color:var(--tinte-3)}
.nv-warn{color:var(--dring);font-weight:600}
.ns-unklar{background:var(--amber-hg);color:var(--amber)}

/* ---------------------------------------------------------------- Verlauf: Details mehrzeilig, Sprung zur Nachricht */
.verlauf .v-detail{margin-top:2px;color:var(--tinte-3);font-size:12px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.verlauf .v-sprung{margin-top:4px;padding:2px 0;border:0;background:transparent;font-size:11.5px;font-weight:700;color:var(--rot-text);text-decoration:underline;text-underline-offset:2px}
.verlauf .v-sprung:hover{color:var(--rot-dunkel)}
.verlauf .v-sprung:focus-visible{outline:2px solid var(--rot-text);outline-offset:2px;border-radius:4px}

@media (prefers-reduced-motion:reduce){
  .nachricht,.dk-stift{transition:none}
}
