/* Screen 3 · Assistent (Design richtung-a-hell.html, Screen 3). Alles unter .assistent bzw. .as-* (Dock über der Tab-Leiste). */

.assistent .kopf .verb { margin-bottom: 8px; cursor: pointer; }
.assistent .verb.gedrueckt { opacity: .6; }

/* Gespräch */
.assistent .as-runde { display: flow-root; }
.assistent .blase { overflow-wrap: anywhere; }
.assistent .blase.live { position: relative; min-height: 44.5px; }
.assistent .blase.live.leer > span { opacity: .55; }
.assistent .as-caret { display: inline-block; vertical-align: -3px; width: 2px; height: 17px; margin-left: 2px; border-radius: 1px; background: rgba(255,255,255,.85);
  animation: as-caret 1s ease-in-out infinite; }
@keyframes as-caret { 0%, 100% { opacity: 1; } 50% { opacity: .15; } }
.assistent .blase-meta .as-punkt { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--rot); margin-right: 5px; vertical-align: 1px;
  animation: as-puls 1.2s ease-in-out infinite; }
@keyframes as-puls { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.8); } }
/* Aufgabenkarten */
.assistent .auf-meta span { min-width: 0; }
.assistent .auf-meta em { overflow: hidden; text-overflow: ellipsis; }
.assistent .nr { position: relative; overflow: hidden; }
.assistent .nr > b { font: inherit; transition: opacity .25s, transform .35s var(--ios); }
.assistent .nr > .ic { position: absolute; left: 50%; top: 50%; margin: -6.5px 0 0 -6.5px; opacity: 0; transform: scale(.3); transition: opacity .25s, transform .45s cubic-bezier(.34,1.56,.64,1); }
.assistent .nr { transition: background-color .3s, color .3s; }
.assistent .aufgabe.angelegt .nr { background: var(--gruen-bg); color: var(--gruen); }
.assistent .aufgabe.angelegt .nr > b { opacity: 0; transform: scale(.4); }
.assistent .aufgabe.angelegt .nr > .ic { opacity: 1; transform: scale(1); }
.assistent .as-karten-aktion { margin: 10px 0 0 32px; display: flex; }
.assistent .as-karten.as-blitz .aufgabe { animation: dm-rein .4s var(--ios) both; }
.assistent .as-karten.as-blitz .aufgabe + .aufgabe { animation-delay: 60ms; }

/* In onOffice anlegen: laden, Haken, fertig */
.assistent .as-anlegen { overflow: hidden; isolation: isolate; }
.assistent .as-anlegen::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--gruen); opacity: 0; transition: opacity .35s var(--ios); }
.assistent .as-anlegen.laedt { pointer-events: none; }
.assistent .as-anlegen.fertig { pointer-events: none; box-shadow: 0 8px 18px -6px rgba(62,122,92,.45); }
.assistent .as-anlegen.fertig::before { opacity: 1; }
.assistent .as-anlegen > span, .assistent .as-anlegen > .ic { animation: dm-rein .3s var(--ios) both; }
.assistent .as-ok { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.22);
  animation: as-pop .5s cubic-bezier(.34,1.56,.64,1) both !important; }
@keyframes as-pop { from { transform: scale(.3); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.as-kreisel { display: inline-block; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff;
  animation: as-dreh .7s linear infinite; }
@keyframes as-dreh { to { transform: rotate(360deg); } }

/* Denkt nach */
.assistent .as-schimmer { position: relative; overflow: hidden; color: var(--text2) !important; font-weight: 600 !important; }
.assistent .as-schimmer::after { content: ""; position: absolute; inset: 0 -40%; background: linear-gradient(100deg, rgba(246,243,238,0) 30%, rgba(246,243,238,.9) 50%, rgba(246,243,238,0) 70%);
  animation: as-schimmer 1.1s var(--ios-aus) infinite; }
@keyframes as-schimmer { from { transform: translateX(-60%); } to { transform: translateX(60%); } }
.assistent .as-denkt .erkannt .ic { animation: as-puls 1.1s ease-in-out infinite; }
.assistent .as-skelett { position: relative; overflow: hidden; }
.assistent .as-skelett i, .assistent .as-skelett .nr { display: block; background: #F0EBE5; border-radius: 6px; }
.assistent .as-skelett .s1 { height: 14px; flex: 1; max-width: 220px; }
.assistent .as-skelett-meta { display: grid; grid-template-columns: 1fr 1.15fr; gap: 9px 10px; margin: 12px 0 2px 32px; }
.assistent .as-skelett-meta i { height: 10px; max-width: 90px; }
.assistent .as-skelett::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.85) 50%, rgba(255,255,255,0) 70%);
  animation: as-schimmer 1.1s var(--ios-aus) infinite; }

/* Hinweis (Mikrofon aus, nichts gehört) */
.assistent .as-hinweis { margin-top: 14px; padding: 12px 14px; }
.assistent .as-hinweis-o { display: flex; gap: 12px; align-items: flex-start; }
.assistent .as-hinweis-o .t2 { margin-top: 2px; }
.assistent .as-hinweis-k { display: flex; align-items: center; gap: 6px; margin: 10px 0 0 46px; }
.assistent .as-hinweis-k .knopf.text { height: 32px; font-size: 13px; padding: 0 8px; }

/* Ergebnis Exposé */
.assistent .as-datei { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.assistent .as-datei-k { font: 600 13.5px/1 var(--schrift); color: var(--navy); opacity: .75; }

/* Fuß: Schnellaktionen und Eingabe */
.assistent .as-chips { display: flex; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.assistent .as-fuss { margin-top: 26px; }
.assistent .as-eingabe { display: flex; align-items: center; gap: 10px; height: 46px; margin-top: 14px; padding: 0 5px 0 15px; border-radius: 23px; background: #fff;
  border: 1px solid var(--linie); box-shadow: 0 1px 2px rgba(28,36,75,.04); color: var(--text3); transition: opacity .3s var(--ios), transform .3s var(--ios); }
.assistent .as-eingabe.gedrueckt { opacity: .7; }
.assistent .as-eingabe-t { flex: 1; font: 400 15px/20px var(--schrift); }
.assistent .as-mikro { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--taupe-bg); color: var(--taupe-tief);
  transition: transform .25s var(--ios), background-color .2s, color .2s; }
.assistent .as-mikro.gedrueckt { transform: scale(.9); }
.assistent.hoert .as-eingabe { opacity: 0; transform: translateY(6px); pointer-events: none; }

/* Wellen-Dock über der Tab-Leiste (Design .hoer-dock), hängt in .ebene-app */
.as-dock { position: absolute; left: 0; right: 0; bottom: calc(var(--tab-h) + var(--sab)); height: 84px; z-index: 21; pointer-events: none;
  opacity: 0; transform: translateY(10px); transition: opacity .3s var(--ios), transform .45s var(--ios); }
.as-dock.an { opacity: 1; transform: none; }
.as-welle { display: flex; align-items: center; gap: 3px; position: absolute; top: 26px; height: 34px; }
.as-welle i { display: block; width: 3px; height: 32px; border-radius: 2px; background: var(--taupe); transform: scaleY(.15); transition: transform .09s linear; will-change: transform; }
.as-welle.links { right: calc(50% + 46px); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); mask-image: linear-gradient(90deg, transparent, #000 60%); }
.as-welle.rechts { left: calc(50% + 46px); -webkit-mask-image: linear-gradient(90deg, #000 40%, transparent); mask-image: linear-gradient(90deg, #000 40%, transparent); }

/* Sheets */
.as-sheet-hinweis { margin: 12px 4px 0; font: 400 13px/18px var(--schrift); color: var(--text2); }
.as-sheet-hinweis.oben { margin: 0 4px 12px; }
.as-objekte .zeile { min-height: 64px; }
.as-objekte .zeile + .zeile::before { left: 60px; }
.as-obj-bild { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; flex: none; }
.as-obj-kopf { display: flex; align-items: center; gap: 12px; padding: 8px; }
.as-obj-kopf img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; }
.as-schritte { margin-top: 12px; padding: 6px 14px; }
.as-schritt { display: flex; align-items: center; gap: 12px; height: 46px; font: 500 15px/20px var(--schrift); color: var(--text3); transition: color .25s; }
.as-schritt + .as-schritt { border-top: 1px solid var(--linie); }
.as-schritt.laeuft, .as-schritt.fertig { color: var(--navy); }
.as-schritt-p { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; flex: none; box-shadow: inset 0 0 0 1.5px var(--sand); transition: background-color .25s; }
.as-schritt.laeuft .as-schritt-p { box-shadow: none; }
.as-schritt.laeuft .as-kreisel { width: 20px; height: 20px; border-color: var(--sand-hell); border-top-color: var(--navy); }
.as-schritt.fertig .as-schritt-p { background: var(--gruen); color: #fff; box-shadow: none; }
.as-schritt.fertig .as-schritt-p .ic { animation: as-pop .45s cubic-bezier(.34,1.56,.64,1) both; }
.as-schritt-ende { margin-top: 16px; }
.as-ava { width: 34px; height: 34px; font-size: 14px; }

/* Ändern */
.as-edit + .as-edit { margin-top: 22px; padding-top: 6px; border-top: 1px solid var(--linie); }
.as-edit-kopf { display: flex; align-items: center; gap: 8px; margin: 10px 4px 8px; }
.as-edit-kopf .feld-titel { margin: 0; flex: 1; }
.as-edit-kopf .nr { width: 22px; height: 22px; border-radius: 50%; background: var(--taupe-bg); color: var(--taupe-tief); display: grid; place-items: center; font: 700 12px/1 var(--schrift); }
.as-entfernen { font: 600 13px/1 var(--schrift); color: var(--rot); padding: 6px 2px; }
.as-edit-l { font: 600 13px/16px var(--schrift); color: var(--text2); margin: 14px 4px 8px; }
.as-wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.as-edit-prio { margin-top: 14px; }
.as-flex { flex: 1; }
.assistent .as-start { padding: 16px; display: grid; gap: 10px; }
.assistent .as-start .as-wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.assistent .as-frage { padding: 14px 16px; margin-top: 10px; display: grid; gap: 10px; }
.assistent .as-frage .as-wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.assistent .as-hinweis-zeile { display: flex; gap: 8px; align-items: flex-start; margin: 8px 4px 0; }
.assistent .as-hinweis-zeile .ic { flex: none; margin-top: 2px; }

/* Exposé zeigen oder senden (Paket 4) */
.assistent .as-expose { padding:12px 14px 14px; display:grid; gap:10px; }
.assistent .as-ex-kicker { margin:0 2px -2px; }
.assistent .as-ex-zeile { display:flex; align-items:center; gap:12px; min-width:0; -webkit-tap-highlight-color:transparent; }
.assistent .as-ex-zeile .zt { flex:1; min-width:0; }
.assistent .as-ex-zeile .t1, .assistent .as-ex-zeile .t2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.assistent .as-ex-zeile > .ic:last-child { color:var(--chev); flex:none; }
.assistent .as-ex-zeile + .as-ex-zeile { padding-top:10px; border-top:1px solid var(--linie); }
.assistent .as-expose .knopf-reihe { margin-top:2px; }
