/* App-specific extras on top of admin.css tokens. */
.bootMsg { padding: 40px; color: var(--muted); }
.searchInput {
  flex: 1; border: 0; background: transparent; color: var(--text);
  font: inherit; outline: none; min-width: 0;
}
.searchInput::placeholder { color: var(--faint); }
.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; }
