/* ============================================================
   Filter toolbar + form controls — identical appearance above every table.
   Reuses the existing .filter-bar; .ent-toolbar is the canonical class for the
   reusable data-table toolbar (search / filters / reset / export / refresh).
   ============================================================ */
.filter-bar,
.ent-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ent-space-3);
  align-items: flex-end;
  padding: var(--ent-space-3) var(--ent-space-4);
  margin-bottom: var(--ent-space-3);
  background: var(--ent-surface);
  border: 1px solid var(--ent-border);
  border-radius: var(--ent-radius);
  box-shadow: var(--ent-shadow-sm);
}
.filter-bar .form-label,
.ent-toolbar .form-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--ent-text-muted);
  margin-bottom: 2px;
}
.filter-bar .form-select,
.filter-bar .form-control,
.ent-toolbar .form-select,
.ent-toolbar .form-control { min-width: 150px; }

.ent-toolbar .ent-toolbar-search { flex: 1 1 240px; min-width: 200px; }
.ent-toolbar .ent-toolbar-actions { display: flex; gap: var(--ent-space-2); align-items: flex-end; }

/* Column-filter inputs inside the header row stay compact. */
.app-content table.table thead .form-control-sm,
.app-content table.table thead .form-select-sm { min-width: 0; font-weight: 400; }

/* ============================================================
   Asset Creation Wizard — stepper + sticky action footer.
   ============================================================ */
.wiz-stepper { gap: var(--ent-space-2); }
.wiz-step {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--ent-border);
  border-radius: 999px;
  background: var(--ent-surface);
  color: var(--ent-text-muted);
  font-size: 0.74rem;
}
.wiz-step .wiz-step-n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ent-border);
  color: var(--ent-text);
  font-size: 0.68rem;
  font-weight: 700;
}
.wiz-step.active {
  border-color: var(--ent-primary, #0d6efd);
  color: var(--ent-primary, #0d6efd);
  font-weight: 600;
}
.wiz-step.active .wiz-step-n { background: var(--ent-primary, #0d6efd); color: #fff; }
.wiz-step.done { color: #198754; border-color: #198754; }
.wiz-step.done .wiz-step-n { background: #198754; color: #fff; }
.wiz-step.done .wiz-step-n::after { content: "✓"; }
.wiz-step.done .wiz-step-n { font-size: 0; }
.wiz-step.done .wiz-step-n::after { font-size: 0.7rem; }

/* Sticky action buttons so Previous / Next / Save stay reachable on long steps. */
.wiz-footer {
  position: sticky;
  bottom: 0;
  background: var(--ent-surface);
  border: 1px solid var(--ent-border);
  border-radius: var(--ent-radius);
  box-shadow: var(--ent-shadow-sm);
  z-index: 5;
}
.wiz-unique { min-height: 1em; }
