/* seiten/assistent.css – G6 Assistent – assistent.html (+ assistent.js)
   Wird von base.html auf JEDER Seite nach app.css geladen (?v=STATIC_VERSION).
   Nur Selektoren dieser Gruppe. Tokens (var(--…)) nur aus app.css, keine neuen Farbwerte hier. */

/* ===== Assistent (Chat) ===== */
body.chat main { padding-bottom: 180px; }
.chat-kopf { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: var(--s1) 0 var(--s5); }
.chat-kopf h1 { margin: 0 0 4px; display: flex; align-items: center; gap: 10px; }
.chat-kopf h1 .ic { width: 24px; height: 24px; color: var(--brand-text); }
.chat-kopf p { margin: 0; }
.chat-kopf .knopf { min-height: 44px; flex: none; }
.verlauf { display: flex; flex-direction: column; gap: 12px; }
.blase { max-width: min(88%, 66ch); padding: 11px 15px; border-radius: var(--r-l); position: relative; }
.blase .text { white-space: pre-wrap; overflow-wrap: anywhere; font-variant-numeric: normal; }
.blase time { display: block; font-size: var(--fs-xs); color: var(--ink-3); margin-top: 4px; text-align: right; }
.blase.nutzer { align-self: flex-end; background: var(--brand); color: var(--on-brand); border-bottom-right-radius: 6px; }
.blase.nutzer time { color: var(--on-brand); opacity: .85; }
.blase.assistent { align-self: flex-start; background: var(--card); border: 1px solid var(--line-soft); border-bottom-left-radius: 6px; box-shadow: var(--shadow-1); }
.blase.hat-fehler { border-color: var(--err-ink); }
.schritte { font-size: var(--fs-xs); color: var(--ink-3); margin-bottom: 4px; display: flex; align-items: center; gap: 5px; }
.schritte::before { content: ""; width: 14px; height: 14px; flex: none; background: currentColor; -webkit-mask: var(--m-spark) center / contain no-repeat; mask: var(--m-spark) center / contain no-repeat; }
.punkte i { display: inline-block; width: 6px; height: 6px; margin-right: 3px; border-radius: 50%; background: var(--ink-3); animation: punkt 1s infinite; }
.punkte i:nth-child(2) { animation-delay: .15s; }
.punkte i:nth-child(3) { animation-delay: .3s; }
@keyframes punkt { 50% { opacity: .2; } }
.vorschlag { align-self: stretch; background: var(--card); border: 1.5px solid var(--accent-line); border-radius: var(--r-l); padding: 16px; box-shadow: var(--shadow-2); }
.vorschlag.ausgefuehrt { border-color: var(--brand); }
.vorschlag.abgelehnt { border-color: var(--line); opacity: .8; }
.vorschlag.fehler { border-color: var(--err-ink); }
.v-kopf { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.v-art { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); font-weight: 600; color: var(--ink-2); letter-spacing: 0; text-transform: none; }
.v-art::before { content: ""; width: 14px; height: 14px; background: var(--brand-text); -webkit-mask: var(--m-rechnung) center / contain no-repeat; mask: var(--m-rechnung) center / contain no-repeat; }
.v-knoepfe { display: grid; grid-template-columns: 1fr 2fr; gap: 8px; margin-top: 10px; }
.v-knoepfe .knopf { width: 100%; }
.eingabe { position: fixed; left: 0; right: 0; bottom: 0; z-index: 21; display: flex; gap: 8px; align-items: flex-end;
  padding: 10px max(12px, calc(100% - (100% - var(--breite-kopf)) / 2 - var(--breite))) calc(10px + env(safe-area-inset-bottom)) max(12px, calc((100% - var(--breite-kopf)) / 2));
  background: var(--glas); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--line); }
body.chat.hat-tabs .eingabe { bottom: calc(var(--tabs-h) + env(safe-area-inset-bottom)); }
@media (min-width: 701px) { body.chat.hat-tabs .eingabe { bottom: 0; } }
.eingabe textarea { flex: 1; margin: 0; min-height: 48px; max-height: 160px; resize: none; border-radius: 24px; padding: 12px 18px; }
.rund { position: relative; width: 48px; height: 48px; flex: none; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; transition: transform .12s var(--ease); }
.rund .ic { width: 22px; height: 22px; }
.rund.senden { background: var(--brand); color: var(--on-brand); }
.rund.mikro { background: var(--brand-tint); color: var(--brand-text); }
.eingabe.mit-mikro:not(.hat-text) .rund.senden { display: none; }
.eingabe.mit-mikro:not(.hat-text) .rund.mikro:not(.aufnahme) { background: var(--brand); color: var(--on-brand); }
.rund.mikro.aufnahme { background: var(--danger); color: var(--on-danger); }
.rund.mikro.aufnahme::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--danger); animation: puls-ring 1.4s var(--ease) infinite; }
.rund[disabled] { opacity: .5; }
.mikro-status { position: fixed; left: 0; right: 0; bottom: calc(var(--eingabe-h, 80px) + env(safe-area-inset-bottom)); text-align: center; z-index: 21; margin: 0; }
body.chat.hat-tabs .mikro-status { bottom: calc(var(--tabs-h) + var(--eingabe-h, 80px) + env(safe-area-inset-bottom)); }
@media (min-width: 701px) { body.chat.hat-tabs .mikro-status { bottom: calc(var(--eingabe-h, 80px) + env(safe-area-inset-bottom)); } }
.leer-hinweis { padding: 4px 0; }
.leer-hinweis > p { margin-bottom: var(--s3); }
.beispiele { display: grid; gap: 8px; }
.chip { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 14px; border-radius: var(--r-m);
  border: 1px solid var(--line); color: var(--ink); text-decoration: none; background: var(--card); font: inherit; font-weight: 500; cursor: pointer;
  transition: transform .12s var(--ease), background-color .15s var(--ease); }
.chip.beispiel { width: 100%; justify-content: flex-start; min-height: 52px; padding: 10px 14px; text-align: left; line-height: 1.3; font-size: var(--fs-base); box-shadow: var(--shadow-1); }
.chip.beispiel .ic { width: 18px; height: 18px; color: var(--brand-text); }
@media (forced-colors: active) {
  .rund, .chip { border: 2px solid ButtonText; }
  .schritte::before, .v-art::before { forced-color-adjust: none; background: CanvasText; }
}
