/* Voice controls stay in the existing composer action row; details float above it. */
.dv-dock{position:relative;display:inline-flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0;max-width:100%;color:#356cba}
.dv-dock [hidden]{display:none!important}
.dv-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex-shrink:0;padding:7px 10px;border:1px solid #ccd9eb;border-radius:10px;background:#f2f7ff;color:#356cba;font:inherit;font-size:13px;cursor:pointer;height:38px;box-sizing:border-box}
.dv-button svg,.dv-settings svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dv-button:hover,.dv-settings:hover{background:#e5efff}.dv-dock button:focus-visible,.dv-dock select:focus-visible{outline:3px solid #80b0ff;outline-offset:2px}
.dv-button.is-recording{background:#fff0ed;color:#bc3b2e;border-color:#eda69d}.dv-button:disabled{opacity:.65;cursor:wait}
.dv-panel{display:inline-flex;align-items:center;gap:7px;min-width:0;height:38px;color:#356cba}
.dv-status{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.dv-status strong{font-weight:600;font-variant-numeric:tabular-nums}
.dv-dot{width:6px;height:6px;border-radius:50%;background:#578add;flex-shrink:0}
.dv-panel[data-phase=recording] .dv-dot{background:#da594b;box-shadow:0 0 0 3px #da594b20}
.dv-panel[data-phase=error]{color:#a36518}.dv-panel[data-phase=error] .dv-dot{background:#d28b2b}
.dv-dock [data-cancel],.dv-settings,.dv-popup [data-close]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:18px;cursor:pointer;flex-shrink:0}
.dv-settings{border:1px solid #dce5f2;height:32px;background:#f7faff}.dv-settings[aria-expanded=true] svg{transform:rotate(180deg)}
.dv-level{display:block;width:38px;height:5px;background:#d5e0ed;border-radius:5px;overflow:hidden;flex-shrink:0}.dv-level i{display:block;width:0;height:100%;background:#27977c;transition:width .15s}
.dv-panel:not([data-phase=recording]) .dv-level{display:none}
.dv-popup{position:absolute;z-index:10020;bottom:calc(100% + 10px);right:0;width:min(320px,calc(100vw - 40px));box-sizing:border-box;padding:14px;background:#fff;color:#284f82;border:1px solid #d1dff1;border-radius:14px;box-shadow:0 10px 35px #193b6828;font-size:13px;max-height:min(360px,60vh);overflow:auto}
.dv-popup header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dv-popup header b{font-size:14px}.dv-popup p{margin:8px 0 0;line-height:1.6;font-size:12px;overflow-wrap:anywhere}.dv-popup [data-hint]{color:#647d9a}.dv-popup[data-phase=error] [data-detail]{color:#a36518;font-weight:600}
.dv-device{display:flex;flex-direction:column;gap:7px}.dv-device label{display:flex;align-items:center;gap:9px;font-size:12px;white-space:nowrap}.dv-device select{min-width:0;flex:1;border:1px solid #c5d6ec;background:#f7faff;color:#284f82;border-radius:7px;padding:7px;font:inherit}.dv-level-label{font-size:11px;color:#647d9a}
.dv-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.dv-controls button{font:inherit;font-size:12px;padding:6px 10px;background:#fff;color:#325f98;border:1px solid #c5d6ec;border-radius:7px;cursor:pointer;min-height:32px}.dv-controls [data-retry],.dv-controls [data-rerecord]{background:#377be4;color:#fff;border-color:#377be4}
body:not(.light) .dv-popup{background:#252a3b;border-color:#45506b;color:#d5e5ff}body:not(.light) .dv-popup [data-hint],body:not(.light) .dv-level-label{color:#a5b6d0}body:not(.light) .dv-panel{color:#a8c9ff}
@media(max-width:600px){
 .input-card .input-actions{gap:6px}.input-card .actions-left{min-width:0;flex:1;gap:4px}.input-card .segment-item{font-size:11px;gap:3px;padding:5px}.input-card .segment-item svg{display:none}.input-card .mode-hint{font-size:10px;flex-basis:100%}
 .dv-dock{gap:3px}.dv-button{padding:7px;width:32px;height:36px}.dv-button span{display:none}.dv-settings{width:24px}.dv-status{gap:4px;font-size:11px}.dv-panel{gap:3px}.dv-panel .dv-level,.dv-panel [data-cancel]{display:none}.dv-dot{width:5px;height:5px}.dv-popup{right:-38px}
}
@media(prefers-reduced-motion:no-preference){.dv-panel[data-phase=recording] .dv-dot{animation:dv-pulse 1.5s ease-in-out infinite}@keyframes dv-pulse{50%{box-shadow:0 0 0 5px #da594b05}}}
