/* App-specific extras on top of admin.css tokens. */
.bootMsg { padding: 40px; color: var(--muted); }
.searchInput {
  flex: 1; border: 0; background: transparent; color: hsl(var(--foreground));
  font: inherit; outline: none; min-width: 0;
}
.searchInput::placeholder { color: hsl(var(--muted-fg)); }
.envDev { color: var(--amber); background: var(--warn-bg); border-color: var(--warn-bd); }
.buildTag {
  display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--amber); border: 1px solid var(--warn-bd);
  background: var(--warn-bg); border-radius: 4px; padding: 0 5px; margin-right: 4px;
}
.authPage { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.authCard { width: min(420px, 100%); display: flex; flex-direction: column; gap: 10px; }
.authCard h1 { margin: 0; font-size: 20px; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filters .input.q { width: auto; min-width: 240px; }
button.btn { font: inherit; cursor: pointer; }
button.btn:disabled { opacity: .45; cursor: not-allowed; }
a.btn { text-decoration: none; }
.toast { pointer-events: none; }
.legend i { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
svg.chart, svg.spark { width: 100%; display: block; }

.siteLog { display: flex; flex-direction: column; gap: 12px; }
.siteTurn {
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 14px 16px 12px;
  box-shadow: var(--shadow-sm);
}
.siteTurnHead { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.siteSaid { margin: 0 0 12px; font-size: 15px; line-height: 1.45; }
.siteAudio, .siteActs { margin-top: 8px; }
.siteAudio .lbl, .siteActs .lbl {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: hsl(var(--muted-fg)); margin-bottom: 6px;
}
.siteAudio audio { width: min(420px, 100%); height: 36px; }
.siteWhen {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; color: hsl(var(--muted-fg));
}
.siteWhen .input { color: hsl(var(--foreground)); }
.siteEmpty { display: flex; flex-direction: column; gap: 4px; }
.siteEmpty p { margin: 0; }
.siteAct {
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px dashed hsl(var(--primary) / 0.45);
  background: hsl(var(--accent));
  border-radius: 999px;
  padding: 4px 8px 4px 10px;
  font-size: 13px;
}
