.microphone-tool { min-width: 0; }
.mic-controls { margin-bottom: 16px; }
.mic-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mic-status { color: var(--soft); font-size: 12px; line-height: 1.65; min-height: 2em; }
.mic-status[data-phase="running"] { color: var(--accent); }
.mic-status[data-phase="error"], .mic-status[data-phase="suspended"] { color: var(--amber); }
.mic-device-label { display: block; margin-bottom: 8px; color: var(--soft); font-size: 11px; }
.mic-controls select { width: min(100%, 560px); padding: 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--text); background: var(--panel-2); font: inherit; font-size: 12px; }
.microphone-tool button:disabled, .microphone-tool select:disabled { opacity: .5; cursor: not-allowed; }
.microphone-tool [hidden] { display: none !important; }
.microphone-tool :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.mic-visual-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.mic-visual-grid > .section-card { margin: 0; min-width: 0; }
.microphone-tool canvas { width: 100%; height: 180px; display: block; margin-top: 18px; border-radius: 6px; background: var(--bg); }
.mic-readings { margin-top: 16px; }
.mic-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.mic-metrics .kpi b { font-size: clamp(12px, 1.3vw, 18px); overflow-wrap: anywhere; line-height: 1.5; }
.mic-note, .mic-privacy { color: var(--muted); font-size: 11px; line-height: 1.75; }
.mic-note { margin: 16px 0; }
.mic-privacy { padding: 0 4px; }
.mic-device-details { margin: 0; }
.mic-device-details > div { display: grid; grid-template-columns: minmax(140px, .45fr) minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.mic-device-details dt { color: var(--muted); font-size: 11px; }
.mic-device-details dd { margin: 0; color: var(--soft); font: 11px/1.5 var(--mono); overflow-wrap: anywhere; }
@media (max-width: 1000px) { .mic-visual-grid { grid-template-columns: minmax(0, 1fr); } .mic-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 450px) { .mic-device-details > div { grid-template-columns: 1fr; gap: 5px; } .mic-actions button { flex: 1 1 auto; } }
