/* Appliance Hum Detector — tool-specific overrides only (BEM prefix: ahd).
   Mic tool: live low-frequency spectrum, 50/60 Hz family detection, heuristic source guess. */

/* honest caveat note in the hero */
.ahd-warn-note {
  max-width: 820px;
  margin: var(--space-md) auto 0;
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-warning);
  border-radius: var(--radius-sm);
  background: rgba(255, 179, 0, 0.05);
  color: var(--color-text-dim);
  font-size: 0.9rem;
  line-height: 1.55;
  text-align: left;
}
.ahd-warn-note strong { color: var(--color-text); }

/* controls row */
.ahd-controls { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: flex-end; }
.ahd-field { flex: 1 1 220px; min-width: 180px; }
.ahd-select {
  width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
  font-size: 0.95rem;
}
.ahd-select:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 2px rgba(0, 255, 65, 0.18); }
.ahd-buttons { display: flex; gap: var(--space-sm); flex: 0 0 auto; }

.ahd-consent { margin-top: var(--space-sm); font-size: 0.8rem; color: var(--color-text-muted); }

.ahd-status {
  margin-top: var(--space-md);
  padding: 8px 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(0, 255, 65, 0.02);
  color: var(--color-text-dim);
  font-family: var(--font-mono);
  font-size: 0.85rem;
}
.ahd-status--live { border-left: 4px solid var(--color-primary); color: var(--color-text); }
.ahd-status--error { border-left: 4px solid var(--color-error); color: #ffb4b4; }

/* canvas */
.ahd-canvas {
  display: block;
  width: 100%;
  height: 300px;
  margin-top: var(--space-md);
  border-radius: var(--radius-sm);
  background: #060a08;
  border: 1px solid var(--color-border);
}

/* verdict / level summary */
.ahd-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-md);
}
@media (max-width: 760px) { .ahd-summary { grid-template-columns: 1fr; } }
.ahd-card {
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(0, 255, 65, 0.02);
}
.ahd-card__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-dim); }
.ahd-verdict {
  margin-top: 4px;
  font-family: var(--font-display, 'Orbitron', sans-serif);
  font-size: 1.45rem;
  color: var(--color-text-dim);
}
.ahd-verdict--on { color: var(--color-warning); }
.ahd-card__sub { margin-top: 4px; font-size: 0.85rem; color: var(--color-text-dim); line-height: 1.45; }
.ahd-card__val { margin-top: 4px; font-family: var(--font-mono); font-size: 1.05rem; color: var(--color-primary); }

/* harmonic family grid */
.ahd-section-title {
  font-family: var(--font-display, 'Orbitron', sans-serif);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-secondary);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
}
.ahd-harm {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
@media (max-width: 760px) { .ahd-harm { grid-template-columns: repeat(2, 1fr); } }
.ahd-harm__empty {
  grid-column: 1 / -1;
  padding: var(--space-md);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text-dim);
  font-size: 0.85rem;
  text-align: center;
}
.ahd-harm__cell {
  padding: 10px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.015);
  text-align: center;
  opacity: 0.55;
}
.ahd-harm__cell--on { opacity: 1; border-color: rgba(255, 179, 0, 0.4); }
.ahd-harm__cell--strong { opacity: 1; border-color: rgba(255, 140, 40, 0.8); background: rgba(255, 140, 40, 0.08); }
.ahd-harm__f { font-family: var(--font-mono); font-size: 1.05rem; color: var(--color-text-bright); }
.ahd-harm__lbl { font-size: 0.7rem; color: var(--color-text-dim); text-transform: uppercase; letter-spacing: 0.04em; }
.ahd-harm__v { font-family: var(--font-mono); font-size: 0.9rem; color: var(--color-primary); margin-top: 4px; }
.ahd-harm__tag { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-text-muted); margin-top: 2px; }
.ahd-harm__cell--strong .ahd-harm__tag { color: #ff8c28; }

/* source attribution */
.ahd-src { display: flex; flex-direction: column; gap: var(--space-sm); }
.ahd-src__none {
  padding: var(--space-md);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text-dim);
  font-size: 0.85rem;
}
.ahd-src__card {
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(0, 255, 65, 0.02);
}
.ahd-src__card--top { border-left: 4px solid var(--color-primary); }
.ahd-src__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; justify-content: space-between; }
.ahd-src__title { font-family: var(--font-display, 'Orbitron', sans-serif); font-size: 0.95rem; color: var(--color-text-bright); }
.ahd-src__conf { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 2px 8px; border-radius: var(--radius-full); }
.ahd-src__conf--higher { color: var(--color-success); border: 1px solid rgba(0, 230, 118, 0.4); }
.ahd-src__conf--moderate { color: var(--color-warning); border: 1px solid rgba(255, 179, 0, 0.4); }
.ahd-src__conf--low { color: var(--color-text-muted); border: 1px solid var(--color-border); }
.ahd-src__why { margin-top: 6px; font-size: 0.88rem; color: var(--color-text-dim); line-height: 1.55; }

.ahd-fixes { margin-top: var(--space-md); }
.ahd-fixes__head { font-size: 0.85rem; color: var(--color-text); margin-bottom: 6px; }
.ahd-fixes__list { margin: 0; padding-left: 1.2rem; }
.ahd-fixes__list li { font-size: 0.86rem; color: var(--color-text-dim); line-height: 1.5; margin-bottom: 4px; }

/* heuristic caveat strip inside the panel */
.ahd-heur-note {
  margin-top: var(--space-md);
  padding: 8px 12px;
  border: 1px solid rgba(255, 179, 0, 0.35);
  border-left: 4px solid var(--color-warning);
  border-radius: var(--radius-sm);
  background: rgba(255, 179, 0, 0.05);
  color: #ffd9a0;
  font-size: 0.82rem;
  line-height: 1.5;
}

/* calibration block */
.ahd-cal {
  margin-top: var(--space-lg);
  padding: var(--space-md);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: rgba(0, 229, 255, 0.03);
}
.ahd-cal__row { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: flex-end; }
.ahd-cal__field { flex: 0 0 auto; }
.ahd-cal__num {
  width: 110px;
  margin-top: 6px;
  padding: 8px 10px;
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
}
.ahd-cal__num:focus { outline: none; border-color: var(--color-secondary); box-shadow: 0 0 0 2px rgba(0, 229, 255, 0.18); }
.ahd-cal__now { font-family: var(--font-mono); color: var(--color-primary); }
.ahd-cal__state { margin-top: var(--space-sm); font-size: 0.82rem; color: var(--color-text-dim); line-height: 1.5; }
.ahd-cal__state--ok { color: var(--color-success); }
.ahd-cal__state--warn { color: var(--color-warning); }

.ahd-live-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
