/* Field allocation pages, SA + TA (core/field/*, Phase 7, decision 280).
   Same form shape as Add manual sale (manual-sales.css). Role tokens only. */

.lg-al__form { max-inline-size: 44rem; }
.lg-al__tickets { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
/* Ticket types side by side where there is room. */
.lg-al__tiers { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.lg-al__tiers .lg-field__label { overflow-wrap: anywhere; }
.lg-al__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* The pool being pulled from: label / value pairs. */
.lg-al__facts {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: var(--space-3);
  padding: var(--space-4);
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  background: var(--page);
}
.lg-al__facts dt { font-size: var(--size-caption); color: var(--text-muted); }
.lg-al__facts dd { margin: 0; font-size: var(--size-card-title); font-weight: 600; }

/* Activity tab: filters with the CSV download at the end of the row. */
.lg-al__bar { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-3); }
.lg-al__bar > :first-child { flex: 1 1 auto; min-inline-size: 0; }

@media (max-width: 39.99em) {
  .lg-al__actions > * { flex: 1 1 100%; }
  /* Phones (decision 294): Filters left, the download an icon button on the
     right of the same row; its label stays for screen readers. */
  .lg-al__bar { flex-wrap: nowrap; align-items: center; gap: var(--space-2); }
  .lg-al__bar > .lg-filters { margin-bottom: 0; }
  .lg-al__bar > .lg-btn { flex: none; inline-size: 2.5rem; padding: 0; justify-content: center; }
  .lg-al__bar > .lg-btn .lg-btn__text {
    position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
}
