/* Scoped microphone controls: existing chat/task styles remain untouched. */
.ba-voice-button-host { display:inline-flex; align-items:center; flex:none; }
.ba-voice-status-host { min-width:0; width:100%; }
.ba-voice-status-host:not(:has(> .ba-voice-status:not([hidden]))) { display:none; }
.ba-voice { --voice-ink:var(--foreground,#27272a); --voice-muted:var(--muted-foreground,#71717a); --voice-border:var(--border,#e4e4e7); --voice-fill:var(--muted,#f4f4f5); --voice-accent:var(--bc-accent,var(--primary,#38383f)); box-sizing:border-box; font:inherit; }
.ba-voice [hidden],.ba-voice[hidden] { display:none!important; }
button.ba-voice-mic,.ba-voice button { -webkit-appearance:none; appearance:none; display:grid; place-items:center; flex:none; box-sizing:border-box; min-width:44px; min-height:44px; padding:10px; border:0; border-radius:11px; background:transparent; color:var(--voice-muted); font:inherit; cursor:pointer; touch-action:manipulation; }
button.ba-voice-mic { width:44px; height:44px; color:var(--voice-ink); }
button.ba-voice-mic svg,.ba-voice button svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
button.ba-voice-mic:hover,.ba-voice button:hover { background:var(--voice-fill); color:var(--voice-ink); }
button.ba-voice-mic:disabled { opacity:.4; cursor:default; }
button.ba-voice-mic:disabled:hover { background:transparent; color:var(--voice-muted); }
button.ba-voice-mic:focus-visible,.ba-voice button:focus-visible { outline:2px solid var(--ring,#777783); outline-offset:2px; }
.ba-voice-status { display:flex; align-items:center; gap:12px; width:100%; min-width:0; margin:8px 0 0; padding:9px 10px 9px 14px; border:1px solid var(--voice-border); border-radius:13px; color:var(--voice-ink); background:var(--background,#fff); }
.ba-voice-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.ba-voice-label { font-size:13px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.ba-voice-details { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-height:27px; }
.ba-voice-time { color:var(--voice-muted); font-size:12px; line-height:1.4; font-variant-numeric:tabular-nums; white-space:nowrap; }
.ba-voice-meter { display:flex; align-items:center; gap:2px; height:27px; width:98px; overflow:hidden; color:var(--voice-accent); }
.ba-voice-bar { display:block; width:3px; height:2px; flex:none; border-radius:2px; background:currentColor; }
.ba-voice-controls { flex:none; display:flex; align-items:center; gap:4px; }
.ba-voice .ba-voice-confirm { background:var(--voice-accent); color:var(--primary-foreground,#fff); }
.ba-voice .ba-voice-confirm:hover { background:var(--voice-accent); color:var(--primary-foreground,#fff); opacity:.85; }
.ba-voice .ba-voice-retry { padding-inline:10px; font-size:13px; font-weight:600; }
.ba-voice .ba-voice-copy { padding-inline:10px; font-size:13px; font-weight:600; }
.ba-voice-transcript { display:block; box-sizing:border-box; width:100%; min-width:0; resize:vertical; min-height:76px; max-height:200px; margin-top:4px; border:1px solid var(--voice-border); border-radius:8px; padding:9px; background:var(--background,#fff); color:var(--voice-ink); font:inherit; font-size:14px; line-height:1.5; }
.ba-voice-status[data-state="error"] { border-color:color-mix(in srgb,#ae694e 35%,var(--voice-border)); }
.ba-voice-status[data-state="error"] .ba-voice-label { color:var(--voice-muted); font-weight:400; }
@media(max-width:480px) {
  .ba-voice-status { gap:6px; padding:7px 6px 7px 10px; }
  .ba-voice-label { font-size:13px; }
  .ba-voice-details { gap:7px; }
  .ba-voice-meter { width:68px; }
  .ba-voice-bar:nth-child(-n+6) { display:none; }
  .ba-voice-status[data-state="error"] { flex-wrap:wrap; }
  .ba-voice-status[data-state="error"] .ba-voice-info { flex-basis:100%; }
  .ba-voice-status[data-state="error"] .ba-voice-controls { margin-left:auto; }
  .ba-voice-transcript { font-size:16px; }
}
@media(forced-colors:active) {
  .ba-voice .ba-voice-confirm { border:1px solid ButtonText; }
  .ba-voice-meter { color:CanvasText; }
}
