/* Shared record fixes apply to the public and licensed compositions. */
.solicitation-record-history-list { display: grid; gap: 16px; margin: 14px 0 0; padding: 0; list-style: none; }
.solicitation-record-history-list li { display: grid; gap: 8px; line-height: 1.6; overflow-wrap: anywhere; }
.solicitation-record-history-list time { color: #596f6c; }
.solicitation-record-history-list strong { color: #315855; }
.solicitation-record-history-list p { margin: 0; }
.opportunity-column-header { position: static; top: auto; z-index: auto; backdrop-filter: none; }
.opportunities-page .opportunity-identity h2 a { overflow-wrap: anywhere; }
.solicitation-intelligence-header h1 { overflow-wrap: anywhere; }
.solicitation-response-section { padding: 24px 25px 26px; border: 1px solid var(--solicitation-line); border-radius: 8px; background: var(--solicitation-paper); box-shadow: rgba(29,61,58,.043) 0 10px 30px; }
.solicitation-response-section h2 { margin: 0 0 18px; color: #1a746d; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.solicitation-response-section p { color: #405f5d; font-size: .9375rem; line-height: 1.75; }
.solicitation-response-section .solicitation-header-source-link { margin-bottom: 12px; }
.solicitation-public-activity { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px; margin-top: 20px; }
.solicitation-public-activity.solicitation-agency-only { grid-template-columns: 1fr; }
.solicitation-public-activity .solicitation-contact-grid { grid-template-columns: 1fr; margin: 0; }
.solicitation-agency-card { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 19px; border: 1px solid #dce5e2; border-radius: 6px; background: #fbfdfc; }
.solicitation-agency-card > small { color: #54716d; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.solicitation-agency-card > strong { color: #214645; font-size: .94rem; }
.solicitation-agency-card > a { min-height: 24px; font-size: 12px; font-weight: 700; line-height: 1.5; }
.solicitation-agency-records { display: grid; gap: 12px; margin: 8px 0; padding: 0; list-style: none; }
.solicitation-agency-records li { display: grid; gap: 8px; border-top: 1px solid #dce5e2; padding-top: 12px; }
.solicitation-agency-records a { min-height: 24px; font-size: 14px; font-weight: 700; line-height: 1.5; }
.solicitation-agency-status { justify-self: start; max-width: 100%; padding: 3px 8px; border: 1px solid #c5ddd6; border-radius: 999px; background: #eaf4f1; color: #27655f; font-size: 12px; font-weight: 700; line-height: 1.4; }
.solicitation-agency-status.is-response_ended, .solicitation-agency-status.is-closed { border-color: #d8dfdc; background: #f1f2f0; color: #4c605b; }
.solicitation-agency-status.is-awarded { border-color: #d1dfc9; background: #eef5e9; color: #3b633a; }
.solicitation-agency-status.is-cancelled { border-color: #ead1c8; background: #f9ece8; color: #884732; }
.solicitation-contacts-section a { color: #096d82; text-decoration: none; overflow-wrap: anywhere; }
.solicitation-contacts-section a:hover, .solicitation-contacts-section a:focus-visible { text-decoration: underline; }
.solicitation-contact-grid .solicitation-contact-profile { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; min-height: 44px; color: #096d82; font-weight: 750; }
.solicitation-contact-profile img { width: 15px; height: 15px; }
.solicitation-contact-profile span { color: inherit; }
.solicitation-contact-profile + small { font-size: 12px; font-weight: 400; letter-spacing: normal; text-transform: none; }
.marketing-header .marketing-button-primary { color: #fff; }
@media (min-width: 681px) {
  .opportunities-page .market-results-toolbar { justify-content: space-between; align-items: center; }
}
@media (max-width: 680px) {
  .solicitation-public-activity { grid-template-columns: 1fr; }
  .solicitation-response-section { order: 2; width: 100%; min-width: 0; padding: 21px 19px 23px; }
}
@media (max-width: 620px) {
  .opportunities-page .market-search { grid-template-columns: 32px minmax(0,1fr) auto; }
  .opportunities-page .market-search input[type="submit"] { display: block; min-width: 64px; min-height: 38px; padding-inline: 10px; }
}

.market-empty-reset { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: #096d82; font-weight: 750; text-decoration: none; }
.market-empty-reset:hover, .market-empty-reset:focus-visible { text-decoration: underline; }

/* Anchor the filter popover to the entire toolbar, including the sort control. */
.opportunities-page .market-toolbar-actions { position: relative; }
.opportunities-page .market-filter-disclosure { position: static; }
.opportunities-page .market-filter-panel { right: 0; left: auto; }
@media (max-width: 620px) {
  .opportunities-page .market-filter-panel { width: 100%; }
  /* Native select option widths must not enlarge the panel's containing block. */
  .opportunities-page .market-results-toolbar { grid-template-columns: minmax(0, 1fr); min-width: 0; }
  .opportunities-page .market-toolbar-actions { min-width: 0; width: 100%; }
  .opportunities-page .market-filter-disclosure { flex: 0 0 auto; }
  .opportunities-page .market-sort-form { flex: 1 1 0; min-width: 0; }
  .opportunities-page .market-sort-form select { width: 100%; max-width: 100%; }
}
@media (max-width: 1050px) {
  .opportunities-page .opportunity-identity > .market-row-label { grid-column: 1 / -1; }
}
.market-empty h1 { font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }

/* Keep the closing invitation in the record grid so gutters and section spacing agree. */
.solicitation-intelligence .solicitation-intelligence-main--owner-preview { row-gap: 18px; }
@media (max-width: 760px) {
  .solicitation-intelligence .solicitation-intelligence-main--owner-preview { row-gap: 14px; }
}
/* The closing owner invitation follows the selected agency-card reference. */
.solicitation-agency-card > .solicitation-agency-name { font-size: .94rem; }
.solicitation-agency-name a { font-size: inherit; }
.solicitation-owner-invitation { grid-column: 1 / -1; order: 10; width: 100%; min-width: 0; display: block; margin: 0; padding: 0; border: 1px solid #cee5e8; border-radius: 10px; background: #f1f9fa; box-shadow: inset 0 0 38px #fff9; }
.solicitation-owner-invitation-link { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(260px, 1fr) minmax(235px, .85fr); align-items: center; gap: 18px; width: 100%; min-width: 0; padding: 18px 24px; border-radius: inherit; color: inherit; text-decoration: none; }
.solicitation-intelligence .solicitation-owner-invitation-link:is(:link, :visited, :hover, :focus-visible) { color: inherit; font-weight: inherit; text-decoration: none; }
.solicitation-owner-kicker { margin: 0 0 10px; color: #46676d; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.solicitation-owner-invitation h2 { margin: 0 0 10px; color: #173a43; font-family: Georgia, serif; font-size: 23px; font-weight: 700; line-height: 1.2; }
.solicitation-owner-invitation-copy > p:not(.solicitation-owner-kicker) { margin: 0; max-width: 520px; color: #658087; font-size: 14px; line-height: 1.5; }
.solicitation-owner-features { display: flex; flex-wrap: wrap; gap: 12px 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.solicitation-owner-features li { display: inline-flex; align-items: center; gap: 7px; color: #365362; font-size: 11px; font-weight: 700; white-space: nowrap; }
.solicitation-owner-icon-tile { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #dde8eb; border-radius: 10px; background: #fff; box-shadow: 0 1px 3px #21464509; }
.solicitation-owner-icon-tile img, .solicitation-owner-card-icon img { width: 21px; height: 21px; filter: invert(37%) sepia(21%) saturate(1436%) hue-rotate(150deg) brightness(90%) contrast(88%); }
.solicitation-owner-preview-cards { position: relative; min-width: 0; aspect-ratio: 900 / 520; }
.solicitation-owner-card-art { display: block; width: 100%; height: 100%; object-fit: contain; }
.solicitation-owner-preview-card { position: absolute; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; padding: 6px; color: #365362; text-decoration: none; }
.solicitation-owner-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-bottom: 2px; border-radius: 6px; background: #e0f2ee; }
.solicitation-owner-preview-card > strong { color: #214c54; font-size: 21px; font-weight: 750; line-height: 1.1; }
.solicitation-owner-preview-card > span:not(.solicitation-owner-card-icon) { color: #365362; font-size: 12px; font-weight: 500; line-height: 1.35; }
.solicitation-owner-preview-card > small { font-size: 11px; font-weight: 700; color: #58767b; line-height: 1.3; }
.solicitation-owner-preview-notices { padding: 4px 2px; left: 15%; top: 27%; width: 27%; height: 45%; }
.solicitation-owner-preview-projects { left: 43%; top: 20%; width: 27%; height: 60%; z-index: 1; justify-content: space-between; padding: 12px 8px; }
.solicitation-owner-preview-projects > small { margin-top: 4px; }
.solicitation-owner-preview-sources { left: 74%; top: 23%; width: 18%; height: 43%; transform: perspective(500px) rotateY(-24deg) skewY(-8deg); transform-origin: left center; padding: 6px 2px; }
.solicitation-owner-preview-sources > span:not(.solicitation-owner-card-icon) { font-size: 12px; }
.solicitation-owner-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; width: 100%; padding: 12px 16px; border: 1px solid #075057; border-radius: 8px; background: #075057; color: #fff; font-size: 14px; font-weight: 750; line-height: 1.4; text-decoration: none; }
.solicitation-owner-button img { flex: 0 0 20px; width: 20px; height: 20px; filter: brightness(0) invert(1); }
.solicitation-owner-invitation-link:is(:hover, :focus-visible) .solicitation-owner-button { background: #063e44; color: #fff; }
.solicitation-owner-invitation-link:is(:hover, :focus-visible) .solicitation-owner-button span { text-decoration: underline; text-underline-offset: 3px; }
.solicitation-owner-invitation a:focus-visible { outline: 3px solid #17625e; outline-offset: 4px; }
.solicitation-owner-invitation-action > p { margin: 11px 0 0; color: #658087; font-size: 13px; line-height: 1.55; }
.solicitation-owner-preview-cards.is-notices-only { display: flex; align-items: center; gap: 12px; aspect-ratio: auto; }
.is-notices-only .solicitation-owner-card-art { display: none; }
.is-notices-only .solicitation-owner-preview-card { position: static; flex: 1; min-height: 130px; padding: 16px; border: 1px solid #dde8eb; border-radius: 9px; background: #fff; transform: none; }
@media (max-width: 1100px) {
  .solicitation-owner-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .solicitation-owner-invitation-link { grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr); }
  .solicitation-owner-preview-notices { gap: 2px; }
  .solicitation-owner-preview-notices > strong { font-size: 18px; }
  .solicitation-owner-preview-notices > span:not(.solicitation-owner-card-icon) { font-size: 11px; }
  .solicitation-owner-preview-card .solicitation-owner-card-icon { width: 22px; height: 22px; }
  .solicitation-owner-card-icon img { width: 18px; height: 18px; }
  .solicitation-owner-preview-sources { gap: 2px; padding-block: 4px; }
  .solicitation-owner-preview-sources > span:not(.solicitation-owner-card-icon) { font-size: 11px; }
  .solicitation-owner-invitation-action { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; }
  .solicitation-owner-button { width: auto; flex: 0 0 auto; }
  .solicitation-owner-invitation-action > p { max-width: 380px; margin: 0; }
}
@media (max-width: 680px) {
  .solicitation-owner-invitation-link { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 18px; }
  .solicitation-owner-invitation h2 { font-size: 24px; }
  .solicitation-owner-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; }
  .solicitation-owner-features li { gap: 7px; font-size: 11px; white-space: normal; }
  .solicitation-owner-preview-cards { width: min(100%, 350px); justify-self: center; }
  .solicitation-owner-invitation-action { display: block; }
  .solicitation-owner-button { width: 100%; }
  .solicitation-owner-invitation-action > p { margin-top: 12px; }
}
/* Application record-link rules must not recolor the dark invitation button. */
.solicitation-intelligence .solicitation-owner-button,
.solicitation-intelligence .solicitation-owner-invitation-link:is(:hover, :focus-visible) .solicitation-owner-button,
.solicitation-intelligence .solicitation-owner-button > span { color: #fff; }
