/* Lucide icons — shared stroke set for web (matches iOS + Android). */

i.fa,
i.fas,
i.far,
i.fal,
i.fat,
i.fad,
i.fab,
i.bv-icon,
i[data-lucide] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  vertical-align: -0.125em;
  speak: never;
}

i.fa svg,
i.fas svg,
i.far svg,
i.fab svg,
i.bv-icon svg,
i[data-lucide] svg,
.lucide {
  width: 1em;
  height: 1em;
  display: block;
  stroke: currentColor;
  fill: none;
  flex-shrink: 0;
}

i.fab svg {
  fill: currentColor;
  stroke: none;
}

i.fa svg [fill]:not([fill="none"]),
i.fas svg [fill]:not([fill="none"]),
i.far svg [fill]:not([fill="none"]),
i.bv-icon svg [fill]:not([fill="none"]),
i[data-lucide] svg [fill]:not([fill="none"]),
.lucide [fill]:not([fill="none"]) {
  fill: currentColor;
  stroke: none;
}

i.fab svg [stroke] {
  stroke: currentColor;
  fill: none;
}

.fa-fw {
  width: 1.25em;
  text-align: center;
}

.fa-spin svg,
.fa-pulse svg,
.bv-icon.fa-spin svg,
i.fa-spin svg {
  animation: bv-lucide-spin 1s linear infinite;
}

@keyframes bv-lucide-spin {
  to { transform: rotate(360deg); }
}

.icon-btn i,
.icon-btn svg,
.icon-btn .lucide {
  width: 14px;
  height: 14px;
  font-size: var(--font-size-sm, 14px);
}

/* Empty-state icons are often `display: block`. Lucide hosts are 1em wide,
   so a block box sits under the first column instead of centering. */
.empty-state > i.fa,
.empty-state > i.fas,
.empty-state > i.far,
.empty-state > i.bv-icon,
.empty-state > i[data-lucide] {
  margin-inline: auto;
}
