.voice-input { min-width: 0; overflow-wrap: anywhere; margin: 1rem 0; padding: .85rem 1rem; border: 1px solid var(--line, #d6dde5); border-radius: .5rem; background: #f8fafc; }
.voice-input summary { cursor: pointer; font-weight: 650; }
.voice-input p { max-width: 72ch; }
.voice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.voice-controls button { white-space: normal; }
.voice-input button { min-height: 2.75rem; max-width: 100%; white-space: normal; }
.voice-input summary { min-height: 2.75rem; padding: .5rem 0; }
.voice-destination { margin: .65rem 0 1rem; padding: .85rem 1rem; border-left: 4px solid #2563eb; border-radius: .35rem; background: #eef4ff; color: #183657; }
.voice-destination p { margin: .35rem 0 .7rem; }
.voice-destination [data-voice-destination] { font-weight: 650; }
.voice-target-highlight { outline: 3px solid #2563eb !important; outline-offset: 3px; }
.voice-label { display: block; margin: .7rem 0 .4rem; font-weight: 650; }
.voice-transcript { min-height: 6rem; padding: .8rem; border: 1px solid #8796a5; border-radius: .35rem; background: white; white-space: pre-wrap; overflow-wrap: anywhere; }
.voice-transcript[contenteditable="false"] { background: #f0f4f8; }
.voice-transcript:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.voice-original { margin: .8rem 0; border-top: 1px solid var(--line, #d6dde5); }
.voice-raw { padding: .65rem .8rem; border-left: 3px solid #d6dde5; background: white; white-space: pre-wrap; overflow-wrap: anywhere; }
.voice-raw:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.voice-interim { color: #52677c; min-height: 1.5em; white-space: pre-wrap; overflow-wrap: anywhere; }
.voice-recording { margin-top: 1rem; }
.voice-recording audio { display: block; width: 100%; max-width: 28rem; margin-bottom: .65rem; }
.voice-input .voice-error { color: #963424; }
.voice-input [hidden] { display: none !important; }
.voice-input [data-voice-provider] { margin: .8rem 0; }
.voice-input-compact:not([open]) { margin: .3rem 0; padding: .25rem .4rem; border: 0; background: transparent; font-size: .85rem; }
