/* app/static/app.css */
body { font-size: 0.95rem; }

/* A sale buyer/seller row whose typed value resolved to a real Party (saleparty.js sets this). */
.party-linked input[type="text"] { border-color: var(--bs-success); }

/* Custom typeahead dropdown rendered below a field as a clean menu instead of the inconsistent
   native <datalist> dropdown. Shared by the sale buyer/seller picker (saleparty.js, .saleparty-*)
   and the generic typeahead (typeahead.js, .typeahead-*, e.g. vendor categories). */
[data-party-entry], .typeahead-row { position: relative; }
.saleparty-menu, .typeahead-menu {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 1050;
  max-height: 14rem; overflow-y: auto; margin-top: 0.125rem;
  background: var(--bs-body-bg, #fff);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}
.saleparty-menu[hidden], .typeahead-menu[hidden] { display: none; }
.saleparty-option, .typeahead-option {
  display: block; width: 100%; text-align: left;
  padding: 0.375rem 0.75rem; border: 0; background: none; cursor: pointer;
}
.saleparty-option:hover, .saleparty-option.active,
.typeahead-option:hover, .typeahead-option.active { background: var(--bs-primary-bg-subtle, #e7f1ff); }
