:root {
    --event-color-breitensport: #168a45;
    --event-color-breitensport-faded: #a9d7ba;
    --event-color-breitensport-soft: #e1f2e7;
    --event-color-leistungssport: #c52f2f;
    --event-color-leistungssport-faded: #e0a3a3;
    --event-color-leistungssport-soft: #f7e4e4;
    --event-color-jugend: #2563c7;
    --event-color-jugend-faded: #a8bee6;
    --event-color-jugend-soft: #e4ecf9;
    --event-color-allgemein: #667085;
    --event-color-allgemein-faded: #b8bdc6;
    --event-color-allgemein-soft: #eceef1;
}

.event-color--breitensport {
    --event-accent: var(--event-color-breitensport);
    --event-accent-faded: var(--event-color-breitensport-faded);
    --event-accent-soft: var(--event-color-breitensport-soft);
}
.event-color--leistungssport {
    --event-accent: var(--event-color-leistungssport);
    --event-accent-faded: var(--event-color-leistungssport-faded);
    --event-accent-soft: var(--event-color-leistungssport-soft);
}
.event-color--jugend {
    --event-accent: var(--event-color-jugend);
    --event-accent-faded: var(--event-color-jugend-faded);
    --event-accent-soft: var(--event-color-jugend-soft);
}
.event-color--allgemein {
    --event-accent: var(--event-color-allgemein);
    --event-accent-faded: var(--event-color-allgemein-faded);
    --event-accent-soft: var(--event-color-allgemein-soft);
}

.event-visual {
    --event-display-accent: var(--event-accent, var(--event-color-allgemein));
}
.event-visual--planned {
    --event-display-accent: var(--event-accent-faded, var(--event-color-allgemein-faded));
}
.event-visual--cancelled {
    opacity: .62;
}
.event-visual--cancelled .event-visual-title,
.event-visual--cancelled .calendar-event__title,
.event-visual--cancelled .year-event__title {
    text-decoration: line-through;
}

.event-color-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem .85rem;
    margin: .4rem 0 .7rem;
    color: var(--color-muted);
    font-size: .76rem;
    line-height: 1.2;
}
.event-color-legend__item {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    white-space: nowrap;
}
.event-color-legend__swatch {
    width: .78rem;
    height: .78rem;
    flex: 0 0 auto;
    border-radius: 3px;
    background: var(--event-accent, var(--event-color-allgemein));
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}

/* Listen und kompakte Event-Karten: eine einzige, ruhige Leitmarke. */
tr.event-visual > td:first-child,
tr.event-visual > th:first-child {
    border-left: 4px solid var(--event-display-accent) !important;
}
.dashboard-list__item.event-visual,
.dashboard-upcoming__item.event-visual {
    border-left: 4px solid var(--event-display-accent);
}

/* Terminformular: Fachfarbe als Leitfarbe, nicht als Abschnitts-Karneval. */
.event-form.event-visual {
    border-top: 4px solid var(--event-display-accent);
}
.event-form.event-visual .event-form-tab.is-active {
    border-bottom-color: var(--event-display-accent);
}
.event-form.event-visual #area:focus,
.event-form.event-visual #responsibility_role:focus {
    border-color: var(--event-display-accent);
    box-shadow: 0 0 0 2px var(--event-accent-soft);
}
.dashboard-incomplete-mail-card.event-visual {
    border-left: 4px solid var(--event-display-accent);
}
.event-inline-marker {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    margin-right: .24rem;
    border-radius: 2px;
    background: var(--event-display-accent, var(--event-color-allgemein));
    vertical-align: .02em;
}

/* Event-Kontextseiten und Vorschau behalten dieselbe Fachfarbe als ruhige Leitmarke. */
.event-context-tabs.event-visual .page-tab.is-active::after,
.event-context-tabs.event-visual .page-tab[aria-current="page"]::after {
    background: var(--event-accent);
}
.entity-preview--event.event-visual {
    border-top: 4px solid var(--event-display-accent);
}
