.besprechungs-assistent { overflow-y: auto; padding: 0 .3rem 1rem; font-size: clamp(.95rem, 1.15vw, 1.2rem); }
.besprechungs-assistent [hidden] { display: none !important; }
.besprechungs-prozess { display: flex; gap: .7rem; padding: 0; margin: .2rem 0 1.5rem; list-style: none; }
.besprechungs-prozess li { flex: 1; padding: .7rem 1rem; border-radius: 0; background: var(--color-bg-secondary); color: var(--color-text-secondary); border: 2px solid transparent; }
.besprechungs-prozess li[aria-current] { color: var(--color-primary); border-color: var(--color-primary); font-weight: 700; }
.besprechungs-prozess li.is-done { background: #e5f4ef; color: var(--color-primary); }
.besprechungs-aufnahme { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.besprechungs-assistent button { padding: .7rem 1rem; border-radius: 0; border: 1px solid var(--color-primary); background: white; color: var(--color-primary); font: inherit; cursor: pointer; }
.besprechungs-assistent button:disabled { opacity: .5; cursor: wait; }
.besprechungs-assistent .besprechungs-primary { background: var(--color-primary); color: white; font-weight: 700; min-width: 14rem; }
.besprechungs-assistent .besprechungs-primary.is-recording { background: #ac2828; border-color: #ac2828; }
.besprechungs-timer { font-variant-numeric: tabular-nums; font-size: 1.5rem; font-weight: 700; }
.besprechungs-hinweis, .besprechungs-messung { color: var(--color-text-secondary); font-size: .9em; line-height: 1.45; }
.besprechungs-fehler { padding: .8rem; background: #fff0eb; color: #922c20; border-radius: 0; }
.besprechungs-quelle { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid var(--color-border); border-radius: 0; }
.besprechungs-quelle summary { cursor: pointer; color: var(--color-primary); font-weight: 600; }
.besprechungs-quelle audio { display: block; margin-top: .7rem; max-width: 100%; height: 36px; }
.besprechungs-assistent label { display: block; margin: .8rem 0 .3rem; font-size: .9em; font-weight: 600; color: var(--color-text-secondary); }
.besprechungs-assistent input, .besprechungs-assistent textarea { display: block; width: 100%; font: inherit; color: var(--color-text-primary); border: 1px solid var(--color-border); border-radius: 0; padding: .55rem .65rem; background: white; }
.besprechungs-assistent textarea { resize: vertical; line-height: 1.45; }
.besprechungs-quelle button { margin-top: .7rem; }
.besprechungs-assistent :is(button, input, textarea, summary):focus-visible { outline: 3px solid var(--color-primary-light); outline-offset: 3px; }
.besprechungs-karten { display: grid; grid-template-columns: 1.1fr 1.2fr 1fr; gap: 1rem; margin-top: 1rem; }
.besprechungs-karte { padding: 1rem 1.2rem; border: 1px solid var(--color-border); border-top: 4px solid var(--color-secondary); border-radius: 0; min-width: 0; }
.besprechungs-karte h2 { font-size: 1.15em; color: var(--color-primary); margin: 0 0 .7rem; }
.besprechungs-aufgabe + .besprechungs-aufgabe { margin-top: 1rem; padding-top: .3rem; border-top: 1px solid var(--color-border); }
.besprechungs-aufgaben-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.besprechungs-offen { background: #fff8dc; padding: 1rem; border-radius: 0; margin-top: 1rem; }
.besprechungs-offen ul { margin: .5rem 0 0; padding-left: 1.3rem; }
.besprechungs-zusammenfassung textarea { margin-top: .4rem; }
@media (max-width: 850px) {
    .besprechungs-prozess { flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
    .besprechungs-prozess li { flex-basis: 40%; padding: .5rem; font-size: .85em; }
    .besprechungs-karten { grid-template-columns: 1fr; }
    .besprechungs-aufnahme [data-field="status"] { flex-basis: 100%; }
}

.besprechungs-ziele { min-width: 0; padding: 1rem 0; }
.besprechungs-ziele h2 { color: var(--color-primary); font-size: 1.15em; margin: 0 0 1rem; }
.besprechungs-zielraster { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.besprechungs-zielraster button { min-width: 0; padding: 1rem .5rem; background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-left: 3px solid var(--color-secondary); text-align: left; font-weight: 600; overflow-wrap: anywhere; }
.besprechungs-zielraster small { display: block; margin-top: .3rem; font-size: .8em; font-weight: 400; }
.besprechungs-ziele form { margin-top: 1rem; padding-top: .2rem; border-top: 1px solid var(--color-border); }
.besprechungs-prozesslink { display: inline-block; margin: .4rem 0; color: var(--color-primary); font-weight: 600; }

.besprechungs-spinner { display: inline-block; width: 1rem; height: 1rem; border: 2px solid var(--color-primary); animation: besprechungs-laedt .8s linear infinite; }
@keyframes besprechungs-laedt { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .besprechungs-spinner { animation: besprechungs-pulsiert 1.2s ease-in-out infinite alternate; } }
@keyframes besprechungs-pulsiert { to { opacity: .25; } }
