/* Manual sales: request page + Add manual sale (admin redesign phase 5,
   plan §11 #24, decisions 140–142; core/_manual_sales_request_body.html,
   core/_manual_sales_add_body.html). Facts and money lines reuse order.css
   (.lg-ord__facts) and event-dash.css (.lg-rev). Role tokens only. */

/* Receipt: a thumbnail (image) or a document icon that opens it in a new tab. */
.lg-ms__receipt {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--primary);
  text-decoration: none;
}
.lg-ms__receipt:hover span { text-decoration: underline; text-underline-offset: 0.2em; }
.lg-ms__receipt:focus-visible { outline: var(--focus-ring) solid var(--focus); outline-offset: 2px; border-radius: var(--radius-control); }
.lg-ms__receipt-img {
  inline-size: 6rem;
  block-size: 6rem;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  background: var(--neutral-tint);
}
.lg-ms__receipt-doc {
  display: inline-grid;
  place-items: center;
  inline-size: 3rem;
  block-size: 3rem;
  border-radius: var(--radius-control);
  background: var(--primary-tint);
  color: var(--primary-ink);
}

/* Decision: the approver's note as written (it went to the buyer). */
.lg-ms__note-label { margin: var(--space-3) 0 0; color: var(--text-muted); font-size: var(--size-label); }
.lg-ms__note { margin: var(--space-1) 0 0; white-space: pre-line; overflow-wrap: anywhere; }

.lg-ms__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Add manual sale: one column (core §5), groups under a card title. */
.lg-ms__form { max-inline-size: 44rem; }
.lg-ms__group { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.lg-ms__group > legend { padding: 0; margin-bottom: var(--space-1); }
.lg-ms__tickets { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
/* Ticket types side by side where there is room (some events have 25+). */
.lg-ms__tiers { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.lg-ms__tiers .lg-field__label { overflow-wrap: anywhere; }
/* One registration category per <details> (decision 109 pattern, no JS). */
.lg-ms__cat { border-top: 1px solid var(--border); padding-block: var(--space-3); }
.lg-ms__cat:last-of-type { border-bottom: 1px solid var(--border); }
/* Tight to its ticket types (owner 2026-10-06): no forced height on wide
   screens; phones keep the 44px touch target (core §5). */
.lg-ms__cat-head {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  list-style: none;
  cursor: pointer;
  touch-action: manipulation;
  font-weight: 600;
}
.lg-ms__cat-head::-webkit-details-marker { display: none; }
/* Same chevron as the dashboard's tier categories (chart.css .lg-tiers__cat). */
.lg-ms__cat-name { display: inline-flex; align-items: center; gap: var(--space-1); }
.lg-ms__cat-name svg { flex: none; color: var(--text-muted); transition: transform var(--dur-fast) var(--ease); }
.lg-ms__cat[open] .lg-ms__cat-name svg { transform: rotate(90deg); }
.lg-ms__cat-head:hover .lg-ms__cat-name { color: var(--primary); }
@media (prefers-reduced-motion: reduce) { .lg-ms__cat-name svg { transition: none; } }
.lg-ms__cat-head:focus-visible { outline: var(--focus-ring) solid var(--focus); outline-offset: 2px; border-radius: var(--radius-pill); }
.lg-ms__cat-count { color: var(--text-muted); font-size: var(--size-caption); font-weight: 400; }
.lg-ms__cat[open] > .lg-ms__cat-head { margin-bottom: var(--space-2); }
.lg-ms__total { margin: var(--space-3) 0 0; }
.lg-ms__total strong { white-space: nowrap; }

@media (max-width: 39.99em) {
  .lg-ms__actions > * { flex: 1 1 100%; }
  .lg-ms__cat-head { min-block-size: var(--touch-target); }
  .lg-ms__cat[open] > .lg-ms__cat-head { margin-bottom: 0; }   /* the 44px row already leaves room */
}
