.assistant-heading-row {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
}
.voice-modal[hidden] {
  display:none;
}
.voice-modal {
  position:fixed;
  inset:0;
  z-index:40;
  display:grid;
  place-items:center;
  padding:1rem;
  background:rgba(33,49,40,0.52);
}
.voice-panel {
  width:min(100%, 860px);
  max-height:min(92vh, 860px);
  overflow:auto;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(33,49,40,0.12);
  box-shadow:0 24px 60px rgba(22,32,28,0.22);
  padding:1.1rem;
  display:grid;
  gap:0.9rem;
}
.voice-panel-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
}
.voice-panel-header h3 {
  margin:0;
}
.voice-transcript {
  border:1px solid rgba(33,49,40,0.1);
  border-radius:18px;
  background:#fbfaf6;
  padding:0.9rem;
  min-height:220px;
  max-height:360px;
  overflow:auto;
  display:grid;
  gap:0.8rem;
}
.voice-input-grid {
  display:grid;
  gap:0.75rem;
}
.voice-input-grid textarea {
  width:100%;
  min-height:110px;
  border-radius:18px;
  border:1px solid rgba(33,49,40,0.16);
  padding:0.95rem 1rem;
  font:inherit;
  resize:vertical;
  background:#fff;
  color:var(--ink);
}
.voice-actions {
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  align-items:center;
}
.voice-actions button {
  border:0;
  border-radius:999px;
  padding:0.72rem 1.1rem;
  font:inherit;
  font-weight:700;
  color:#fff;
  background:#5d41a6;
  cursor:pointer;
}
.voice-actions button.secondary {
  background:#6f7b73;
}
.voice-actions button.warning {
  background:#a64d4d;
}
.voice-actions button:disabled {
  opacity:0.65;
  cursor:not-allowed;
}
.voice-toggle {
  display:flex;
  align-items:center;
  gap:0.45rem;
  color:var(--muted);
  font-size:0.95rem;
}
.voice-toggle input {
  accent-color:#5d41a6;
}
.voice-toggle select {
  border-radius:999px;
  border:1px solid rgba(33,49,40,0.16);
  padding:0.45rem 0.75rem;
  font:inherit;
  color:var(--ink);
  background:#fff;
}
.voice-help {
  font-size:0.92rem;
  color:var(--muted);
}
.voice-status {
  border-radius:14px;
  padding:0.72rem 0.9rem;
  background:rgba(93,65,166,0.06);
  border:1px solid rgba(93,65,166,0.14);
}
.voice-status[data-state="listening"] {
  background:rgba(68,121,191,0.08);
  border-color:rgba(68,121,191,0.22);
}
.voice-status[data-state="wake-waiting"] {
  background:rgba(214,136,60,0.08);
  border-color:rgba(214,136,60,0.24);
}
.voice-status[data-state="processing"] {
  background:rgba(93,65,166,0.08);
  border-color:rgba(93,65,166,0.24);
}
.voice-status[data-state="speaking"] {
  background:rgba(53,107,65,0.08);
  border-color:rgba(53,107,65,0.24);
}
.voice-status[data-state="error"] {
  background:rgba(180,77,77,0.08);
  border-color:rgba(180,77,77,0.24);
}
