/* _content/bettERFramework.Comm.UI/Components/Features/CalendarEventDialog.razor.rz.scp.css */
/* Löschen links im Fuß, in der Signalfarbe — getrennt von Speichern/Abbrechen. */
.comm-event-delete[b-6irbyob7mh] {
    margin-right: auto;
    color: var(--bp-debit);
}

/* Online-Besprechung: eine ruhige Zeile mit Kamera-Zeichen, Name und Beitreten rechts — der Knopf
   ist die einzige Handlung, deshalb Umriss statt Primärfarbe (Speichern bleibt die Primäraktion). */
.comm-event-meeting[b-6irbyob7mh] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    padding: var(--bp-space-2) var(--bp-space-3);
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius);
    background: var(--bp-panel);
}

.comm-event-meeting__icon[b-6irbyob7mh] {
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: var(--bp-text-muted);
    stroke-width: 1.75;
    stroke-linejoin: round;
}

.comm-event-meeting__text[b-6irbyob7mh] {
    flex: 1;
    min-width: 0;
    font-weight: 600;
}

.comm-event-meeting__join[b-6irbyob7mh] {
    flex: none;
    text-decoration: none;
}
/* _content/bettERFramework.Comm.UI/Components/Features/CompanyFromMessageDialog.razor.rz.scp.css */
/* „Als Firma anlegen": Firmendaten im Raster, darunter zwei Abschnitte — Ansprechpartner und was mit der
   Post der Domain geschieht. Dichte wie die übrigen Comm-Dialoge. */
.comm-cfm__source[b-nvcez1odk4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2);
    margin: 0;
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

.comm-cfm__sender[b-nvcez1odk4] {
    font-family: var(--bp-font-mono, monospace);
}

.comm-cfm__grid[b-nvcez1odk4] {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--bp-space-3);
}

.comm-cfm__grid > div[b-nvcez1odk4] { grid-column: span 3; }
.comm-cfm__grid > .comm-cfm__wide[b-nvcez1odk4] { grid-column: span 6; }
.comm-cfm__grid > .comm-cfm__street[b-nvcez1odk4] { grid-column: span 4; }
.comm-cfm__grid > .comm-cfm__no[b-nvcez1odk4] { grid-column: span 2; }
.comm-cfm__grid > .comm-cfm__zip[b-nvcez1odk4] { grid-column: span 2; }
.comm-cfm__grid > .comm-cfm__city[b-nvcez1odk4] { grid-column: span 4; }

.comm-cfm__section[b-nvcez1odk4] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    margin: 0;
    padding: var(--bp-space-3) 0 0;
    border: 0;
    border-top: 1px solid var(--bp-panel-border);
}

.comm-cfm__section legend[b-nvcez1odk4] {
    padding: 0;
    font-size: 0.8125rem;
    font-weight: 600;
}

.comm-cfm__hint[b-nvcez1odk4] {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    line-height: 1.5;
}

@media (max-width: 560px) {
    .comm-cfm__grid > div[b-nvcez1odk4],
    .comm-cfm__grid > .comm-cfm__street[b-nvcez1odk4],
    .comm-cfm__grid > .comm-cfm__no[b-nvcez1odk4],
    .comm-cfm__grid > .comm-cfm__zip[b-nvcez1odk4],
    .comm-cfm__grid > .comm-cfm__city[b-nvcez1odk4] { grid-column: span 6; }
}
/* _content/bettERFramework.Comm.UI/Components/Features/ComposeDialog.razor.rz.scp.css */
/* --- Verfassen-Dialog ---
   Der Dialog trägt Empfänger, Betreff, eine KI-Zeile und einen Editor mit Werkzeugleiste. Die
   Felder stehen deshalb in einer ruhigen Spalte mit gleichmäßigem Abstand: Ohne feste Rhythmik
   zerfällt die Maske in Blöcke unterschiedlicher Dichte, sobald Kopie/Blindkopie aufklappen. */

[b-mnc45556p9] .comm-compose__form {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

[b-mnc45556p9] .comm-compose__row {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

/* Beschriftung links, der Auslöser für Kopie/Blindkopie rechts auf derselben Höhe. */
[b-mnc45556p9] .comm-compose__row-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

[b-mnc45556p9] .comm-compose__hint {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

/* --- KI-Zeile ---
   Abgesetzt, damit die KI-Aktion nicht mit den gewöhnlichen Feldern verschwimmt: Sie kostet Geld
   und erzeugt Text, den der Nutzer verantwortet. Die Farbe bleibt die Haus-Farbe für KI (--bp-purple),
   der Knopf selbst trägt bp-ai. */
[b-mnc45556p9] .comm-compose__ai {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid color-mix(in srgb, var(--bp-purple) 40%, transparent);
    border-radius: var(--bp-radius-md, 8px);
    background: color-mix(in srgb, var(--bp-purple) 8%, transparent);
}

[b-mnc45556p9] .comm-compose__ai-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Stichwortfeld nimmt den Platz, der Knopf nur seine Breite. */
[b-mnc45556p9] .comm-compose__ai-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-mnc45556p9] .comm-compose__ai-row .e-input-group {
    flex: 1 1 auto;
    min-width: 0;
}

[b-mnc45556p9] .comm-compose__ai-origin {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

/* --- Editor ---
   Der Editor bringt eigene helle Vorgaben mit; die Schreibfläche wird deshalb ausdrücklich auf die
   Lesefarben der App gesetzt, damit sie nicht als weißer Block im dunklen Dialog steht. */
[b-mnc45556p9] .comm-compose__editor {
    border-radius: var(--bp-radius-md, 8px);
}

[b-mnc45556p9] .comm-compose__editor .e-rte-content .e-content {
    background: var(--bp-surface-2, #0F1B2D);
    color: var(--bp-text, #E8EDF5);
}

/* Quellen des KI-Entwurfs: kompakte Liste unter der Herkunftszeile. */
[b-mnc45556p9] .comm-compose__ai-sources ul {
    margin: var(--bp-space-1) 0 0;
    padding-left: var(--bp-space-4);
    font-size: 0.75rem;
}

/* --- Anhänge ---
   Eine ruhige Liste: Name trägt die Zeile, Größe leise daneben, Entfernen am Zeilenende. */
[b-mnc45556p9] .comm-compose__attachments {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

[b-mnc45556p9] .comm-compose__attachment {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    padding: var(--bp-space-1) var(--bp-space-2);
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl);
}

[b-mnc45556p9] .comm-compose__attachment-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bp-text);
}

[b-mnc45556p9] .comm-compose__attachment-size {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
}

[b-mnc45556p9] .comm-compose__attachment-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 0;
    border-radius: var(--bp-radius-ctl);
    background: transparent;
    color: var(--bp-text-muted);
    cursor: pointer;
}

[b-mnc45556p9] .comm-compose__attachment-remove:hover {
    color: var(--bp-debit);
}

[b-mnc45556p9] .comm-compose__attachment-remove:focus-visible,
[b-mnc45556p9] .comm-compose__attach:focus-within {
    outline: 2px solid var(--bp-yellow);
    outline-offset: 1px;
}

/* Der Knopf ist ein Label: Klick öffnet das (unsichtbare) Dateifeld darin. */
[b-mnc45556p9] .comm-compose__attach {
    position: relative;
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: var(--bp-space-2);
    cursor: pointer;
}

[b-mnc45556p9] .comm-compose__attach.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

[b-mnc45556p9] .comm-compose__file {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

/* Überarbeiten-Knöpfe und Emoji rechts neben „Nachricht", bricht schmal um. */
[b-mnc45556p9] .comm-compose__body-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--bp-space-1);
}

/* Offene Platzhalter: Warnton, kein Fehlerrot — der Nutzer muss nur noch ersetzen. */
[b-mnc45556p9] .comm-compose__placeholders {
    color: var(--bp-warn);
    font-size: 0.8125rem;
}
/* _content/bettERFramework.Comm.UI/Components/Features/FollowUpDialog.razor.rz.scp.css */
/* „Neue Wiedervorlage": Die Richtung ist die erste Entscheidung und steht deshalb als zwei
   gleichwertige Flächen oben — kein Schalter, dessen Aus-Zustand man erst deuten muss. */

.comm-fud__source[b-bhk3zclci0] {
    display: flex;
    gap: var(--bp-space-2);
    align-items: baseline;
    min-width: 0;
    font-size: 0.85rem;
}

.comm-fud__source-label[b-bhk3zclci0] {
    flex: 0 0 auto;
    color: var(--bp-text-muted);
}

.comm-fud__source-subject[b-bhk3zclci0] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comm-fud__direction[b-bhk3zclci0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bp-space-2);
}

.comm-fud__dir[b-bhk3zclci0] {
    appearance: none;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: var(--bp-space-2) var(--bp-space-3);
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl);
    background: transparent;
    color: var(--bp-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 120ms ease-out, background-color 120ms ease-out;
}

.comm-fud__dir:hover[b-bhk3zclci0] {
    background: var(--bp-panel-hover);
}

.comm-fud__dir:focus-visible[b-bhk3zclci0] {
    outline: 2px solid var(--bp-yellow);
    outline-offset: 2px;
}

.comm-fud__dir.is-active[b-bhk3zclci0] {
    border-color: var(--bp-yellow);
    box-shadow: inset 0 0 0 1px var(--bp-yellow);
}

.comm-fud__dir-title[b-bhk3zclci0] {
    font-weight: 600;
}

.comm-fud__dir-hint[b-bhk3zclci0],
.comm-fud__hint[b-bhk3zclci0] {
    font-size: 0.75rem;
    color: var(--bp-text-muted);
}
/* _content/bettERFramework.Comm.UI/Components/Features/IntentDialog.razor.rz.scp.css */
.comm-intent-hint[b-ggm3451yy8] {
    color: var(--bp-text-muted);
}

/* Festes Ziel einer mitgelieferten Absicht: als Text statt als gesperrte Auswahl — eine graue
   Auswahlliste lädt zum Klicken ein und sagt nicht, warum sie nicht geht. */
.comm-intent-fixed[b-ggm3451yy8] {
    padding: var(--bp-space-2) 0;
    color: var(--bp-text-muted);
}
/* _content/bettERFramework.Comm.UI/Components/Features/MailboxCalendarPanel.razor.rz.scp.css */
/* Kalender-Bereich im Postfach-Dialog — durch eine Linie von den Postfach-Einstellungen getrennt. */
.comm-mbcal[b-1f858070jk] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    padding-top: var(--bp-space-3);
    border-top: 1px solid var(--bp-panel-border);
}

.comm-mbcal__head[b-1f858070jk] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
}

.comm-mbcal__muted[b-1f858070jk] {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

.comm-mbcal__caldav[b-1f858070jk] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
}

.comm-mbcal__list[b-1f858070jk] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
}

.comm-mbcal__item[b-1f858070jk] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    font-size: 0.8125rem;
}

.comm-mbcal__swatch[b-1f858070jk] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.comm-mbcal__name[b-1f858070jk] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comm-mbcal__state[b-1f858070jk] {
    margin-left: auto;
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    flex-shrink: 0;
}

.comm-mbcal__state--error[b-1f858070jk] {
    color: var(--bp-debit);
}
/* _content/bettERFramework.Comm.UI/Components/Features/MailboxDialog.razor.rz.scp.css */
/* --- Abruf-Fortschritt im Postfach-Dialog ---
   Bewusst schlichter als die Karte auf der Postfach-Seite: Hier steht die Anzeige INNERHALB eines
   Formulars, direkt unter dem Startdatum. Eine gerahmte Karte würde das Feld optisch zerreißen. */

[b-okh02tfnwq] .mb-sync-progress {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

[b-okh02tfnwq] .mb-sync-progress__label {
    color: var(--bp-yellow);
    font-size: 0.8125rem;
    font-weight: 600;
}

[b-okh02tfnwq] .mb-sync-progress__bar {
    display: block;
    width: 100%;
    height: 8px;
    accent-color: var(--bp-yellow);
}
/* _content/bettERFramework.Comm.UI/Components/Features/MessageInsightCard.razor.rz.scp.css */
/* KI-Einordnung im Aktions-Dock rechts (seit 30.09.2026, vorher als Band im Lesebereich). Der Hauch Lila ist die Aussage „das hat eine Maschine vorgeschlagen" (--bp-purple ist
   die KI-Farbe des Hauses) — als Fläche und Rahmen, nie als Randbalken. */
.comm-insight[b-q7drj9kin1] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    padding: var(--bp-space-3);
    border: 1px solid color-mix(in srgb, var(--bp-purple) 32%, transparent);
    border-radius: var(--bp-radius);
    background: color-mix(in srgb, var(--bp-purple) 7%, transparent);
    font-size: 0.8125rem;
    line-height: 1.45;
}

/* Dringend: Der Rahmen kippt ins Rot, damit die Nachricht beim Durchblättern auffällt. Der Chip
   „Dringend" sagt dasselbe als Text (Farbe trägt die Aussage nie allein). */
.comm-insight--urgent[b-q7drj9kin1] {
    border-color: color-mix(in srgb, var(--bp-debit) 55%, transparent);
}

.comm-insight__head[b-q7drj9kin1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2);
}

.comm-insight__intent[b-q7drj9kin1] {
    font-family: var(--bp-font-head);
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--bp-text);
}

/* Die Sicherheit ist eine Zahl zum Vergleichen — Tabellenziffern, gedämpft neben dem Namen. */
.comm-insight__confidence[b-q7drj9kin1] {
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
}

.comm-insight__status[b-q7drj9kin1] {
    margin-left: auto;
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

.comm-insight__summary[b-q7drj9kin1] {
    margin: 0;
    color: var(--bp-text);
    max-width: 72ch;
}

.comm-insight__muted[b-q7drj9kin1] {
    color: var(--bp-text-muted);
}

/* Zeilen Partner/Vorschlag und die aufgeklappten Angaben: Bezeichnung links, Wert rechts. */
.comm-insight__lines[b-q7drj9kin1],
.comm-insight__facts[b-q7drj9kin1] {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: var(--bp-space-3);
    row-gap: var(--bp-space-1);
    margin: 0;
}

.comm-insight__lines dt[b-q7drj9kin1],
.comm-insight__facts dt[b-q7drj9kin1] {
    color: var(--bp-text-muted);
}

.comm-insight__lines dd[b-q7drj9kin1],
.comm-insight__facts dd[b-q7drj9kin1] {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.comm-insight__facts[b-q7drj9kin1] {
    padding-top: var(--bp-space-2);
    border-top: 1px solid var(--bp-panel-border);
}

.comm-insight__num[b-q7drj9kin1] {
    font-variant-numeric: tabular-nums;
}

.comm-insight__done[b-q7drj9kin1] {
    color: var(--bp-credit);
}

.comm-insight__done .e-icons[b-q7drj9kin1] {
    font-size: 0.75rem;
    margin-right: var(--bp-space-1);
}

.comm-insight__promises[b-q7drj9kin1] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
}

/* „Wir" / „Absender" vor der Zusage: wer etwas schuldet, ist die eigentliche Information. */
.comm-insight__who[b-q7drj9kin1] {
    display: inline-block;
    min-width: 4.5rem;
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.comm-insight__actions[b-q7drj9kin1] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2);
}

.comm-insight__run[b-q7drj9kin1] {
    margin-left: auto;
}

/* Aufklapp-Zeile als ruhiger Textknopf — sie ist Lesehilfe, keine Aktion. */
.comm-insight__toggle[b-q7drj9kin1] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--bp-space-1);
    padding: var(--bp-space-1) var(--bp-space-2);
    border: 0;
    background: transparent;
    color: var(--bp-text-muted);
    font: inherit;
    cursor: pointer;
}

.comm-insight__toggle:hover[b-q7drj9kin1] {
    color: var(--bp-text);
}

.comm-insight__toggle:focus-visible[b-q7drj9kin1] {
    outline: 2px solid var(--bp-purple);
    outline-offset: 2px;
}

.comm-insight__toggle .e-icons[b-q7drj9kin1] {
    font-size: 0.625rem;
}

/* Im schmalen Dock stehen die beiden Felder untereinander — nebeneinander wären Absicht und
   Partner je nur halb so breit wie ihre Namen. */
.comm-insight__change[b-q7drj9kin1] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--bp-space-2) var(--bp-space-3);
    padding-top: var(--bp-space-2);
    border-top: 1px solid var(--bp-panel-border);
}

.comm-insight__field[b-q7drj9kin1] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    min-width: 0;
}

.comm-insight__label[b-q7drj9kin1] {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

.comm-insight__check[b-q7drj9kin1] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    cursor: pointer;
}

.comm-insight__check input[b-q7drj9kin1] {
    accent-color: var(--bp-purple);
}

.comm-insight__change .comm-insight__actions[b-q7drj9kin1] {
    grid-column: 1 / -1;
}

/* Verlaufs-Zusammenfassung: unter der Einordnung, durch eine Linie getrennt; Zeilenumbrüche der
   KI-Antwort (Aufzählung) bleiben stehen. */
.comm-insight__thread[b-q7drj9kin1] {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    padding-top: var(--bp-space-2);
    border-top: 1px solid var(--bp-panel-border);
}

.comm-insight__thread-text[b-q7drj9kin1] {
    margin: 0;
    max-width: 72ch;
    white-space: pre-line;
}

.comm-insight__close[b-q7drj9kin1] {
    margin-left: auto;
}

/* Fällige Wiedervorlage: in der Signalfarbe, damit sie beim Lesen der Nachricht auffällt. */
.comm-insight__due[b-q7drj9kin1] {
    color: var(--bp-debit);
}
/* _content/bettERFramework.Comm.UI/Components/Features/RecipientInput.razor.rz.scp.css */
/* Vorschlagsliste direkt unter dem Feld, über dem folgenden Inhalt. */
.comm-recipient[b-bbo5owdcs3] {
    position: relative;
}

.comm-recipient__list[b-bbo5owdcs3] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 20;
    margin: 0;
    padding: var(--bp-space-1) 0;
    list-style: none;
    background: var(--bp-panel-solid);
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius);
    box-shadow: 0 8px 24px color-mix(in srgb, black 25%, transparent);
    max-height: 18rem;
    overflow-y: auto;
}

.comm-recipient__item[b-bbo5owdcs3] {
    display: flex;
    align-items: baseline;
    gap: var(--bp-space-2);
    padding: var(--bp-space-1) var(--bp-space-3);
    cursor: pointer;
    min-width: 0;
}

.comm-recipient__item.is-active[b-bbo5owdcs3],
.comm-recipient__item:hover[b-bbo5owdcs3] {
    background: var(--bp-panel-hover);
}

.comm-recipient__name[b-bbo5owdcs3] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comm-recipient__address[b-bbo5owdcs3] {
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.comm-recipient__tag[b-bbo5owdcs3] {
    margin-left: auto;
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    white-space: nowrap;
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommAi.razor.rz.scp.css */
/* Schalter-Band über dem Katalog: Schalter links, Erklärung daneben. */
[b-ssspyt85uw] .comm-ai-switch {
    display: flex;
    align-items: flex-start;
    gap: var(--bp-space-3);
    padding: var(--bp-space-3) var(--bp-space-4);
}

[b-ssspyt85uw] .comm-ai-switch__hint,
[b-ssspyt85uw] .comm-ai-muted {
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

/* „Automatisch ab 90 %" ist eine KI-Aussage — lila Umriss wie die Absicht-Spalte im Posteingang,
   Text aufgehellt für den AA-Kontrast auf Navy. */
[b-ssspyt85uw] .comm-ai-auto {
    color: color-mix(in srgb, var(--bp-purple) 65%, var(--bp-white));
    border-color: color-mix(in srgb, var(--bp-purple) 60%, transparent);
}

/* Tonalitätsprofil: Anrede, Länge und Gruß nebeneinander, die Hausregeln über die volle Breite. */
[b-ssspyt85uw] .comm-ai-tone {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
    padding: var(--bp-space-3) var(--bp-space-4);
}

[b-ssspyt85uw] .comm-ai-tone__head {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
}

[b-ssspyt85uw] .comm-ai-tone__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--bp-space-3);
}

[b-ssspyt85uw] .comm-ai-tone__field {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    min-width: 0;
}

[b-ssspyt85uw] .comm-ai-tone__field--wide {
    grid-column: 1 / -1;
}

/* Die Absichten-Tabelle hat eine feste Höhe: Die Seite trägt darüber Schalter und Tonalität,
   darunter den Wissensrückfluss — mit flex-1 schrumpfte die Tabelle auf nichts. */
[b-ssspyt85uw] .comm-ai-grid {
    height: 460px;
    flex-shrink: 0;
}

/* Wissensrückfluss: Kopf mit Knopf, darunter die Vorschläge als ruhige Liste. */
[b-ssspyt85uw] .comm-ai-knowledge {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
    padding: var(--bp-space-3) var(--bp-space-4);
    flex-shrink: 0;
}

[b-ssspyt85uw] .comm-ai-knowledge__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--bp-space-3);
}

[b-ssspyt85uw] .comm-ai-knowledge__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}

[b-ssspyt85uw] .comm-ai-knowledge__item {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    padding: var(--bp-space-3) 0;
    border-top: 1px solid var(--bp-panel-border);
}

[b-ssspyt85uw] .comm-ai-knowledge__row {
    display: flex;
    align-items: flex-start;
    gap: var(--bp-space-3);
}

[b-ssspyt85uw] .comm-ai-knowledge__row > :first-child {
    flex: 1;
}

[b-ssspyt85uw] .comm-ai-knowledge__answer summary {
    cursor: pointer;
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

[b-ssspyt85uw] .comm-ai-knowledge__answer p {
    margin: var(--bp-space-2) 0 0;
    max-width: 72ch;
    white-space: pre-line;
}

/* Nachtrag älterer Post: Datum, Vorschau und Start in einer Zeile, bricht schmal untereinander um. */
[b-ssspyt85uw] .comm-ai-backfill {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
    padding: var(--bp-space-3) var(--bp-space-4);
}

[b-ssspyt85uw] .comm-ai-backfill__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--bp-space-4);
}

[b-ssspyt85uw] .comm-ai-backfill__date {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
}

[b-ssspyt85uw] .comm-ai-backfill__start {
    margin-left: auto;
}

/* Guthaben reicht nicht: kein Fehler, der Lauf setzt nach dem Nachladen fort — deshalb Warnton, nicht Rot. */
[b-ssspyt85uw] .comm-ai-backfill__warn {
    color: var(--bp-warn);
    font-size: 0.8125rem;
}

/* Unternehmensprofil: großzügiges Textfeld, es ist ein Absatztext und keine Notiz. */
[b-ssspyt85uw] .comm-ai-profile textarea {
    min-height: 12rem;
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommCalendar.razor.rz.scp.css */
/* Legende links, Ansicht rechts — die Ansicht bekommt den Platz, die Legende nur, was sie braucht. */
[b-kelumyplgu] .comm-cal {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--bp-space-4);
}

[b-kelumyplgu] .comm-cal__legend {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    padding: var(--bp-space-3);
    overflow-y: auto;
}

[b-kelumyplgu] .comm-cal__legend ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
}

[b-kelumyplgu] .comm-cal__legend-title {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

[b-kelumyplgu] .comm-cal__legend-item {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    cursor: pointer;
    font-size: 0.8125rem;
    min-width: 0;
}

[b-kelumyplgu] .comm-cal__legend-item input {
    accent-color: var(--bp-yellow);
}

[b-kelumyplgu] .comm-cal__swatch {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

[b-kelumyplgu] .comm-cal__legend-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* „nur belegt": der Hinweis, warum dort keine Inhalte stehen. */
[b-kelumyplgu] .comm-cal__busy {
    margin-left: auto;
    color: var(--bp-text-muted);
    font-size: 0.6875rem;
    flex-shrink: 0;
}

[b-kelumyplgu] .comm-cal__error {
    display: block;
    padding-left: calc(10px + 2 * var(--bp-space-2) + 13px);
    color: var(--bp-debit);
    font-size: 0.6875rem;
}

[b-kelumyplgu] .comm-cal__view {
    padding: 0;
    overflow: hidden;
    min-height: 0;
}

[b-kelumyplgu] .comm-cal-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--bp-space-2);
    padding: var(--bp-space-5);
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommFollowUps.razor.rz.scp.css */
/* Wiedervorlagen: zwei Spuren, Filterleiste, gruppierte Liste. Farben nur aus --bp-*-Token;
   Signalfarbe trägt nur, was Handlungsbedarf hat (überfällig rot, heute warn). */

/* Zähler an Reitern, Filtern und Gruppenköpfen: klein, gedämpft, Ziffern gleich breit. */
.comm-fu__count[b-tlscqkxhl7] {
    margin-left: var(--bp-space-1);
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--bp-text-muted);
}

/* ---- Filterleiste --------------------------------------------------------------------------- */

.comm-fu__filters[b-tlscqkxhl7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2) var(--bp-space-4);
}

.comm-fu__chips[b-tlscqkxhl7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-1);
}

.comm-fu__chips-label[b-tlscqkxhl7] {
    margin-right: var(--bp-space-1);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--bp-text-muted);
}

/* Filterknopf: ruhiger Umriss, aktiv in CI-Gelb mit schwarzem Text (Marken-Regel). */
.comm-fu__chip[b-tlscqkxhl7] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    padding: 0.15rem var(--bp-space-2);
    border: 1px solid var(--bp-panel-border);
    border-radius: var(--bp-radius-ctl);
    background: transparent;
    color: var(--bp-text);
    font: inherit;
    font-size: 0.8rem;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color 120ms ease-out, border-color 120ms ease-out;
}

.comm-fu__chip:hover:not(:disabled)[b-tlscqkxhl7] {
    background: var(--bp-panel-hover);
}

.comm-fu__chip:focus-visible[b-tlscqkxhl7] {
    outline: 2px solid var(--bp-yellow);
    outline-offset: 2px;
}

.comm-fu__chip:disabled[b-tlscqkxhl7] {
    opacity: 0.45;
    cursor: default;
}

.comm-fu__chip.is-active[b-tlscqkxhl7] {
    background: var(--bp-yellow);
    border-color: var(--bp-yellow);
    color: var(--bp-black);
}

.comm-fu__chip.is-active .comm-fu__count[b-tlscqkxhl7] {
    color: var(--bp-black);
}

/* Überfällig zählt rot, auch wenn nicht gewählt — der Blick soll dort hängen bleiben. */
.comm-fu__chip--overdue:not(.is-active) .comm-fu__count[b-tlscqkxhl7] {
    color: var(--bp-debit);
}

.comm-fu__note[b-tlscqkxhl7] {
    margin: 0;
    font-size: 0.8rem;
    color: var(--bp-text-muted);
}

/* ---- Liste ---------------------------------------------------------------------------------- */

/* Die Liste rollt IN der Karte; der Pager bleibt darunter stehen. Eine Hilfsklasse „overflow-auto"
   gibt es im Haus-CSS nicht — ohne diese Regel lief die Tabelle unter den Pager (Befund 01.10.2026). */
.comm-fu__scroll[b-tlscqkxhl7] {
    overflow: auto;
}

.comm-fu__table[b-tlscqkxhl7] {
    table-layout: fixed;
}

/* Die Zusage ist die Information, um die es geht — sie bekommt den ganzen Rest der Breite.
   Die Handgriffe stehen im Zeilenmenü, die Spalte trägt nur das KI-Nachfassen und ⋮ (Vorgabe: Aktionsbereich schmal). */
.comm-fu__col-check[b-tlscqkxhl7] { width: 40px; }
.comm-fu__col-due[b-tlscqkxhl7] { width: 110px; }
.comm-fu__col-contact[b-tlscqkxhl7] { width: 140px; }
.comm-fu__col-actions[b-tlscqkxhl7] { width: 72px; }

.comm-fu__table td[b-tlscqkxhl7] {
    vertical-align: top;
}

/* Angehakte Zeile: leicht hinterlegt, damit man vor der Sammelaktion sieht, was sie trifft. */
.comm-fu__row--checked > td[b-tlscqkxhl7] { background: color-mix(in srgb, var(--bp-yellow) 6%, transparent); }

/* Rechtsklick-Menü im Hausstil wie im Posteingang: gelber Rahmen (Vorgabe 30.09.2026). */
.comm-row-menu-host[b-tlscqkxhl7]  ul.e-contextmenu {
    border: 2px solid var(--bp-yellow);
    border-radius: var(--bp-radius);
}

/* Gruppenkopf (Später, Diese Woche, Heute, Überfällig, Erledigt): bleibt beim Rollen sichtbar. */
.comm-fu__group th[b-tlscqkxhl7] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding-top: var(--bp-space-3);
    background: var(--bp-surface);
    color: var(--bp-text);
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.8rem;
}

.comm-fu__group--overdue th[b-tlscqkxhl7] { color: var(--bp-debit); }
.comm-fu__group--today th[b-tlscqkxhl7] { color: var(--bp-warn); }

.comm-fu__date[b-tlscqkxhl7] {
    display: block;
    font-variant-numeric: tabular-nums;
}

.comm-fu__relative[b-tlscqkxhl7] {
    display: block;
    font-size: 0.75rem;
    color: var(--bp-text-muted);
}

.comm-fu__relative.is-overdue[b-tlscqkxhl7] {
    color: var(--bp-debit);
}

/* Zusage bis zu zwei Zeilen statt nach wenigen Zeichen abgeschnitten; der volle Text steht im title. */
.comm-fu__text[b-tlscqkxhl7] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    font-weight: 500;
    line-height: 1.35;
}

.comm-fu__contact[b-tlscqkxhl7],
.comm-fu__partner[b-tlscqkxhl7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.comm-fu__origin[b-tlscqkxhl7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78rem;
    color: var(--bp-text-muted);
}

.comm-fu__manual[b-tlscqkxhl7] {
    margin-left: var(--bp-space-1);
}

.comm-fu__origin[b-tlscqkxhl7] {
    margin-top: 2px;
}

.comm-fu__cat[b-tlscqkxhl7] {
    margin-right: var(--bp-space-2);
    padding-block: 0;
    font-size: 0.72rem;
}

/* KI-Eintrag im Zeilenmenü: lila wie jeder KI-Knopf (Haus-Regel). */
.comm-row-menu-host[b-tlscqkxhl7]  li.comm-fu__menu-ai,
.comm-row-menu-host[b-tlscqkxhl7]  li.comm-fu__menu-ai .e-menu-icon {
    color: var(--bp-purple);
}

.comm-fu__contact[b-tlscqkxhl7],
.comm-fu__partner[b-tlscqkxhl7] {
    display: block;
}

.comm-fu__partner[b-tlscqkxhl7] {
    font-size: 0.75rem;
    color: var(--bp-text-muted);
}

/* Abgeschlossene Zeilen treten zurück — Verlauf, kein Arbeitsvorrat. */
.comm-fu__row--closed td[b-tlscqkxhl7] {
    color: var(--bp-text-muted);
}

.comm-fu__actions[b-tlscqkxhl7] {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: var(--bp-space-1);
}

/* Seitenleiste unter der Liste — gleiche Lage und Ruhe wie der Grid-Pager der anderen Listen:
   gedämpfter Text, dünner Trenner, die Seitenangabe links, das Blättern rechts. */
.comm-followup-pager[b-tlscqkxhl7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--bp-space-3);
    padding: var(--bp-space-2) var(--bp-space-3);
    border-top: 1px solid var(--bp-panel-border);
    color: var(--bp-text-muted);
    font-size: 0.85rem;
}

.comm-followup-pager__info[b-tlscqkxhl7] {
    font-variant-numeric: tabular-nums;
}

.comm-followup-pager__buttons[b-tlscqkxhl7] {
    display: flex;
    align-items: center;
    gap: var(--bp-space-1);
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommInbox.razor.rz.scp.css */
/* Nur Seiten-Layout und Posteingang-spezifische Kleinigkeiten — Bausteine kommen aus bp-components.css. */

/* Ungelesen-Punkt (CI-Gelb) bzw. leerer Ring für gelesene Nachrichten. */
[b-fanuqbz286] .comm-unread-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bp-yellow);
    vertical-align: middle;
}

[b-fanuqbz286] .comm-unread-dot--read {
    background: transparent;
    border: 1px solid var(--bp-text-muted);
    opacity: 0.5;
}

/* Ungelesene Zeilen heben sich wie im Mail-Client per Schriftgewicht ab. */
[b-fanuqbz286] .e-row.comm-row-unread .e-rowcell {
    font-weight: 600;
    color: var(--bp-text);
}

/* Private Nachrichten in Gelb: Sie haengen an keinem Partner und an keiner Regel, laufen also in
   keinem Ablauf mit und brauchen eine Person, die sie liest. Die Farbe traegt die Aussage allein
   nicht (Farbfehlsichtigkeit) - die Spalte "Sichtbarkeit" nennt denselben Stand als Text.
   Bewusst NACH comm-row-unread: Eine ungelesene private Nachricht ist beides, fett UND gelb. */
[b-fanuqbz286] .e-row.comm-row-private .e-rowcell {
    color: var(--bp-yellow);
}

/* Die Auswahl gewinnt: In der markierten Zeile bleibt die Schrift lesbar, statt gelb auf gelb
   zu laufen. */
[b-fanuqbz286] .e-row.comm-row-private.e-selectionbackground .e-rowcell,
[b-fanuqbz286] .e-row.comm-row-private .e-rowcell.e-selectionbackground {
    color: var(--bp-text);
}

/* Schlüssel-Spalte der Detail-Metadaten (Von/An/Empfangen/Postfach). */
[b-fanuqbz286] .comm-meta-key {
    color: var(--bp-text-muted);
    min-width: 84px;
    flex-shrink: 0;
}

[b-fanuqbz286] .comm-muted {
    color: var(--bp-text-muted);
}

/* ------------------------------------------------------------------
   Lesebereich (Detailspalte)
   ------------------------------------------------------------------ */

/* Halbe Seite: Der Lesebereich ist beim Lesen die Arbeitsflaeche, nicht die Liste. Bei 42 % war
   fremdes Mail-HTML (Tabellen, Newsletter) dauerhaft gestaucht; die Liste braucht nur Absender,
   Betreff und Zeit und kommt mit der anderen Haelfte aus. */
[b-fanuqbz286] .comm-detail {
    width: 50%;
    overflow: hidden;
}

/* ------------------------------------------------------------------
   Anhänge
   ------------------------------------------------------------------ */

[b-fanuqbz286] .comm-attachments {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

[b-fanuqbz286] .comm-attachment {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    padding: 0.375rem 0.5rem;
    border-radius: var(--bp-radius-ctl);
    background: var(--bp-panel-solid-2);
    font-size: 0.8125rem;
    color: inherit;
    text-decoration: none;
}

/* Herunterladbare Anhänge sind Bedienelemente und verhalten sich auch so. */
[b-fanuqbz286] a.comm-attachment:hover,
[b-fanuqbz286] a.comm-attachment:focus-visible {
    background: var(--bp-panel-hover);
}

[b-fanuqbz286] a.comm-attachment:hover .comm-attachment__name,
[b-fanuqbz286] a.comm-attachment:focus-visible .comm-attachment__name {
    text-decoration: underline;
}

[b-fanuqbz286] a.comm-attachment:hover .comm-attachment__icon,
[b-fanuqbz286] a.comm-attachment:focus-visible .comm-attachment__icon {
    color: var(--bp-yellow);
}

/* Ohne abgelegten Inhalt (Bestandsnachricht, zu großer Anhang): sichtbar, aber ruhiger. */
[b-fanuqbz286] .comm-attachment--plain .comm-attachment__name {
    color: var(--bp-text-muted);
}

[b-fanuqbz286] .comm-attachment__icon {
    color: var(--bp-text-faint);
    flex-shrink: 0;
}

[b-fanuqbz286] .comm-attachment__name {
    color: var(--bp-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    min-width: 0;
}

/* Tabellenziffern: die Größen stehen untereinander und sollen eine Spalte bilden. */
[b-fanuqbz286] .comm-attachment__size {
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

/* ------------------------------------------------------------------
   Uebergaben (was ist aus dieser Nachricht geworden)
   ------------------------------------------------------------------ */

[b-fanuqbz286] .comm-handoffs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

[b-fanuqbz286] .comm-handoff {
    display: flex;
    align-items: baseline;
    gap: var(--bp-space-2);
    padding: 0.375rem 0.5rem;
    border-radius: var(--bp-radius-ctl);
    background: var(--bp-panel-solid-2);
    font-size: 0.8125rem;
}

[b-fanuqbz286] .comm-handoff__icon {
    color: var(--bp-success, var(--bp-text-faint));
    flex-shrink: 0;
}

[b-fanuqbz286] .comm-handoff__text {
    color: var(--bp-text-muted);
    min-width: 0;
}

[b-fanuqbz286] .comm-handoff__reason {
    color: var(--bp-text-faint);
    margin-left: 0.25rem;
}

/* ------------------------------------------------------------------
   Gespraechs-Liste (eine Zeile je Thread, aufklappbar)
   ------------------------------------------------------------------ */

/* Betreff traegt die Zeile: etwas kraeftiger als die Nebenangaben. */
[b-fanuqbz286] .comm-subject {
    color: var(--bp-text);
}

/* Anzahl der Beitraege - die Begruendung dafuer, dass hier zusammengefasst wurde. */
[b-fanuqbz286] .comm-thread-count {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0 0.4rem;
    border-radius: 999px;
    background: var(--bp-panel-solid-2);
    border: 1px solid var(--bp-panel-border);
    color: var(--bp-text-muted);
    font-size: 0.6875rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

[b-fanuqbz286] .comm-subject__clip {
    margin-left: 0.35rem;
    color: var(--bp-text-faint);
    font-size: 0.75rem;
}

/* Zeitspalte: rechtsbuendig mit Tabellenziffern, damit die Werte eine Kante bilden. */
[b-fanuqbz286] .comm-when {
    color: var(--bp-text-muted);
    font-variant-numeric: tabular-nums;
}

/* --- Aufgeklappter Bereich --- */

[b-fanuqbz286] .comm-thread {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-3);
    padding: var(--bp-space-2) var(--bp-space-3);
}

[b-fanuqbz286] .comm-thread__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Jeder Beitrag ist ein Bedienelement - deshalb ein echter Button (fokussierbar, tastaturbedienbar).
   ZWEI Zeilen: Kopfzeile (wer, wann) und darunter der Anfang der Nachricht. */
[b-fanuqbz286] .comm-thread__open {
    display: flex;
    flex-direction: column;
    /* Deutlicher Abstand zur Vorschau: Kopfzeile und Text sind zwei verschiedene Aussagen und
       sollen nicht als ein Block gelesen werden. */
    gap: 0.4rem;
    width: 100%;
    padding: 0.5rem;
    border: 0;
    border-radius: var(--bp-radius-ctl);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

/* Kopfzeile des Beitrags: Punkt, Richtung, Adresse, Zeit, Klammer. Die Adresse nimmt den Rest —
   sie ist die Information, fuer die man aufklappt. */
[b-fanuqbz286] .comm-thread__head {
    display: grid;
    grid-template-columns: 12px 14px 1fr auto auto;
    align-items: center;
    gap: var(--bp-space-2);
    width: 100%;
}

[b-fanuqbz286] .comm-thread__open:hover,
[b-fanuqbz286] .comm-thread__open:focus-visible {
    background: var(--bp-panel-hover);
}

/* Der gerade geoeffnete Beitrag bleibt im Gespraech erkennbar. */
[b-fanuqbz286] .comm-thread__item--active .comm-thread__open {
    background: var(--bp-panel-solid-2);
    box-shadow: inset 2px 0 0 var(--bp-yellow);
}

/* Privater Beitrag im aufgeklappten Gespraech - dieselbe Aussage wie die gelbe Gespraechszeile.
   Nur Absender und Vorschau faerben sich; Uhrzeit und Symbole bleiben ruhig, sonst leuchtet die
   ganze Zeile und die Hervorhebung sagt nichts mehr. */
[b-fanuqbz286] .comm-thread__item--private .comm-thread__from,
[b-fanuqbz286] .comm-thread__item--private .comm-thread__preview {
    color: var(--bp-yellow);
}

/* Richtungspfeil: eingehend ruhig, ausgehend als eigene Aussage. */
[b-fanuqbz286] .comm-thread__dir {
    font-size: 0.75rem;
    color: var(--bp-text-faint);
}

[b-fanuqbz286] .comm-thread__from {
    color: var(--bp-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Vorschau ueber mehrere Zeilen: Eine einzige Zeile mit Auslassungspunkten beantwortet selten,
   worum es geht. Fuenf Zeilen zeigen den Einstieg der Nachricht, ohne die Liste zu sprengen.
   line-clamp kappt sauber am Zeilenende (der -webkit-Zweig deckt aeltere Engines ab). */
[b-fanuqbz286] .comm-thread__preview {
    /* Eingerueckt auf die Hoehe der Adresse darueber (Punkt + Pfeil + zwei Abstaende). */
    margin-left: calc(26px + 2 * var(--bp-space-2));
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
    line-height: 1.45;
    white-space: pre-line;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    min-width: 0;
    /* Deutlich mehr Luft zur Absenderadresse als das Spalten-Gap: sonst kleben Adresse und
       Vorschautext bei voller Absender-Spalte optisch aneinander (Nutzer-Rückmeldung 20.09.2026). */
    padding-left: var(--bp-space-3);
}

[b-fanuqbz286] .comm-thread__time {
    color: var(--bp-text-faint);
    font-variant-numeric: tabular-nums;
    font-size: 0.8125rem;
}

[b-fanuqbz286] .comm-thread__attachment {
    color: var(--bp-text-muted);
    flex: 0 0 auto;
    font-size: 0.8125rem;
}

[b-fanuqbz286] .comm-scan-progress {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

/* Umfang des geladenen Ausschnitts unter der Tabelle: gedaempft, weil es eine Auskunft ist und
   keine Meldung — erst beim Erreichen der Obergrenze wechselt die Farbe auf Warnung. */
[b-fanuqbz286] .comm-loaded-note {
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    padding: 0.4rem 0.2rem 0;
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

[b-fanuqbz286] .comm-loaded-note .e-warning {
    color: var(--bp-warn);
}

[b-fanuqbz286] .comm-scan-progress__bar {
    width: 180px;
    height: 8px;
    accent-color: var(--bp-yellow);
}

[b-fanuqbz286] .comm-scan-card {
    margin: 0.25rem 0 0.75rem;
    padding: 0.85rem;
    border: 1px solid var(--bp-yellow);
    background: color-mix(in srgb, var(--bp-yellow) 12%, var(--bp-panel-solid-2));
    color: var(--bp-text);
}

[b-fanuqbz286] .comm-scan-card__headline {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 700;
    color: var(--bp-yellow);
}

[b-fanuqbz286] .comm-scan-card__icon {
    font-size: 1.5rem;
    animation: comm-scan-pulse-b-fanuqbz286 0.9s ease-in-out infinite alternate;
}

[b-fanuqbz286] .comm-scan-card__count {
    margin-top: 0.45rem;
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

[b-fanuqbz286] .comm-scan-card__bar {
    display: block;
    width: 100%;
    height: 10px;
    margin-top: 0.6rem;
    accent-color: var(--bp-yellow);
}

@keyframes comm-scan-pulse-b-fanuqbz286 {
    from { transform: scale(1); opacity: 0.65; }
    to { transform: scale(1.22); opacity: 1; }
}

/* --- Herkunft (Postfach, Sichtbarkeit, Spam-Grund) --- */

[b-fanuqbz286] .comm-origin {
    display: grid;
    grid-template-columns: minmax(90px, auto) 1fr;
    gap: 0.25rem var(--bp-space-3);
    margin: 0;
    padding-top: var(--bp-space-2);
    border-top: 1px solid var(--bp-panel-border);
    font-size: 0.8125rem;
}

[b-fanuqbz286] .comm-origin dt {
    color: var(--bp-text-faint);
}

[b-fanuqbz286] .comm-origin dd {
    margin: 0;
    color: var(--bp-text-muted);
    display: flex;
    align-items: center;
    gap: var(--bp-space-2);
    flex-wrap: wrap;
    min-width: 0;
}

[b-fanuqbz286] .comm-origin__reason {
    color: var(--bp-text-faint);
}

/* Absicht aus der KI-Einordnung: lila Umriss wie jede KI-Aussage. Der Text ist aufgehellt, weil
   reines --bp-purple auf Navy fuer 12px-Schrift den AA-Kontrast verfehlt. */
[b-fanuqbz286] .comm-intent-chip {
    color: color-mix(in srgb, var(--bp-purple) 65%, var(--bp-white));
    border-color: color-mix(in srgb, var(--bp-purple) 60%, transparent);
}

/* ------------------------------------------------------------------
   Kundenhistorie (C8): Zuordnung des Absenders in der Detailansicht.
   Eine ruhige Zeile mit Stand-Chip und Partner, darunter Begründung
   und Aktionen — kein eigener Kasten (keine Card in der Card).
   ------------------------------------------------------------------ */
[b-fanuqbz286] .comm-link {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    padding-top: var(--bp-space-2);
    border-top: 1px solid var(--bp-panel-border);
}

[b-fanuqbz286] .comm-link__head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--bp-space-2);
    font-size: 0.875rem;
}

[b-fanuqbz286] .comm-link__hint,
[b-fanuqbz286] .comm-link__reason {
    color: var(--bp-text-faint);
    font-size: 0.75rem;
}

[b-fanuqbz286] .comm-link__reason {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

[b-fanuqbz286] .comm-link__partner {
    font-weight: 600;
}

[b-fanuqbz286] .comm-link__contact {
    color: var(--bp-text-muted);
}

[b-fanuqbz286] .comm-link__candidates {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

[b-fanuqbz286] .comm-link__candidates li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--bp-space-2);
    padding: 0.25rem 0.5rem;
    background: var(--bp-panel);
}

[b-fanuqbz286] .comm-link__candidate-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-fanuqbz286] .comm-link__edit {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-2);
    max-width: 28rem;
}

/* Erledigte Gespräche (nur sichtbar, wenn der Filter „Erledigt" eingeschaltet ist): zurückgenommen,
   damit offene Post in derselben Liste vorn steht. */
[b-fanuqbz286] .e-row.comm-row-done .e-rowcell {
    opacity: 0.55;
}

/* Sammelaktionen neben den Filtern. */
[b-fanuqbz286] .comm-bulk {
    display: inline-flex;
    align-items: center;
    gap: var(--bp-space-2);
    padding-left: var(--bp-space-3);
    border-left: 1px solid var(--bp-panel-border);
}

[b-fanuqbz286] .comm-bulk__count {
    font-weight: 600;
    white-space: nowrap;
}

/* Rechtsklick-Menü im Hausstil: gelber Rahmen wie die übrigen aktiven Flächen (Vorgabe 30.09.2026). */
.comm-row-menu-host[b-fanuqbz286]  ul.e-contextmenu {
    border: 2px solid var(--bp-yellow);
    border-radius: var(--bp-radius);
}

/* KI-Einordnung im aufgeklappten Gespräch: eingerückt wie die Vorschau, mit lila Rand als KI-Aussage. */
[b-fanuqbz286] .comm-thread__insight {
    display: flex;
    flex-direction: column;
    gap: var(--bp-space-1);
    margin: var(--bp-space-1) 0 0 calc(26px + 2 * var(--bp-space-2));
    padding: var(--bp-space-1) var(--bp-space-3);
    border-left: 2px solid color-mix(in srgb, var(--bp-purple) 60%, transparent);
    min-width: 0;
}

[b-fanuqbz286] .comm-thread__insight-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bp-space-2);
}

[b-fanuqbz286] .comm-thread__insight-meta {
    color: var(--bp-text-muted);
    font-size: 0.75rem;
}

[b-fanuqbz286] .comm-thread__summary {
    color: var(--bp-text);
    font-size: 0.8125rem;
    line-height: 1.45;
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommMailboxes.razor.rz.scp.css */
/* --- Abruf-Fortschritt ---
   Optik bewusst gleich der Rechnungsprüfung im Posteingang (comm-scan-card): Beides ist derselbe
   Vorgang aus Nutzersicht — „etwas läuft gerade und dauert". Die Maße kommen aus den --bp-*-Tokens,
   damit die Karte einer Theme-Änderung von selbst folgt. */

[b-bg9zg1bj4v] .comm-sync-card {
    margin: 0.25rem 0 0.75rem;
    padding: 0.85rem;
    border: 1px solid var(--bp-yellow);
    background: color-mix(in srgb, var(--bp-yellow) 12%, var(--bp-panel-solid-2));
    color: var(--bp-text);
}

[b-bg9zg1bj4v] .comm-sync-card__headline {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 700;
    color: var(--bp-yellow);
}

[b-bg9zg1bj4v] .comm-sync-card__icon {
    font-size: 1.5rem;
    animation: comm-sync-spin-b-bg9zg1bj4v 1.1s linear infinite;
}

[b-bg9zg1bj4v] .comm-sync-card__count {
    margin-top: 0.45rem;
    color: var(--bp-text-muted);
    font-size: 0.8125rem;
}

[b-bg9zg1bj4v] .comm-sync-card__bar {
    display: block;
    width: 100%;
    height: 10px;
    margin-top: 0.6rem;
    accent-color: var(--bp-yellow);
}

@keyframes comm-sync-spin-b-bg9zg1bj4v {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Wer Bewegung abgeschaltet hat, bekommt die Karte ohne Drehung — der Text und der Balken
   tragen die Information ohnehin allein. */
@media (prefers-reduced-motion: reduce) {
    [b-bg9zg1bj4v] .comm-sync-card__icon {
        animation: none;
    }
}
/* _content/bettERFramework.Comm.UI/Components/Pages/CommRules.razor.rz.scp.css */
/* KI-Ausschluss-Regel: lila wie jede KI-Aussage im Haus, Text aufgehellt für den AA-Kontrast. */
[b-pzznrdhuz6] .comm-rule-ai {
    color: color-mix(in srgb, var(--bp-purple) 65%, var(--bp-white));
}
