.voice-controls { margin: 0 24px 18px; padding: 14px; border: 1px solid #344766; border-radius: 18px; background: #101c30; }
.voice-controls[hidden], .voice-controls [hidden] { display: none !important; }
.voice-buttons { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.voice-mic { touch-action: none; user-select: none; -webkit-user-select: none; min-width: 54px; min-height: 54px; }
.voice-controls p { margin: 10px 0 0; color: #bac9e7; font-size: .88rem; }
.voice-controls[data-state="recording"] .voice-mic, .voice-controls[data-state="locked"] .voice-mic { background: #b42348; }
.voice-status { flex: 1; min-width: 120px; }
.voice-controls button:focus-visible { outline: 3px solid #abc7ff; outline-offset: 3px; }
