/* MPU-Farbsystem: Hypothesen-Badges */
.badge-drogen   { background-color: #198754; color: #fff; } /* grün  — Drogen  (D) */
.badge-alkohol  { background-color: #0d6efd; color: #fff; } /* blau  — Alkohol (A) */
.badge-verkehr  { background-color: #dc3545; color: #fff; } /* rot   — Verkehr (V) */

/* Lizenz: kundenspezifisches Paket oder Modul (templates/macros/lizenz_macros.html) */
.badge-kundenspezifisch { background-color: #fff3cd; color: #664d03; border: 1px solid #ffda6a; }

/* Sitzungs-Dokument "aktenkundig" (dem Begutachter bekannt) — violett, bewusst abgesetzt
   vom grünen Aktenanalyse-Kennzeichen */
.badge-aktenkundig                { background-color: #6f42c1; color: #fff; }
.btn-aktenkundig                  { background-color: #6f42c1; border-color: #6f42c1; color: #fff; }
.btn-aktenkundig:hover            { background-color: #59359a; border-color: #59359a; color: #fff; }
.btn-outline-aktenkundig          { color: #6f42c1; border-color: #6f42c1; background-color: transparent; }
.btn-outline-aktenkundig:hover    { background-color: #6f42c1; border-color: #6f42c1; color: #fff; }

/* Status: Erstgespräch — Bootstrap $orange */
.btn-orange                { background-color: #fd7e14; border-color: #fd7e14; color: #fff; }
.btn-orange:hover          { background-color: #e06b0a; border-color: #e06b0a; color: #fff; }
.btn-outline-orange        { color: #fd7e14; border-color: #fd7e14; background-color: transparent; }
.btn-outline-orange:hover  { background-color: #fd7e14; border-color: #fd7e14; color: #fff; }
.badge.bg-orange,
.bg-orange                 { background-color: #fd7e14 !important; color: #fff; }
.text-orange               { color: #fd7e14 !important; }

/* Status: Bereit zur Vorbereitung — Bootstrap $purple */
.btn-purple                { background-color: #6f42c1; border-color: #6f42c1; color: #fff; }
.btn-purple:hover          { background-color: #59359a; border-color: #59359a; color: #fff; }
.btn-outline-purple        { color: #6f42c1; border-color: #6f42c1; background-color: transparent; }
.btn-outline-purple:hover  { background-color: #6f42c1; border-color: #6f42c1; color: #fff; }
.badge.bg-purple,
.bg-purple                 { background-color: #6f42c1 !important; color: #fff; }
.text-purple               { color: #6f42c1 !important; }

/* ── KI-Assistent: frei schwebende Chatfenster (static/js/assistant.js) ──────── */
.assistant-window {
    position: fixed;
    width: 400px;
    max-width: calc(100vw - 16px);
    height: 540px;
    max-height: calc(100vh - 32px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 14px;
}
.assistant-window.assistant-large {
    left: 5vw !important; top: 5vh !important; right: auto !important; bottom: auto !important;
    width: 90vw; height: 90vh; max-width: none; max-height: none;
}
.assistant-window.assistant-minimized { height: auto; }
.assistant-window.assistant-minimized .assistant-window-log,
.assistant-window.assistant-minimized .assistant-window-status,
.assistant-window.assistant-minimized .assistant-window-footer { display: none; }
.assistant-window-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 4px 8px 4px 12px; background: #212529; color: #fff;
    border-radius: 8px 8px 0 0; cursor: move; user-select: none; touch-action: none;
}
.assistant-window-title { font-weight: 600; display: flex; align-items: center; }
.assistant-avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.assistant-window-btn { color: #fff; padding: 2px 6px; }
.assistant-window-btn:hover, .assistant-window-btn:focus { color: #ffc107; }
.assistant-window-log { flex: 1; overflow-y: auto; padding: 10px; background: #f8f9fa; }
.assistant-window-intro { color: #495057; }
.assistant-example { display: block; margin: 4px 0; text-align: left; white-space: normal; }
.assistant-bubble { margin: 6px 0; padding: 8px 10px; border-radius: 8px; overflow-wrap: anywhere; }
.assistant-bubble p:last-child, .assistant-bubble ul:last-child, .assistant-bubble ol:last-child { margin-bottom: 0; }
.assistant-bubble table { font-size: 13px; }
.assistant-bubble.assistant-question { background: #0d6efd; color: #fff; margin-left: 15%; white-space: pre-wrap; }
.assistant-bubble.assistant-answer { background: #fff; border: 1px solid #dee2e6; margin-right: 5%; }
.assistant-bubble.assistant-error { background: #f8d7da; color: #842029; }
.assistant-window-status { padding: 4px 10px; border-top: 1px solid #dee2e6; }
.assistant-window-footer { display: flex; gap: 6px; padding: 8px; border-top: 1px solid #dee2e6; }
.assistant-window-footer textarea { resize: none; }

/* --- Case-Reiter im Kundenstamm (mehrere Cases je Kunde) ---
   Band mit Knöpfen statt nav-tabs: der gewählte Case gefüllt, die anderen neutral — vorher
   sah der inaktive Reiter wie ein blauer Link aus und der aktive war kaum zu erkennen. */
.case-tabs {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    padding: 8px 10px; background: #f1f3f5; border: 1px solid #dee2e6; border-radius: 8px;
}
.case-tabs-label {
    font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase;
    color: #6c757d; margin-right: 4px;
}
.case-tab {
    display: inline-flex; align-items: center; gap: 6px;
    padding: .45rem .9rem; border: 1px solid #adb5bd; border-radius: 6px;
    background: #fff; color: var(--bs-body-color); text-decoration: none; font-size: 15px;
}
.case-tab:hover, .case-tab:focus { background: #e9ecef; color: var(--bs-body-color); }
.case-tab.active, .case-tab.active:hover, .case-tab.active:focus {
    background: var(--bs-primary); border-color: var(--bs-primary); color: #fff;
    font-weight: 600; box-shadow: 0 2px 6px rgba(13, 110, 253, .35);
}
.case-tab-date { font-size: 12px; opacity: .75; font-weight: 400; }
