/* Noise Floor Analyzer — local overrides (Card 8, Microphone Diagnostics) */

.nfa-privacy {
  max-width:760px;
  margin:var(--space-md) auto 0;
  padding:var(--space-sm) var(--space-md);
  border:1px solid rgba(0,255,65,.3);
  background:rgba(0,255,65,.06);
  border-radius:var(--radius-sm);
  color:var(--color-primary);
  font-size:.92rem;
  text-align:left;
}

.nfa-toprow {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:12px;
  justify-content:space-between;
}
.nfa-device { flex:1 1 240px; }
.nfa-select {
  width:100%;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.25);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:.9rem;
  padding:9px 10px;
  border-radius:var(--radius-sm);
}
.nfa-select:focus { outline:1px solid var(--color-primary); }
.nfa-controls { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }

.nfa-seg { display:flex;gap:6px; }
.nfa-seg-btn {
  background:rgba(0,255,65,.05);
  border:1px solid rgba(0,255,65,.25);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:.82rem;
  font-weight:600;
  padding:8px 12px;
  border-radius:var(--radius-sm);
  cursor:pointer;
}
.nfa-seg-btn:hover { background:rgba(0,255,65,.1); }
.nfa-seg-btn[aria-checked="true"] {
  background:rgba(0,255,65,.2);
  border-color:var(--color-primary);
  color:var(--color-primary);
}

.nfa-status {
  margin-top:var(--space-sm);
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-text-dim);
  min-height:1.4em;
}
.nfa-status.is-live  { color:var(--color-primary); }
.nfa-status.is-error { color:#ef4444; }

.nfa-live {
  margin-top:4px;
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--color-primary);
  min-height:1.4em;
}

.nfa-cells {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:var(--space-md);
}
.nfa-cell {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(0,255,65,.15);
  border-radius:var(--radius-sm);
  padding:10px;
  text-align:center;
}
.nfa-cell__label {
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.05em;
  color:var(--color-text-dim);text-transform:uppercase;
}
.nfa-cell__value {
  font-family:var(--font-mono);font-size:1.05rem;font-weight:700;
  color:var(--color-primary);margin-top:4px;
}

.nfa-bars-viz { background:#020308; }

@media (max-width:640px) {
  .nfa-cells { grid-template-columns:1fr 1fr; }
  .nfa-controls { width:100%; }
}
