.form {
    display: grid;
    gap: 0.6rem;
}

.card .form {
    margin-top: 0.75rem;
}

.form-row {
    display: grid;
    gap: 0.22rem;
}

label {
    color: var(--color-primary-dark);
    font-size: 0.88rem;
    font-weight: 650;
}

input,
select,
textarea {
    width: 100%;
    min-height: 2.45rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 8px;
    padding: 0.48rem 0.65rem;
    background: #fff;
    font: inherit;
}

textarea {
    min-height: 70px;
    resize: vertical;
}

.form-row input[type="url"] {
    appearance: none;
    -webkit-appearance: none;
    line-height: 1.2;
}

.form-error {
    margin-top: 0.2rem;
    color: var(--color-danger);
    font-size: 0.82rem;
    font-weight: 400;
}

.form-summary {
    font-weight: 400;
}

.form-error-list {
    margin: 0.5rem 0 0;
    padding-left: 1.2rem;
}

.form-error-list li {
    margin: 0.2rem 0;
}

input:focus,
select:focus,
textarea:focus {
    outline: 0;
    border-color: var(--color-accent-red);
    box-shadow: 0 0 0 3px rgba(201, 20, 43, 0.10);
}

/* Lehrgangsanfragen: kompakte Zusammenfassung, ruhiges Formular und klare Aktionen. */
.course-request-form label {
    font-weight: 400;
}

.course-request-list {
    display: grid;
    gap: 0.65rem;
}

.course-request-entry {
    background: #fff;
}

.course-request-entry__summary {
    align-items: flex-start;
    padding: 0.72rem 0.85rem;
    font-weight: 400;
}

.course-request-entry__summary::before {
    margin-top: 0.18rem;
}

.course-request-summary__content {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.14rem;
}

.course-request-summary__primary,
.course-request-summary__secondary {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.course-request-summary__primary {
    color: var(--color-primary-dark);
    font-size: 0.93rem;
    font-weight: 400;
    line-height: 1.3;
}

.course-request-summary__secondary {
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 400;
    line-height: 1.3;
}

.course-request-summary__status {
    flex: 0 0 auto;
    padding-top: 0.08rem;
    color: var(--color-muted);
    font-size: 0.78rem;
    font-weight: 400;
    white-space: nowrap;
}

.course-request-entry__body {
    padding: 1rem 1rem 0.9rem;
}

.course-request-form {
    display: grid;
    gap: 1rem;
}

.course-request-form .course-request-fields {
    gap: 0.85rem 0.8rem;
}

.course-request-form .form-row {
    gap: 0.28rem;
}

.course-request-note {
    margin-top: 0.1rem;
}

.course-request-note textarea {
    min-height: 6.2rem;
}

.course-request-organizer-shortcut {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem .9rem;
    flex-wrap: wrap;
    padding: .4rem .55rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm, .45rem);
}
.course-request-organizer-shortcut .muted { font-size: .8rem; font-weight: 400; }
.course-request-organizer-shortcut .button { margin-left: auto; font-weight: 400; }
.course-request-contact-new {
    grid-column: 1 / -1;
    padding: 0.7rem 0.8rem;
    border: 1px solid var(--color-border);
    border-radius: 0.55rem;
    background: var(--color-surface-subtle, #f8f9fb);
}
.course-request-contact-new.is-hidden {
    display: none;
}
.course-request-attachments {
    margin-top: 0.1rem;
}
.course-request-attachment-list {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 0.35rem;
}
.course-request-attachment-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.42rem 0.55rem;
    border: 1px solid var(--color-border);
    border-radius: 0.45rem;
}
.course-request-attachment-item__file {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
    min-width: 0;
}
.course-request-attachment-item__file a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.course-request-attachment-item__delete {
    flex: 0 0 auto;
}

.course-request-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.1rem;
}

.course-request-status-field {
    flex: 0 1 18rem;
    min-width: 12rem;
    max-width: 18rem;
}

.course-request-status-value {
    display: flex;
    align-items: center;
    min-height: 2.45rem;
    padding: 0.48rem 0;
    color: var(--color-muted);
}

.course-request-actions {
    justify-content: flex-end;
}

.course-request-panel {
    padding: 1rem 1.1rem;
}

.course-request-panel .course-request-form {
    gap: 1rem;
}

@media (max-width: 800px) {
    .course-request-summary__primary,
    .course-request-summary__secondary {
        white-space: normal;
    }

    .course-request-entry__summary {
        gap: 0.55rem;
    }

    .course-request-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .course-request-status-field {
        width: 100%;
        max-width: none;
    }

    .course-request-actions {
        justify-content: flex-start;
    }
}

/* Lehrgangsanfragen: Terminfindung und schneller Dashboard-Dialog. */
.course-request-planning {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}
.course-request-planning__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.course-request-planning__header h4 {
    margin: 0 0 0.18rem;
    font-size: 1rem;
    font-weight: 400;
}
.course-request-planning__header p {
    margin: 0;
    max-width: 52rem;
    font-size: 0.82rem;
}
.course-request-date-add {
    display: flex;
    align-items: flex-end;
    gap: 0.5rem;
    flex: 0 0 auto;
}
.course-request-date-add label {
    display: grid;
    gap: 0.2rem;
    font-size: 0.8rem;
    font-weight: 400;
}
.course-request-planning__empty {
    margin: 0.8rem 0 0;
}
.course-request-planning__locked { font-size: 0.78rem; text-align: right; }
.course-request-date-list {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.65rem;
}
.course-request-date {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.4rem 0.8rem;
    border: 1px solid var(--color-border);
    border-left-width: 3px;
    border-radius: 0.55rem;
    padding: 0.48rem 0.65rem;
    background: var(--color-surface);
}
.course-request-date__main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.85rem;
    min-width: 0;
}
.course-request-date--good { border-left-color: #6f9b75; }
.course-request-date--warning { border-left-color: #b18a3e; }
.course-request-date--conflict { border-left-color: #b85c5c; }
.course-request-date__summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}
.course-request-date__date {
    font-size: 0.94rem;
}
.course-request-date__rating {
    color: var(--color-muted);
    font-size: 0.78rem;
}
.course-request-date__details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.65rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.course-request-date__detail {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.45rem;
    align-items: baseline;
    font-size: 0.8rem;
    line-height: 1.35;
}
.course-request-date__detail--conflict { color: #8b3434; }
.course-request-date__detail--warning { color: #765d25; }
.course-request-date__detail--info { color: var(--color-muted); }
.course-request-date__detail a { white-space: nowrap; }
.course-request-date__clear {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.8rem;
}
.course-request-date__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
}
.course-request-date__actions .button { font-weight: 400; }
.course-request-date__actions form { margin: 0; }
.course-request-date__coordination-warning {
    font-size: 0.76rem;
    color: #8b3434;
    background: color-mix(in srgb, var(--color-surface) 90%, #bb5050 10%);
    border-radius: 999px;
    padding: 0.13rem 0.48rem;
}
.course-request-date__reservation-disabled {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    color: var(--color-muted);
    font-size: 0.79rem;
}
.course-request-date__summary .field-help,
.course-request-date__actions .field-help,
.course-request-coordination__heading .field-help,
.course-request-planning__header .field-help { vertical-align: middle; }


.course-request-date--match {
    background: color-mix(in srgb, var(--color-surface) 94%, #6f9b75 6%);
}
.course-request-date__match {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: 0.08rem 0.42rem;
    border: 1px solid color-mix(in srgb, var(--color-border) 70%, #6f9b75 30%);
    border-radius: 999px;
    font-size: 0.74rem;
    color: #476b4c;
    background: color-mix(in srgb, var(--color-surface) 86%, #6f9b75 14%);
}
.course-request-date__availability {
    margin: 0;
    font-size: 0.78rem;
    color: var(--color-muted);
}
.course-request-coordination {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}
.course-request-coordination__heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-end;
    margin-bottom: 0.65rem;
}
.course-request-coordination__heading h4,
.course-request-coordination__group h5 {
    margin: 0;
    font-weight: 400;
}
.course-request-coordination__heading p { margin: 0.15rem 0 0; }
.course-request-coordination__no-match { margin: 0 0 0.7rem; }
.course-request-coordination__match-count {
    flex: 0 0 auto;
    font-size: 0.8rem;
    color: var(--color-muted);
}
.course-request-result-overview {
    margin-bottom: 0.8rem;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 0.55rem;
    background: var(--color-surface);
}
.course-request-result-overview__title {
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 0.82rem;
}
.course-request-result-overview__header,
.course-request-result-row {
    display: grid;
    grid-template-columns: minmax(6.8rem, 0.75fr) minmax(10rem, 1.25fr) minmax(10rem, 1.25fr) minmax(6.8rem, 0.7fr);
    gap: 0.45rem 0.75rem;
    align-items: center;
}
.course-request-result-overview__header {
    padding: 0.35rem 0.65rem;
    background: var(--color-surface-soft);
    color: var(--color-muted);
    font-size: 0.72rem;
}
.course-request-result-row {
    padding: 0.48rem 0.65rem;
    border-top: 1px solid var(--color-border);
    font-size: 0.78rem;
}
.course-request-result-overview__header + .course-request-result-row { border-top: 0; }
.course-request-result-row__metric { color: var(--color-muted); }
.course-request-result-row__people {
    display: grid;
    gap: 0.18rem;
    align-content: center;
    color: var(--color-text);
}
.course-request-result-person {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.15rem;
    gap: 0.35rem;
    align-items: center;
    width: 100%;
    min-width: 0;
}
.course-request-result-person__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.course-request-result-person__icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: 1.05rem;
    height: 1.05rem;
    box-sizing: border-box;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: var(--color-muted);
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1;
}
.course-request-result-person--available .course-request-result-person__icon { color: var(--color-success); }
.course-request-result-person--unavailable .course-request-result-person__icon,
.course-request-result-person--declined .course-request-result-person__icon { color: var(--color-danger); }
.course-request-result-person--unasked,
.course-request-result-person--unasked-date,
.course-request-result-person--expired { color: var(--color-muted); }
.course-request-result-person__icon--waiting::before,
.course-request-result-person__icon--waiting::after {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    content: "";
    background: currentColor;
    transform-origin: 0 50%;
}
.course-request-result-person__icon--waiting::before {
    width: 1px;
    height: 0.28rem;
    transform: translate(-0.5px, -0.28rem);
}
.course-request-result-person__icon--waiting::after {
    width: 0.25rem;
    height: 1px;
    transform: translate(0, -0.5px) rotate(28deg);
}
.course-request-result-row__status { justify-self: start; }
.course-request-result-row--match .course-request-result-row__status { color: #476b4c; }
.course-request-result-row--excluded .course-request-result-row__status { color: var(--color-muted); }
.course-request-result-row__mobile-label { display: none; }
.course-request-coordination__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 0.65rem;
}
.course-request-coordination__group {
    min-width: 0;
    padding: 0.65rem;
    border: 1px solid var(--color-border);
    border-radius: 0.55rem;
    background: var(--color-surface);
}
.course-request-coordination__group h5 {
    margin-bottom: 0.4rem;
    font-size: 0.9rem;
}
.course-request-slot {
    padding: 0.6rem 0;
    border-top: 1px solid var(--color-border);
}
.course-request-slot:first-of-type { border-top: 0; padding-top: 0; }
.course-request-slot:last-of-type { padding-bottom: 0; }
.course-request-slot__head,
.course-request-slot__current {
    display: flex;
    justify-content: space-between;
    gap: 0.65rem;
}
.course-request-slot__head { align-items: center; font-size: 0.8rem; }
.course-request-slot__status { color: var(--color-muted); font-size: 0.74rem; }
.course-request-slot__current {
    align-items: flex-start;
    margin-top: 0.25rem;
    font-size: 0.82rem;
}
.course-request-slot__current small { color: var(--color-muted); text-align: right; }
.course-request-slot__ask {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.4rem;
    margin-top: 0.45rem;
}
.course-request-slot__ask select { min-width: 0; }
.course-request-slot__inline-form { margin: 0.45rem 0 0; }
/* Externe Antworten ohne eigene Formularoptik: schmal, ruhig, responsiv. */
.course-request-manual { margin-top: 0.4rem; font-size: 0.8rem; }
.course-request-manual > summary { cursor: pointer; color: var(--color-muted); font-weight: 400; }
.course-request-manual__form {
    display: grid;
    gap: 0.4rem;
    padding: 0.45rem 0 0;
    min-width: 0;
}
.course-request-manual__form label,
.course-request-manual__target label {
    display: grid;
    gap: 0.15rem;
    font-size: 0.8rem;
    font-weight: 400;
}
.course-request-manual__form select,
.course-request-manual__form textarea { width: 100%; min-width: 0; font-size: 0.82rem; }
.course-request-manual__form small { color: var(--color-muted); font-size: 0.74rem; font-weight: 400; }
.course-request-manual__target { display: grid; gap: 0.2rem; }
.course-request-manual__dates {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
    align-items: center;
    gap: 0.35rem 0.65rem;
    min-width: 0;
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--color-border);
    border-radius: 0.45rem;
}
.course-request-manual__dates-title {
    grid-column: 1 / -1;
    color: var(--color-muted);
}
.course-request-manual__dates .course-request-manual__date-choice {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    min-width: 0;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 400;
    white-space: nowrap;
}
.course-request-manual__dates input[type="checkbox"] {
    box-sizing: border-box;
    appearance: auto;
    width: 1rem;
    height: 1rem;
    min-width: 1rem;
    min-height: 1rem;
    flex: 0 0 1rem;
    margin: 0;
    padding: 0;
    border-radius: 0.2rem;
    accent-color: var(--color-primary-dark);
    box-shadow: none;
}
.course-request-manual__hint { line-height: 1.35; }
.course-request-manual__fields {
    display: grid;
    grid-template-columns: minmax(8rem, 0.72fr) minmax(0, 1.6fr);
    gap: 0.45rem;
}
.course-request-manual__fields label { min-width: 0; }
.course-request-manual__fields textarea { height: 2.45rem; min-height: 2.45rem; resize: vertical; }
.course-request-manual__footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
}
.course-request-manual__footer .button { font-weight: 400; }
.course-request-free-speaker {
    margin-top: 0.65rem;
    font-size: 0.8rem;
}
.course-request-free-speaker summary,
.course-request-coordination__history summary { cursor: pointer; color: var(--color-muted); }
.course-request-free-speaker__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    margin: 0.55rem 0 0.4rem;
}
.course-request-free-speaker__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin-top: 0.55rem;
}
.course-request-free-speaker__list span {
    padding: 0.18rem 0.42rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    font-size: 0.74rem;
    color: var(--color-muted);
}
.course-request-coordination__history { margin-top: 0.75rem; }
.course-request-coordination__history-list {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.55rem;
}
.course-request-history-entry,
.course-request-history-response {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    background: var(--color-surface);
}
.course-request-history-entry { padding: 0; }
.course-request-history-entry__summary {
    padding: 0.6rem 0.7rem;
    cursor: pointer;
    color: var(--color-text);
    font-size: 0.78rem;
    font-weight: 400;
}
.course-request-history-entry__status,
.course-request-history-entry__time { color: var(--color-muted); }
.course-request-history-entry__status::before,
.course-request-history-entry__time::before { content: '· '; }
.course-request-history-mail { margin-top: 0; }
.course-request-history-mail__meta {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 0.22rem 0.55rem;
    margin: 0 0.7rem;
    padding-top: 0.55rem;
    border-top: 1px solid var(--color-border);
    font-size: 0.75rem;
}
.course-request-history-mail__meta span:nth-child(odd) { color: var(--color-muted); }
.course-request-history-mail pre {
    margin: 0.55rem 0.7rem 0.7rem;
    padding: 0.65rem;
    max-height: 22rem;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    border: 1px solid var(--color-border);
    border-radius: 0.45rem;
    background: var(--color-surface-soft);
    font: inherit;
    font-size: 0.76rem;
    line-height: 1.45;
}
.course-request-history-response {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem 1rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.76rem;
}
.course-request-history-response > div {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
}
.course-request-history-response__dates {
    color: var(--color-muted);
    text-align: right;
}

/* Lehrgangsanfragen: Antwortseite und Overlays. */
.course-request-response { max-width: 52rem; }
.course-request-response__intro h3 { margin: 0; font-weight: 400; }
.course-request-response__intro p { margin: 0.2rem 0 0; }
.course-request-response__form { margin-top: 0.8rem; }
.course-request-response__dates {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.45rem;
}
.course-request-response__date {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    background: var(--color-surface-soft);
    font-weight: 400;
    cursor: pointer;
}
.course-request-response__date input { width: 1rem; height: 1rem; flex: 0 0 auto; }

.course-request-overlay[hidden] { display: none; }
.course-request-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: min(5vh, 2.5rem) 1rem;
    background: rgba(20, 28, 38, 0.38);
    overflow-y: auto;
}
.course-request-overlay__dialog {
    position: relative;
    width: min(72rem, 100%);
    max-height: 90vh;
    overflow: auto;
    border: 1px solid var(--color-border);
    border-radius: 0.8rem;
    background: var(--color-surface);
    box-shadow: 0 1.2rem 3rem rgba(20, 28, 38, 0.22);
}
.course-request-overlay__body { padding: 1rem 1.1rem 1.15rem; }
.course-request-overlay--nested { z-index: 1250; }
.course-request-overlay__dialog--picker { width: min(86rem, 100%); }
.course-request-overlay__body--picker { padding: 0.8rem; }
.course-request-overlay__iframe { width: 100%; min-height: 78vh; border: 0; border-radius: 0.65rem; background: #fff; }
.course-request-overlay__close {
    position: sticky;
    float: right;
    top: 0.55rem;
    z-index: 2;
    width: 2rem;
    height: 2rem;
    margin: 0.55rem 0.55rem -2.55rem 0;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-muted);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}
.course-request-overlay__close:hover { color: var(--color-text); background: var(--color-surface-soft); }
.course-request-overlay__loading { margin: 1rem 0; }
.course-request-dialog__heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0 2.5rem 0.8rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
}
.course-request-dialog__heading .course-request-summary__status { margin-left: auto; }
body.course-request-overlay-open { overflow: hidden; }

@media (max-width: 800px) {
    .course-request-coordination__columns { grid-template-columns: 1fr; }
    .course-request-result-overview__header { display: none; }
    .course-request-result-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.28rem 0.75rem;
    }
    .course-request-result-row__date { grid-column: 1; grid-row: 1; }
    .course-request-result-row__status { grid-column: 2; grid-row: 1; }
    .course-request-result-row__metric { grid-column: 1 / -1; }
    .course-request-result-row__people { gap: 0.18rem; }
    .course-request-result-row__people .course-request-result-row__mobile-label { grid-column: 1; }
    .course-request-result-row__mobile-label {
        display: block;
        margin-bottom: 0.05rem;
        color: var(--color-text);
    }
    .course-request-coordination__heading,
    .course-request-slot__head,
    .course-request-slot__current { align-items: stretch; flex-direction: column; }
    .course-request-slot__current small { text-align: left; }
    .course-request-free-speaker__grid,
    .course-request-slot__ask { grid-template-columns: 1fr; }
    .course-request-coordination__history-list > div { grid-template-columns: 1fr; gap: 0.1rem; }
    .course-request-planning__header,
    .course-request-date-add {
        align-items: stretch;
        flex-direction: column;
    }
    .course-request-date { grid-template-columns: minmax(0, 1fr); }
    .course-request-date__actions { justify-content: flex-start; }
    .course-request-manual__fields { grid-template-columns: minmax(0, 1fr); }
    .course-request-date-add { margin-top: 0.75rem; }
    .course-request-overlay { padding: 0; }
    .course-request-overlay__dialog { min-height: 100vh; max-height: none; border-radius: 0; border-left: 0; border-right: 0; }
    .course-request-overlay__iframe { min-height: calc(100vh - 5.5rem); border-radius: 0; }
}

/* Lehrgangsanfragen: Mailprüfung und nachvollziehbare Terminabstimmung. */
.course-request-overlay__dialog--mail { width: min(58rem, 100%); }
.course-request-mail-preview__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-right: 2.6rem;
    margin-bottom: 0.7rem;
}
.course-request-mail-preview__heading h4 { margin: 0; font-size: 1rem; font-weight: 400; }
.course-request-mail-preview__heading p { margin: 0.2rem 0 0; }
.course-request-mail-preview__dates {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 0.6rem;
    margin: 0 0 0.8rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    font-size: 0.8rem;
    background: var(--color-surface-soft);
}
.course-request-mail-preview__dates span:first-child { color: var(--color-muted); }
.course-request-mail-preview__form { display: grid; gap: 0.65rem; }
.course-request-mail-preview__section {
    margin: 0;
    padding: 0.65rem 0.7rem;
    border: 1px solid var(--color-border);
    border-radius: 0.55rem;
}
.course-request-mail-preview__section h5,
.course-request-mail-preview__section summary { margin: 0; font-size: 0.88rem; font-weight: 400; }
.course-request-mail-preview__section summary { cursor: pointer; }
.course-request-mail-preview__section label,
.course-request-mail-preview__reminder-fields label {
    display: grid;
    gap: 0.2rem;
    margin-top: 0.4rem;
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--color-muted);
}
/* Felder sind innerhalb von <label>. Ohne eigenen Font-Schnitt übernehmen
   sie die globale fette Label-Schriftstärke (auch über font: inherit). */
.course-request-mail-preview__section input,
.course-request-mail-preview__section textarea {
    min-width: 0;
    color: var(--color-text);
    font-size: 0.86rem;
    font-weight: 400;
}
.course-request-mail-preview__section textarea {
    width: 100%;
    min-height: 9rem;
    resize: vertical;
    line-height: 1.45;
}
.course-request-mail-preview__reminder-fields { margin-top: 0.25rem; }
.course-request-mail-preview__hint { margin: -0.2rem 0 0; font-size: 0.75rem; }
.course-request-mail-preview__actions { justify-content: flex-end; }
.course-request-mail-preview__actions .button { font-weight: 400; }


@media (max-width: 800px) {
    .course-request-mail-preview__heading,
    .course-request-history-response { flex-direction: column; align-items: stretch; }
    .course-request-history-response__dates { text-align: left; }
    .course-request-mail-preview__dates,
    .course-request-history-mail__meta { grid-template-columns: 1fr; }
    .course-request-mail-preview__actions { justify-content: stretch; }
    .course-request-mail-preview__actions .button { width: 100%; }
}
.course-request-mail-placeholders { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; margin-top:.3rem; }
.course-request-mail-placeholder { border:1px solid var(--color-border); border-radius:999px; background:var(--color-surface-soft); color:var(--color-text); padding:.14rem .42rem; font:inherit; font-size:.74rem; font-weight:400; cursor:pointer; }
.course-request-mail-placeholder:hover { border-color:var(--color-muted); }
.course-request-mail-rendered { display:grid; gap:.55rem; border:1px solid var(--color-border); border-radius:6px; background:var(--color-surface-soft); padding:.65rem; }
.course-request-mail-rendered section + section { border-top:1px solid var(--color-border); padding-top:.55rem; }
.course-request-mail-rendered h5 { margin:0 0 .35rem; font-size:.82rem; font-weight:400; }
.course-request-mail-rendered pre { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.8rem; line-height:1.4; }

/* Lehrgangsanfragen: aktuelle Arbeit oben, erledigte Anfragen kompakt nach Jahren archiviert. */
.course-request-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.55rem;
}
.course-request-section-heading h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 400;
}
.course-request-archive {
    margin-top: 1rem;
    background: var(--color-surface-soft);
}
.course-request-archive__summary,
.course-request-archive-year__summary {
    font-weight: 400;
}
.course-request-archive__count {
    flex: 0 0 auto;
    color: var(--color-muted);
    font-size: 0.74rem;
}
.course-request-archive__body {
    padding: 0.7rem;
}
.course-request-archive__years {
    display: grid;
    gap: 0.5rem;
}
.course-request-archive-year + .course-request-archive-year {
    margin-top: 0;
}
.course-request-archive-year__body {
    padding: 0;
}
.course-request-archive-list {
    display: grid;
}
.course-request-archive-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    min-width: 0;
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
}
.course-request-archive-row:last-child {
    border-bottom: 0;
}
.course-request-archive-row__content {
    display: grid;
    grid-template-columns: 6.2rem minmax(9rem, 1.15fr) minmax(9rem, 1fr) auto;
    gap: 0.25rem 0.7rem;
    align-items: center;
    min-width: 0;
    font-size: 0.78rem;
}
.course-request-archive-row__date,
.course-request-archive-row__status {
    color: var(--color-muted);
}
.course-request-archive-row__club,
.course-request-archive-row__type,
.course-request-archive-row__event {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.course-request-archive-row__event {
    grid-column: 2 / -1;
    color: var(--color-muted);
    font-size: 0.73rem;
}
.course-request-archive-row__actions {
    display: inline-flex;
    gap: 0.3rem;
    align-items: center;
    justify-content: flex-end;
}
.course-request-archive-row__actions .icon-action {
    width: 1.75rem;
    min-width: 1.75rem;
    height: 1.75rem;
    min-height: 1.75rem;
    padding: 0;
}
.course-request-archive__more {
    border-top: 1px solid var(--color-border);
    background: var(--color-surface-soft);
}
.course-request-archive__more > summary {
    padding: 0.48rem 0.65rem;
    cursor: pointer;
    color: var(--color-muted);
    font-size: 0.76rem;
    list-style: none;
}
.course-request-archive__more > summary::-webkit-details-marker { display: none; }
.course-request-archive__more > summary::before { content: "▸"; margin-right: 0.4rem; }
.course-request-archive__more[open] > summary::before { content: "▾"; }
.course-request-archive-list--more {
    border-top: 1px solid var(--color-border);
}

@media (max-width: 850px) {
    .course-request-archive-row__content {
        grid-template-columns: 5.8rem minmax(0, 1fr);
    }
    .course-request-archive-row__type,
    .course-request-archive-row__status,
    .course-request-archive-row__event {
        grid-column: 2;
    }
    .course-request-archive-row__status { font-size: 0.72rem; }
}

@media (max-width: 560px) {
    .course-request-archive-row {
        align-items: start;
        padding: 0.55rem;
    }
    .course-request-archive-row__content {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.12rem;
    }
    .course-request-archive-row__date,
    .course-request-archive-row__club,
    .course-request-archive-row__type,
    .course-request-archive-row__status,
    .course-request-archive-row__event {
        grid-column: 1;
        white-space: normal;
    }
    .course-request-archive-row__date { font-size: 0.72rem; }
}

/* Lehrgangsanfragen: neue E-Mail-Antworten unübersehbar, aber kompakt. */
.course-request-new-mail-alert {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: .45rem .55rem;
    margin: -.35rem 0 .9rem;
    padding: .58rem .7rem;
    border: 1px solid #e8b8bd;
    border-radius: .55rem;
    background: #fff4f5;
    color: var(--color-text);
    text-decoration: none;
}

.course-request-new-mail-alert:hover { border-color: var(--color-primary); }
.course-request-new-mail-alert__icon { color: var(--color-primary); font-size: 1rem; }
.course-request-new-mail-alert strong { color: var(--color-primary-dark); font-weight: 600; }
.course-request-new-mail-alert > span:last-child { color: var(--color-muted); font-size: .8rem; }

.course-request-mail-replies__counts {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.course-request-mail-replies__new-count,
.course-request-mail-new-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #fff0f1;
    color: var(--color-primary-dark);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
}

.course-request-mail-replies__new-count { padding: .28rem .48rem; }
.course-request-mail-new-badge { margin-left: .28rem; padding: .18rem .34rem; }
.course-request-history-mail.is-new { border-left: 3px solid var(--color-primary); }
.course-request-history-mail__html-body {
    padding: .7rem .75rem;
    border-top: 1px solid var(--color-border);
    background: #fff;
    font-size: .82rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.course-request-history-mail__html-body :where(p, div) { margin-top: 0; }
.course-request-history-mail__html-body :where(p, div):last-child { margin-bottom: 0; }
.course-request-history-mail__html-body img { max-width: 100%; height: auto; }
.course-request-history-mail__empty-body { margin: 0; padding: .65rem .75rem; }

@media (max-width: 800px) {
    .course-request-new-mail-alert { grid-template-columns: auto minmax(0, 1fr); }
    .course-request-new-mail-alert > span:last-child { grid-column: 2; }
}

.course-request-create-note { margin: 0.35rem 0 0; }

/* Lehrgangsanfragen: Kalenderkonflikte bewusst bestätigen, ohne Checkbox-Layoutfehler. */
.course-request-override { display: grid; gap: 0.55rem; margin: 0.75rem 0; }
.course-request-override p, .course-request-override ul { margin: 0; }
.course-request-override ul { padding-left: 1.25rem; }
.event-form .course-request-override__confirmation { display: flex; justify-content: flex-start; }
.event-form .course-request-override__confirm {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    width: auto;
    max-width: 100%;
    padding: 0.4rem 0.6rem;
    border-radius: 7px;
    border: 1px solid #eadca0;
    background: rgba(255,255,255,0.52);
    line-height: 1.35;
    cursor: pointer;
}
.event-form .course-request-override__confirm input[type="checkbox"] {
    box-sizing: border-box;
    width: 1rem;
    height: 1rem;
    min-height: 1rem;
    padding: 0;
    margin: 0;
    flex: 0 0 1rem;
    cursor: pointer;
}
.event-form .course-request-override__notes { display: grid; gap: 0.25rem; }
.event-form .course-request-override__notes label { margin: 0; }
.event-form .course-request-override__notes textarea { max-width: 48rem; width: 100%; }
