/* Browse RFPs and Find vendors pages: page frame around the board and directory components. Ink on warm white, no rust of its own:
   the one rust action in view is the empty state's button. */
.board-page { background: var(--color-surface, #F7F4EF); color: var(--color-text, #2B2623); font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); font-size: 16px; line-height: 1.5; }
.board-page *, .board-page *::before, .board-page *::after { box-sizing: border-box; }
.board-page__inner { max-width: 1200px; margin: 0 auto; padding: var(--space-7, 48px) var(--space-5, 24px) var(--space-8, 64px); }
.board-page__title { margin: 0 0 var(--space-2, 8px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 36px; font-weight: 600; line-height: 1.2; }
.board-page__lede { margin: 0 0 var(--space-5, 24px); max-width: 60ch; font-size: 18px; }
.board-page__list { list-style: none; margin: 0; padding: 0; }
.board-page__note { margin: var(--space-4, 16px) 0 0; max-width: 70ch; font-size: 14px; color: var(--color-text-muted, #5E5853); }
.board-page__note[hidden] { display: none; }
.board-page__error { margin: var(--space-4, 16px) 0; padding: var(--space-4, 16px); border: 1px solid var(--color-text, #2B2623); border-radius: 4px; background: var(--color-surface-raised, #FFFFFF); font-weight: 600; }
#results { margin-top: var(--space-5, 24px); }
@media (max-width: 760px) { .board-page__inner { padding: var(--space-6, 32px) var(--space-4, 16px) var(--space-7, 48px); } .board-page__title { font-size: 30px; } }
/* With a sign-up on the page, the sign-up's button is the one rust action: the empty state's button is neutral */
.has-notify .empty-state__action { background: transparent; border-color: var(--color-text, #2B2623); color: var(--color-text, #2B2623); }
.has-notify .empty-state__action:hover { background: var(--color-surface-raised, #FFFFFF); border-color: var(--color-text, #2B2623); }

/* Browse RFPs and Find vendors (the pages with the shared filter component, marked board-page--tight): tighter filter spacing. The groups size to their content (no stretched columns), the checkbox sits closer to its label, and the gaps
   between the controls, the groups and the count are smaller. Every row is still at least 44px tall, every checkbox still has its 44 x 44 hit area, and the
   focus ring rules in rfp-filters.css are untouched. A row cannot be shorter than its 44px target, so the checkboxes themselves stay on a 44px pitch; the savings come from the space around them. */
.board-page--tight .rfp-filters__bar { gap: var(--space-3, 12px); margin-bottom: var(--space-2, 8px); }
.board-page--tight .rfp-filters__panel { margin-bottom: var(--space-1, 4px); }
.board-page--tight .rfp-filters__panel-body { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-1, 4px) var(--space-6, 32px); }
.board-page--tight .rfp-filters__group { flex: 0 1 auto; max-width: 100%; }
.board-page--tight .rfp-filters__legend { margin-bottom: 0; }
.board-page--tight .rfp-filters__check { gap: var(--space-1, 4px); }
.board-page--tight .rfp-filters__count { margin: var(--space-2, 8px) 0 var(--space-1, 4px); }
.board-page--tight #results { margin-top: var(--space-3, 12px); }
@media (max-width: 760px) {
  .board-page--tight .rfp-filters__panel-body { display: grid; grid-template-columns: 1fr; align-content: start; gap: var(--space-2, 8px); padding: var(--space-3, 12px) var(--space-4, 16px); }
  .board-page--tight .rfp-filters__bar { margin-bottom: var(--space-1, 4px); }
}
