/* /Features/Applicant/ApplicantDetail.razor.rz.scp.css */
/* Verbatim port of product-control-applicant.component.scss. */

/* The .container max-width that used to sit here now lives once in wwwroot/css/app.css.
   It was duplicated across five scoped sheets, and the three pages that never got a copy fell
   through to Bootstrap's wider default. */

.box[b-zj98nzxwva] {
  box-shadow: 0px 10px 40px 0px #00000026;
  padding: 10px 20px 10px 20px;
  border-radius: 12px;
  background-color: #fff;
}

.hr-one[b-zj98nzxwva] {
  width: 110px;
  border-width: 2px;
  opacity: 1;
}

.hr-two[b-zj98nzxwva] {
  width: 145px;
  border-width: 2px;
  opacity: 1;
}

/* A collapse floor for blank detail rows: a value that renders as an empty <p> has a
   zero-height line box, so without this the rows jitter. Rows that do carry a value are
   already 40px (24px line + 16px margin), so this never clips anything. */
.select-area .row[b-zj98nzxwva] {
  min-height: 35px;
}

.no-underline[b-zj98nzxwva] {
  text-decoration: none;
  color: var(--mdcgov-color-text-link, #295D92);
}

.no-underline:hover[b-zj98nzxwva] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

@media only screen and (max-width: 600px) {
  .select-area p.fw-semibold.mb-0[b-zj98nzxwva] {
    margin-bottom: 10px !important;
  }
}
/* /Features/Applicant/ApplicantProductTable.razor.rz.scp.css */
/* Verbatim port of applicant-product-table.component.scss, plus the .link-button rules that
   make a <button> render exactly like the <a> it replaced (the originals had a click handler
   and no href, so they were unreachable by keyboard). */

.results-table[b-qp06rbhcqw] {
  width: 100%;
  border-collapse: collapse;
  margin-top: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  table-layout: fixed;
  background-color: #fff;
}

.results-table th[b-qp06rbhcqw],
.results-table td[b-qp06rbhcqw] {
  border: 1px solid #ddd;
  text-align: left;
  padding: 0.5rem;
  /* County table size: <mdcgov-table> renders at 0.875rem. Was 0.75rem. */
  font-size: var(--mdcgov-font-size-sm);
  word-break: break-word;
  white-space: normal;
  overflow-wrap: anywhere;
}

.results-table th[b-qp06rbhcqw] {
  background-color: var(--mdcgov-color-brand-primary, #295D92);
  color: #fff;
  font-weight: 600;
}

.results-table td[b-qp06rbhcqw] {
  font-size: var(--mdcgov-font-size-sm);
}

.results-table tbody tr:nth-child(even)[b-qp06rbhcqw] {
  background-color: #f4f4f4;
}

.results-table td[b-qp06rbhcqw]::before {
  content: attr(data-label);
  display: none;
}

.results-table td.empty-template[b-qp06rbhcqw] {
  text-align: center;
  font-weight: 600;
}

.results-table td.empty-template[b-qp06rbhcqw]::before {
  content: none;
}

.width-100[b-qp06rbhcqw] {
  width: clamp(70px, 8vw, 120px);
}

.width-200[b-qp06rbhcqw] {
  width: clamp(120px, 18vw, 220px);
}

.width-500[b-qp06rbhcqw] {
  width: clamp(180px, 36vw, 520px);
}

.results-table .view-icon[b-qp06rbhcqw] {
  cursor: pointer;
}

.results-table .view-icon a[b-qp06rbhcqw],
.results-table .view-icon .link-button[b-qp06rbhcqw] {
  text-decoration: underline;
  color: var(--mdcgov-color-text-link, #295D92);
}

.results-table .view-icon a:hover[b-qp06rbhcqw],
.results-table .view-icon .link-button:hover[b-qp06rbhcqw] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.link-button[b-qp06rbhcqw] {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--mdcgov-color-text-link, #295D92);
}

@media (max-width: 1200px) {
  .results-table th[b-qp06rbhcqw],
  .results-table td[b-qp06rbhcqw] {
    /* Tighter padding at this breakpoint, but not smaller than the county size. */
    font-size: var(--mdcgov-font-size-sm);
    padding: 0.4rem;
  }

  .results-table [class*='width-'][b-qp06rbhcqw] {
    width: auto;
  }
}

@media (max-width: 768px) {
  .results-table[b-qp06rbhcqw],
  .results-table thead[b-qp06rbhcqw],
  .results-table tbody[b-qp06rbhcqw],
  .results-table th[b-qp06rbhcqw],
  .results-table td[b-qp06rbhcqw],
  .results-table tr[b-qp06rbhcqw] {
    display: block;
    width: 100%;
  }

  .results-table thead[b-qp06rbhcqw] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .results-table tbody tr[b-qp06rbhcqw] {
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  }

  .results-table tbody tr:nth-child(even)[b-qp06rbhcqw] {
    background-color: #fff;
  }

  .results-table td[b-qp06rbhcqw] {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 0.9rem 0.75rem;
    font-size: var(--mdcgov-font-size-sm);
  }

  .results-table td:last-child[b-qp06rbhcqw] {
    border-bottom: none;
  }

  .results-table td[b-qp06rbhcqw]::before {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: #495057;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
}
/* /Features/BasicSearch/BasicSearchResult.razor.rz.scp.css */
/* Port of basic-search-result-page.component.scss. The SCSS nesting is flattened to plain CSS;
   every selector, value and breakpoint is unchanged. The .link-button block is the addition that
   makes a <button> render exactly like the <a> it replaced. */

.search-result-container .result-header[b-8ukypibw29] {
  background-color: #f8f9fa;
  border-left: 4px solid var(--mdcgov-color-brand-primary, #295D92);
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 0.25rem;
}

.search-result-container .result-header .noa-title[b-8ukypibw29] {
  color: var(--mdcgov-color-brand-primary, #295D92);
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.search-result-container .result-header .search-actions .btn[b-8ukypibw29] {
  margin-right: 0.5rem;
}

.search-result-container .result-header .search-actions .btn:last-child[b-8ukypibw29] {
  margin-right: 0;
}

/* Matched to the .box on Home, SearchResults, ProductDetailsPage and ApplicantDetail. This one had
   drifted: a 0.375rem radius (Bootstrap's factory $border-radius), a visible border and a much
   fainter shadow, so the same named card read as a different component on this one route. */
.box[b-8ukypibw29] {
  box-shadow: 0px 10px 40px 0px #00000026;
  padding: 10px 20px 10px 20px;
  border-radius: 12px;
  background-color: #fff;
}

.select-area[b-8ukypibw29] {
  background-color: #f8f9fa;
}

.select-area .row[b-8ukypibw29] {
  margin-bottom: 0.75rem;
}

.select-area .row:last-child[b-8ukypibw29] {
  margin-bottom: 0;
}

.select-area p[b-8ukypibw29] {
  margin-bottom: 0.25rem;
}

.select-area p.fw-semibold[b-8ukypibw29] {
  color: #495057;
}

.select-area .view-icon a[b-8ukypibw29],
.select-area .view-icon .link-button[b-8ukypibw29] {
  color: var(--mdcgov-color-text-link, #295D92);
  text-decoration: none;
}

.select-area .view-icon a:hover[b-8ukypibw29],
.select-area .view-icon .link-button:hover[b-8ukypibw29] {
  text-decoration: underline;
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.select-area .view-icon a .fas[b-8ukypibw29],
.select-area .view-icon .link-button .fas[b-8ukypibw29] {
  transition: color 0.2s ease;
}

.select-area .view-icon span[b-8ukypibw29] {
  display: inline-flex;
  align-items: center;
}

.link-button[b-8ukypibw29] {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.error-container[b-8ukypibw29] {
  background-color: var(--mdcgov-color-semantic-error-bg, #FFEBEB);
  border: 1px solid var(--mdcgov-color-semantic-error, #9C201C);
  color: var(--mdcgov-color-semantic-error, #9C201C);
  padding: 1rem;
  border-radius: 0.25rem;
  margin-bottom: 1rem;
}

.error-container .error-icon[b-8ukypibw29] {
  margin-right: 0.5rem;
}

.loading-container[b-8ukypibw29] {
  text-align: center;
  padding: 3rem 1rem;
}

.loading-container .spinner-border[b-8ukypibw29] {
  color: var(--mdcgov-color-brand-primary, #295D92);
}

.loading-container p[b-8ukypibw29] {
  margin-top: 1rem;
  color: #6c757d;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .search-result-container .result-header .search-actions[b-8ukypibw29] {
    margin-top: 1rem;
  }

  .search-result-container .result-header .search-actions .btn[b-8ukypibw29] {
    width: 100%;
    margin-bottom: 0.5rem;
    margin-right: 0;
  }

  .select-area .row .col-lg-5[b-8ukypibw29],
  .select-area .row .col-lg-7[b-8ukypibw29] {
    margin-bottom: 0.5rem;
  }
}
/* /Features/Details/ProductDetailsPage.razor.rz.scp.css */
/* Verbatim port of product-details.component.scss, plus the .link-button rules that let a
   <button> render exactly like the <a> it replaced. */

/* The .container max-width that used to sit here now lives once in wwwroot/css/app.css.
   It was duplicated across five scoped sheets, and the three pages that never got a copy fell
   through to Bootstrap's wider default. */

.box[b-41q2bekh7z] {
  box-shadow: 0px 10px 40px 0px #00000026;
  padding: 10px 20px 10px 20px;
  border-radius: 12px;
  background-color: #fff;
}

.hr-one[b-41q2bekh7z] {
  width: 110px;
  border-width: 2px;
  opacity: 1;
}

.hr-two[b-41q2bekh7z] {
  width: 145px;
  border-width: 2px;
  opacity: 1;
}

/* A collapse floor for blank detail rows: a value that renders as an empty <p> has a
   zero-height line box, so without this the rows jitter. Rows that do carry a value are
   already 40px (24px line + 16px margin), so this never clips anything. */
.select-area .row[b-41q2bekh7z] {
  min-height: 35px;
}

.no-underline[b-41q2bekh7z] {
  text-decoration: none;
  color: var(--mdcgov-color-text-link, #295D92);
}

.no-underline:hover[b-41q2bekh7z] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.view-icon[b-41q2bekh7z] {
  cursor: pointer;
}

.view-icon a[b-41q2bekh7z],
.view-icon .link-button[b-41q2bekh7z] {
  text-decoration: underline;
  color: var(--mdcgov-color-text-link, #295D92);
}

.view-icon a:hover[b-41q2bekh7z],
.view-icon .link-button:hover[b-41q2bekh7z] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.link-button[b-41q2bekh7z] {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--mdcgov-color-text-link, #295D92);
}

@media only screen and (max-width: 600px) {
  .select-area p.fw-semibold.mb-0[b-41q2bekh7z] {
    margin-bottom: 10px !important;
  }
}
/* /Features/Home/Home.razor.rz.scp.css */
/* Verbatim port of home.component.scss. */

/* The .container max-width that used to sit here now lives once in wwwroot/css/app.css.
   It was duplicated across five scoped sheets, and the three pages that never got a copy fell
   through to Bootstrap's wider default. */

.box[b-32wqe813jw] {
  box-shadow: 0px 10px 40px 0px #00000026;
  padding: 15px 20px 20px 20px;
  border-radius: 12px;
  background-color: #fff;
}

.hr-one[b-32wqe813jw] {
  width: 110px;
  border-width: 2px;
  opacity: 1;
}

.hr-two[b-32wqe813jw] {
  width: 145px;
  border-width: 2px;
  opacity: 1;
}

/* No font-size or padding here on purpose. Bootstrap's .form-select is already 1rem with
   .375rem 2.25rem .375rem .75rem, and that 2.25rem on the right is what reserves room for the
   caret the control draws at `right .75rem center`. The 12px/8px overrides that used to live
   here were leftovers from the Angular Poppins scale: they shrank the controls well below the
   16px the rest of the page moved to in be217e3, and the flat padding let long option text run
   underneath the caret. See d47e379, which did the same subtraction for .btn. */

/* min-width lets the select shrink inside its nowrap .d-flex row. Without it a flex item's
   min-width resolves to auto, i.e. the select's min-content -- which a <select> derives from
   its widest <option> -- so the row's min-content becomes the SUM of All + select + Go and
   overflows the viewport rather than shrinking. That is the same reflow failure documented at
   length in GlobalHeader.razor.css, and it bites harder at 16px. Mirrors Bootstrap's own
   `.input-group > .form-select { min-width: 0 }`. The closed value clips; the popup does not. */
.select-area .form-select[b-32wqe813jw] {
  max-width: 455px;
  min-width: 0;
}

.no-underline[b-32wqe813jw] {
  text-decoration: none;
  color: var(--mdcgov-color-text-link, #295D92);
}

.no-underline:hover[b-32wqe813jw] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

@media only screen and (max-width: 600px) {
  .select-area p.fw-semibold.mb-0[b-32wqe813jw] {
    margin-bottom: 10px !important;
  }
}
/* /Features/NoaStatusKey/NoaStatusKey.razor.rz.scp.css */
/* Port of noa-status-key.component.scss.

   The header fill was #f0f8ff -- aliceblue, a named CSS colour and the third off-palette blue in
   the app. It is now the neutral surface every other secondary panel uses. Deliberately not
   brand-primary: this is a reference key, not a results table, so it should not read with the same
   weight as the ProductControlTable headers. */

.status-table th[b-v6axbl5y7o] {
  background: var(--mdcgov-color-background-surface-alt, #F1F3F5);
}

.status-table td[b-v6axbl5y7o],
.status-table th[b-v6axbl5y7o] {
  font-size: var(--mdcgov-font-size-sm);
}
/* /Features/NoResults/NoResults.razor.rz.scp.css */
/* Verbatim port of no-results.component.scss. */

/* The component-level font-size: 0.9rem that lived here is gone: it shrank this
   page's body text to 14.4px, under the 16px county body size, and it also
   reached the buttons by inheritance once their own font-size was removed. */
.no-results-container[b-cceglnj14h] {
  background-color: #f8f9fa;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  line-height: 1.35;
}

/* Padding only. County buttons set no font-size, so these inherit the 16px
   body size rather than the 0.9rem/0.82rem they used to force. */
.btn-lg[b-cceglnj14h] {
  padding: 12px 24px;
}

.gap-3[b-cceglnj14h] {
  gap: 1rem !important;
}

@media (max-width: 576px) {
  .d-flex[b-cceglnj14h] {
    flex-direction: column;
  }

  .btn-lg[b-cceglnj14h] {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}

/* Scoped padding for the No Results component so we don't affect global .btn-lg.
   The font-size overrides are gone; see .btn-lg above. */
.no-results-container .btn-lg[b-cceglnj14h] {
  padding: 8px 16px;
  line-height: 1;
}

@media (max-width: 576px) {
  .no-results-container .btn-lg[b-cceglnj14h] {
    padding: 10px 16px; /* slightly larger tappable area on small screens */
  }
}

/* Specific smaller tweaks for headings, lead paragraph and icon used in the HTML */
.no-results-container h2[b-cceglnj14h] {
  font-size: 1.2rem; /* slightly smaller heading */
  margin-bottom: 0.45rem;
}

/* f4d4234 removed this same 0.9rem from .no-results-container itself -- see the note at the top of
   this file -- but left the copy here and the 0.85rem below, so the lead paragraph was still
   rendering at 14.4px against a 16px body. This is the page's primary message; it gets body size. */
.no-results-container p.lead[b-cceglnj14h] {
  font-size: var(--mdcgov-font-size-md, 1rem);
}

/* override the FontAwesome fa-5x so the icon isn't excessively large here */
.no-results-container .fa-search[b-cceglnj14h] {
  font-size: 2.5rem; /* reduced further to keep proportion */
}

/* small-screen adjustments to ensure readability */
@media (max-width: 576px) {
  .no-results-container h2[b-cceglnj14h] {
    font-size: 1.15rem;
  }

  /* Body text does not shrink on small screens -- that is where legibility matters most. */
  .no-results-container p.lead[b-cceglnj14h] {
    font-size: var(--mdcgov-font-size-md, 1rem);
  }
}
/* /Features/PdfViewer/PdfViewer.razor.rz.scp.css */
/* Port of ng2-pdf-viewer.component.scss.

   The Angular ::ng-deep rules targeted pdf.js's internal .ng2-pdf-viewer-container /
   .ng2-pdf-viewer-wrapper / .page elements. Those elements do not exist here — the document is
   rendered by the browser inside an <iframe> — so those rules are replaced by the equivalent
   .pdf-frame rules. Every colour, size, radius and breakpoint is otherwise unchanged. */

.pdf-frame[b-t3mhaqgb84] {
  display: block;
  width: 100%;
  height: 100vh;
  border: 0;
  background-color: #000;
}

/* keep the chrome around the PDF dark so the document pops */
#outerContainer[b-t3mhaqgb84],
.pdf-container[b-t3mhaqgb84] {
  min-height: 100vh;
  background-color: #000;
}

.missing-url[b-t3mhaqgb84] {
  padding: 2rem;
  color: #fff;
  text-align: center;
}

@media print {
  .spinner[b-t3mhaqgb84],
  .error-container[b-t3mhaqgb84] {
    display: none !important;
  }

  #outerContainer[b-t3mhaqgb84],
  .pdf-container[b-t3mhaqgb84],
  .pdf-frame[b-t3mhaqgb84] {
    background: #fff !important;
  }
}

.error-container[b-t3mhaqgb84] {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.error-content[b-t3mhaqgb84] {
  margin-top: 100px;
  background: #4e4e4e;
  color: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  /* Was a bare Arial stack -- the only hardcoded font-family in the app, on a Roboto site. */
  font-family: var(--mdcgov-font-family-base, "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif);
  text-align: center;
}

.error-bg[b-t3mhaqgb84] {
  background-color: #d1d1d1;
  height: 100vh;
  width: 100%;
  margin: 0;
  overflow: hidden;
}
/* /Features/Search/ProductControlTable.razor.rz.scp.css */
/* Verbatim port of product-control-table.component.scss, plus one addition: the .link-button
   rules below give a <button> the exact appearance the original <a> had. The markup changed
   from anchor to button because those anchors carried a click handler and no href, which made
   them unreachable by keyboard; the rendered result is pixel-identical. */

.results-table[b-guak3825x7] {
  width: 100%;
  border-collapse: collapse;
  margin-top: 5px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  table-layout: fixed;
  background-color: #fff;
}

.results-table th[b-guak3825x7],
.results-table td[b-guak3825x7] {
  border: 1px solid #ddd;
  text-align: left;
  padding: 0.5rem;
  /* County table size: <mdcgov-table> renders at 0.875rem. Was 0.75rem. */
  font-size: var(--mdcgov-font-size-sm);
  word-break: break-word;
  white-space: normal;
  overflow-wrap: anywhere;
}

.results-table th[b-guak3825x7] {
  background-color: var(--mdcgov-color-brand-primary, #295D92);
  color: #fff;
  font-weight: 600;
}

.results-table td[b-guak3825x7] {
  font-size: var(--mdcgov-font-size-sm);
}

.results-table tbody tr:nth-child(even)[b-guak3825x7] {
  background-color: #f4f4f4;
}

.results-table td.empty-template[b-guak3825x7] {
  text-align: center;
  font-weight: 600;
}

.results-table td.empty-template[b-guak3825x7]::before {
  content: none;
}

.results-table td[b-guak3825x7]::before {
  content: attr(data-label);
  display: none;
}

.width-50[b-guak3825x7] {
  width: clamp(40px, 4vw, 70px);
}

.width-80[b-guak3825x7] {
  width: clamp(55px, 5vw, 85px);
}

.width-90[b-guak3825x7] {
  width: clamp(60px, 6vw, 100px);
}

.width-100[b-guak3825x7] {
  width: clamp(70px, 7vw, 120px);
}

.width-115[b-guak3825x7] {
  width: clamp(80px, 8vw, 140px);
}

.width-150[b-guak3825x7] {
  width: clamp(100px, 11vw, 180px);
}

.results-table .view-icon[b-guak3825x7] {
  cursor: pointer;
}

.results-table .view-icon a[b-guak3825x7],
.results-table .view-icon .link-button[b-guak3825x7] {
  text-decoration: underline;
  color: var(--mdcgov-color-text-link, #295D92);
}

.results-table .view-icon a:hover[b-guak3825x7],
.results-table .view-icon .link-button:hover[b-guak3825x7] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

/* Makes a <button> indistinguishable from the anchor it replaced. */
.link-button[b-guak3825x7] {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  text-align: left;
  cursor: pointer;
  color: var(--mdcgov-color-text-link, #295D92);
}

@media (max-width: 1200px) {
  .results-table th[b-guak3825x7],
  .results-table td[b-guak3825x7] {
    /* Tighter padding at this breakpoint, but not smaller than the county size. */
    font-size: var(--mdcgov-font-size-sm);
    padding: 0.4rem;
  }

  .results-table [class*='width-'][b-guak3825x7] {
    width: auto;
  }
}

/* Stack rows on narrow screens so users never need horizontal scroll */
@media (max-width: 768px) {
  .results-table[b-guak3825x7],
  .results-table thead[b-guak3825x7],
  .results-table tbody[b-guak3825x7],
  .results-table th[b-guak3825x7],
  .results-table td[b-guak3825x7],
  .results-table tr[b-guak3825x7] {
    display: block;
    width: 100%;
  }

  .results-table thead[b-guak3825x7] {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  .results-table tbody tr[b-guak3825x7] {
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  }

  .results-table tbody tr:nth-child(even)[b-guak3825x7] {
    background-color: #fff;
  }

  .results-table td[b-guak3825x7] {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 0.9rem 0.75rem;
    font-size: var(--mdcgov-font-size-sm);
  }

  .results-table td:last-child[b-guak3825x7] {
    border-bottom: none;
  }

  .results-table td[b-guak3825x7]::before {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: #495057;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
}
/* /Features/Search/SearchResults.razor.rz.scp.css */
/* Verbatim port of product-control-list.component.scss. */

/* The .container max-width that used to sit here now lives once in wwwroot/css/app.css.
   It was duplicated across five scoped sheets, and the three pages that never got a copy fell
   through to Bootstrap's wider default. */

.box[b-l19cc6xwsm] {
  box-shadow: 0px 10px 40px 0px #00000026;
  padding: 10px 20px 10px 20px;
  border-radius: 12px;
  background-color: #fff;
}

.hr-one[b-l19cc6xwsm] {
  width: 110px;
  border-width: 2px;
  opacity: 1;
}

.hr-two[b-l19cc6xwsm] {
  width: 145px;
  border-width: 2px;
  opacity: 1;
}

/* The page's only control is the "Rows per page" <select class="form-select form-select-sm">.
   It carries no rule here on purpose: .form-select-sm is already .875rem, which is the 14px
   tabular size the results table uses. The 12px !important that used to sit here overrode that
   deliberate 14px and left the control 3px short of the .btn-sm pagination buttons beside it.
   The .select-area and .form-control rules that came with it matched nothing on this page. */

.no-underline[b-l19cc6xwsm] {
  text-decoration: none;
  color: var(--mdcgov-color-text-link, #295D92);
}

.no-underline:hover[b-l19cc6xwsm] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.collapse-icon[b-l19cc6xwsm] {
  margin: 0;
  padding: 0;
  padding-top: 0px;
  padding-bottom: 0px;
  cursor: pointer;
  font-size: 18px;
  color: var(--mdcgov-color-text-link, #295D92);
}

.collapse-icon:hover[b-l19cc6xwsm] {
  color: var(--mdcgov-color-text-link-hover, #2878C8);
}

.results-summary[b-l19cc6xwsm] {
  background: var(--mdcgov-color-background-surface-alt, #F1F3F5);
  border: 1px solid var(--mdcgov-color-border-default, #DEE2E6);
  border-radius: 18px;
  padding: 1.5rem 2rem;
  /* Was rgba(9, 45, 105, 0.08), a hand-mixed navy that matches no county token and that a hex
     sweep could never see because it is rgb() notation. Neutral now, like every other shadow. */
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.results-summary__header[b-l19cc6xwsm] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.results-summary__eyebrow[b-l19cc6xwsm] {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mdcgov-color-text-link, #295D92);
  font-weight: 600;
  /* Was a hard 11px, the smallest text in the app and the only size that ignored the browser's
     font-size preference outright. The county scale bottoms out at -sm; the uppercase treatment and
     letter-spacing above already mark this as an eyebrow without shrinking it further. */
  font-size: var(--mdcgov-font-size-sm, 0.875rem);
  margin-bottom: 0.2rem;
}

.results-summary__title[b-l19cc6xwsm] {
  font-size: 1.4rem;
  margin: 0;
  color: var(--mdcgov-color-text-primary, #282828);
}

.results-summary__edit[b-l19cc6xwsm] {
  white-space: nowrap;
}

.results-summary__table-wrapper[b-l19cc6xwsm] {
  margin-top: 1.5rem;
  border-radius: 14px;
  border: 1px solid var(--mdcgov-color-border-default, #DEE2E6);
  background: #fff;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.results-summary__table[b-l19cc6xwsm] {
  width: 100%;
  border-collapse: collapse;
  /* 0.95rem was off-scale and below the 16px body size. -sm is the documented size for table text
     (DESIGN_SYSTEM.md:116-119), which is what this is. */
  font-size: var(--mdcgov-font-size-sm, 0.875rem);
}

.results-summary__table caption[b-l19cc6xwsm] {
  caption-side: top;
  text-align: left;
  padding: 1rem 1.25rem 0;
  font-size: var(--mdcgov-font-size-sm, 0.875rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mdcgov-color-text-muted, #6C757D);
}

.results-summary__table th[b-l19cc6xwsm],
.results-summary__table td[b-l19cc6xwsm] {
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid var(--mdcgov-color-border-subtle, #E9ECEF);
  vertical-align: top;
}

.results-summary__table th[b-l19cc6xwsm] {
  width: 32%;
  font-weight: 600;
  color: var(--mdcgov-color-text-primary, #282828);
  background: var(--mdcgov-color-background-surface-alt, #F1F3F5);
  text-transform: none;
}

.results-summary__table td[b-l19cc6xwsm] {
  color: var(--mdcgov-color-text-primary, #282828);
  font-weight: 500;
}

.results-summary__table tr:last-child th[b-l19cc6xwsm],
.results-summary__table tr:last-child td[b-l19cc6xwsm] {
  border-bottom: none;
}

@media (max-width: 640px) {
  .results-summary__table th[b-l19cc6xwsm],
  .results-summary__table td[b-l19cc6xwsm] {
    display: block;
    width: 100%;
  }

  .results-summary__table th[b-l19cc6xwsm] {
    background: var(--mdcgov-color-background-surface-alt, #F1F3F5);
    border-bottom: none;
  }
}

.results-intro[b-l19cc6xwsm] {
  background: #fff;
  border-radius: 16px;
  padding: 1.75rem;
}

.results-intro .btn-primary[b-l19cc6xwsm] {
  min-width: 190px;
}
/* /Shared/DocumentUnavailable.razor.rz.scp.css */
/* Replaces the inline grey that was repeated at each of the four call sites; the
   literal #999999 is now the county text-muted token. */
.document-unavailable[b-cxez8ixcqy] {
    color: var(--mdcgov-color-text-muted, #6C757D);
}
/* /Shared/FatalConfigError.razor.rz.scp.css */
/* Startup failure page. Standalone: this renders instead of the layout, so it owns
   its own centring rather than inheriting the site container. */

.fatal-config[b-5n8eriss6r] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
  background-color: #f4f6f8;
}

.fatal-config__panel[b-5n8eriss6r] {
  max-width: 720px;
  width: 100%;
  padding: 32px;
  background-color: #ffffff;
  border-top: 6px solid var(--mdcgov-color-semantic-error, #9C201C);
  border-radius: 4px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  color: #212121;
}

.fatal-config__title[b-5n8eriss6r] {
  margin: 0 0 16px;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--mdcgov-color-semantic-error, #9C201C);
}

.fatal-config__title i[b-5n8eriss6r] {
  margin-right: 8px;
}

.fatal-config__lede[b-5n8eriss6r] {
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.6;
}

.fatal-config__subtitle[b-5n8eriss6r] {
  margin: 0 0 8px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5f6368;
}

.fatal-config__attempts[b-5n8eriss6r] {
  margin: 0 0 24px;
  padding-left: 20px;
  line-height: 1.7;
}

/* URLs and failure reasons run long; keep them inside the panel on narrow screens. */
.fatal-config__attempts li[b-5n8eriss6r] {
  overflow-wrap: anywhere;
}

.fatal-config__hint[b-5n8eriss6r] {
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #5f6368;
}

.fatal-config__hint code[b-5n8eriss6r] {
  overflow-wrap: anywhere;
  color: #212121;
}
/* /Shared/GlobalHeader.razor.rz.scp.css */
/* Chrome around <mdc-header>. Every value comes from a county design token, which is the
   documented way to style markup the design system has no component for. No hex literals:
   if the county reissues the palette, this follows it.

   The tokens are defined on :root by the design-system bundle loaded in index.html. */

/* ---------------------------------------------------------------------------
   misc-ui slot — site search and Sign In.
   The component relocates this content across its own 1150px breakpoint, so it
   only needs to be laid out, not positioned.
   --------------------------------------------------------------------------- */
.header-misc[b-2d75tw4frc] {
  display: flex;
  align-items: center;
  gap: var(--mdcgov-space-3);
  flex-wrap: wrap;
}

/* flex-wrap matters for reflow, and not for the reason it looks like.

   Below its 1150px breakpoint the component drops this slot into a grid track
   that is only ~160px wide at a 320px viewport. A nowrap flex row's min-content
   width is the SUM of its items (input 150 + gap + button 67 = 221px), which
   exceeds the track, and because the county's own grid item carries
   min-width: auto it overflowed the track rather than shrinking it -- pushing
   the document to 365px and scrolling every page sideways.

   Allowing the row to wrap makes its min-content the WIDEST single item (150px)
   instead of the sum, which fits. The button moves under the input at the
   narrowest widths; header height is unchanged at 104px. Capping widths or
   letting the input shrink does not help, because the blown-out track is what
   percentages resolve against. */
.header-search[b-2d75tw4frc] {
  display: flex;
  align-items: center;
  gap: var(--mdcgov-space-1);
  flex-wrap: wrap;
}

.header-search__input[b-2d75tw4frc] {
  width: 150px;
  min-width: 0;
  padding: var(--mdcgov-space-1) var(--mdcgov-space-2);
  border: 1px solid var(--mdcgov-color-border-strong);
  border-radius: var(--mdcgov-border-radius-sm);
  font-family: var(--mdcgov-font-family-base);
  font-size: var(--mdcgov-font-size-sm);
  color: var(--mdcgov-color-text-primary);
  background-color: var(--mdcgov-color-background-surface);
}

.header-search__input[b-2d75tw4frc]::placeholder {
  color: var(--mdcgov-color-text-muted);
}

.header-search__button[b-2d75tw4frc] {
  padding: var(--mdcgov-space-1) var(--mdcgov-space-3);
  border: 0;
  border-radius: var(--mdcgov-border-radius-sm);
  background-color: var(--mdcgov-color-brand-primary);
  color: var(--mdcgov-color-text-inverse);
  font-family: var(--mdcgov-font-family-base);
  font-size: var(--mdcgov-font-size-sm);
  font-weight: var(--mdcgov-font-weight-medium);
  cursor: pointer;
  white-space: nowrap;
}

.header-search__button:hover[b-2d75tw4frc] {
  background-color: var(--mdcgov-color-brand-primary-hover);
}

.header-signin[b-2d75tw4frc] {
  font-family: var(--mdcgov-font-family-base);
  font-size: var(--mdcgov-font-size-sm);
  font-weight: var(--mdcgov-font-weight-medium);
  color: var(--mdcgov-color-text-link);
  text-decoration: none;
  white-space: nowrap;
}

.header-signin:hover[b-2d75tw4frc] {
  color: var(--mdcgov-color-text-link-hover);
  text-decoration: underline;
}

/* ---------------------------------------------------------------------------
   Department strip, directly beneath the header.
   Deliberately subordinate to the county chrome above it: a light surface rather
   than the brand blue, so it does not read as county-level navigation.
   Contrast of the link colour on this surface measures 6.14:1 — WCAG AA needs 4.5.
   --------------------------------------------------------------------------- */
.dept-strip[b-2d75tw4frc] {
  background-color: var(--mdcgov-color-background-surface-alt);
  border-bottom: 1px solid var(--mdcgov-color-border-default);
}

.dept-strip__inner[b-2d75tw4frc] {
  /* 1100px to match the content column in app.css. This was 1280px, which made the strip 180px
     wider than the nav and the page body beneath it on every route -- a visible, non-monotonic
     1280 -> 1100 -> 1140 stack of edges. Nothing in the design system specifies a container width,
     so 1100 was chosen simply because everything else already uses it. */
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--mdcgov-space-5);
  padding: var(--mdcgov-space-3) var(--mdcgov-space-4);
}

.dept-strip[b-2d75tw4frc]  a {
  font-family: var(--mdcgov-font-family-base);
  font-size: var(--mdcgov-font-size-md);
  font-weight: var(--mdcgov-font-weight-medium);
  color: var(--mdcgov-color-text-link);
  text-decoration: none;
}

.dept-strip[b-2d75tw4frc]  a:hover {
  color: var(--mdcgov-color-text-link-hover);
  text-decoration: underline;
}

/* NavLink stamps .active on the current route; mark it without relying on colour alone. */
.dept-strip[b-2d75tw4frc]  a.active {
  font-weight: var(--mdcgov-font-weight-bold);
  text-decoration: underline;
}

/* The focus ring comes from the bundle's :focus-visible rule; nothing to add here. */

.visually-hidden[b-2d75tw4frc] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
/* /Shared/NavBar.razor.rz.scp.css */
/* Port of nav-bar.component.scss, with the palette brought onto the county tokens.

   The Angular original painted this strip with assets/images/navBgBlue.jpg: a 4x46px vertical
   gradient from #038BC5 to #03587D. That cyan-leaning azure is not a county colour, and it was
   the last off-palette blue left after 733bc6a and 16f6b28 -- those sweeps grepped for hex
   literals, and a colour inside a JPEG is invisible to that. It is now a CSS gradient between
   --mdcgov-color-brand-primary-hover and -active, so it follows the palette like everything else.

   This is also a contrast fix. White on the old gradient's top band measured 3.82:1 and failed
   WCAG AA, and the text sat exactly there -- a 28px strip over a 46px image. The replacement runs
   4.54:1 at the top to 9.59:1 at the bottom.

   It closes a third defect as well. The image was 46px tall with repeat-x, so it could not cover
   a taller navbar: with the mobile menu open the element is 76px and the bottom 30px showed the
   #f8f9fa that .bg-body-tertiary painted underneath. A gradient's default background-size is the
   background positioning area, so it fills whatever height the element takes.

   Nothing here moves layout. background-color and background-image both paint into the border box
   and neither contributes to box size, so the strip is still 28px expanded, 44px collapsed, 76px
   with the menu open -- the same three heights as before.

   .bg-body-tertiary was removed from the markup rather than overridden here. Bootstrap declares it
   background-color: ... !important, so the background-color below -- even at
   header .navbar[b-xxxxxxxxxx], (0,2,1) -- could not win without an !important of its own, and
   mdc-bootstrap-bridge.css:126 reserves that for utilities that cannot be removed from every call
   site. There was exactly one call site. */

/* The .container max-width that used to sit here now lives once in wwwroot/css/app.css.
   It was duplicated across five scoped sheets, and the three pages that never got a copy fell
   through to Bootstrap's wider default. */

header .navbar[b-k90qvjhoha] {
  /* The flat colour is not redundant: it is what the strip falls back to if the gradient
     declaration is ever dropped, so the ground degrades to county blue rather than transparent. */
  background-color: var(--mdcgov-color-brand-primary, #295D92);
  background-image: linear-gradient(
    var(--mdcgov-color-brand-primary-hover, #2878C8),
    var(--mdcgov-color-brand-primary-active, #1F476F));
  color: var(--mdcgov-color-text-inverse, #ffffff);
  padding-top: 2px;
  padding-bottom: 2px;
}

/* Separator between nav items, previously #3a8fb4 -- a teal-blue picked to sit on the old JPEG.
   The county palette has no on-dark border token (border-default, -subtle and -strong are all
   light-surface greys), so this is translucent white, the same idiom as the toggler border below.

   Scoped to .nav-item because the <li>&nbsp;</li> spacer in NavBar.razor would otherwise draw a
   1px tick with nothing beside it. The old low-contrast ground hid that; brand blue would not. */
header .navbar ul li.nav-item[b-k90qvjhoha] {
  border-right: 1px solid rgba(255, 255, 255, 0.35);
}

.navbar[b-k90qvjhoha]  .nav-link {
  color: var(--mdcgov-color-text-inverse, #ffffff);
  padding: 8px 20px !important;
  font-weight: 500;
  display: inline-block;
}

/* Hover was #a4cedf, a pale cyan chosen against the old gradient. It measures 4.16:1 on the new
   ground and still fails AA at this size and weight, so it is not retinted -- full white plus an
   underline instead. That also satisfies WCAG 1.4.1 by not signalling hover with colour alone,
   and matches how the department strip does it in GlobalHeader.razor.css. */
.navbar[b-k90qvjhoha]  .nav-link:hover {
  color: var(--mdcgov-color-text-inverse, #ffffff);
  text-decoration: underline;
}

/* Toggler contrast. Bootstrap's default glyph is rgba(33, 37, 41, 0.75) and its border is
   rgba(var(--bs-emphasis-color-rgb), 0.15) -- a dark icon and an invisible border on a dark
   ground. This is the light glyph Bootstrap ships for its own dark theme, at a higher alpha.

   These two rules lived in mdc-bootstrap-bridge.css while the ground was an image. They moved here
   because that file is for re-pointing Bootstrap globally, not for one component's colour; because
   its comment referenced the JPEG that no longer exists; and because `header .navbar` in a global
   sheet would match any other header > .navbar added later. Scoped CSS loads after the bridge
   (index.html:39 vs :36) and every element involved lives in this component, so the cascade holds. */
header .navbar .navbar-toggler[b-k90qvjhoha] {
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.45);
}

header .navbar .navbar-toggler .navbar-toggler-icon[b-k90qvjhoha] {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* navbar-expand-lg collapses at 992px, not 600px. The old breakpoint left a 600-992px band where
   the menu stacked vertically but kept the desktop treatment, including a border-right tick to the
   right of every stacked item.

   The `color: #212121` this block used to carry is deleted rather than retokened. It assumed the
   open menu dropped onto the light ground below the 46px image; against a gradient that fills the
   element it would be 2.52:1, dark on dark. The strip is now one colour at every height and width,
   which is the condition the 600px rule was working around. */
@media only screen and (max-width: 991.98px) {
  .navbar[b-k90qvjhoha]  .nav-link {
    padding-left: 0 !important;
  }

  header .navbar ul li.nav-item[b-k90qvjhoha] {
    border-right: 0;
  }
}
/* /Shared/SearchBox.razor.rz.scp.css */
/* Port of search-box.component.scss. The input's own box is no longer hand-rolled here; see
   the note on .form-control below. Everything else is unchanged from the port. */

/* The input is a Bootstrap .form-control, which supplies width, border, radius, padding and
   the 16px body type. Two things stay component-specific.

   padding-right clears the .icon span, which is absolutely positioned at right: 10px and would
   otherwise sit on top of the text. 2.25rem is the same clearance Bootstrap reserves on
   .form-select for its caret, so the two controls indent their content identically.

   The port used to hand-roll all of this, including a 'Open Sans' font-family that was never
   loaded -- so this box rendered in a fallback face while the rest of the page was Roboto --
   and a hardcoded #ddd border. Both now come from Bootstrap and the county tokens. */
.form-control[b-dytgl68gug] {
  margin-top: 3px;
  padding-right: 2.25rem;
}

.text-align-left[b-dytgl68gug] {
  text-align: left;
}

input[b-dytgl68gug]::placeholder {
  font-style: italic;
}

input:-ms-input-placeholder[b-dytgl68gug] {
  font-style: italic;
}

input[b-dytgl68gug]::-ms-input-placeholder {
  font-style: italic;
}

input[b-dytgl68gug]::-ms-clear {
  display: none;
}

.search-container[b-dytgl68gug] {
  position: relative;
  width: 100%;
}

.icon[b-dytgl68gug] {
  position: absolute;
  top: 60%;
  right: 10px;
  transform: translateY(-50%);
  color: var(--mdcgov-color-text-link, #295D92);
  pointer-events: none;
}
/* /Shared/SortableHeader.razor.rz.scp.css */
/* Verbatim port of sortable.component.scss, plus the two global helpers the Angular
   component relied on from styles.scss (.pointer) — repeated here so the element keeps its
   affordance even though scoped CSS cannot see the global rule's specificity context. */

.sort-spacing[b-towj4kg3h5] {
  margin-left: 4px;
}

.pointer[b-towj4kg3h5] {
  cursor: pointer;
}

/* Visible focus ring: the element is now keyboard reachable, so it needs one.

   This used to be `2px solid #ffffff`, which only ever worked because the sort icon happens to sit
   on a brand-blue table header -- a white ring is invisible the moment the control moves onto any
   light ground. It is the same defect 733bc6a fixed by deleting four .link-button:focus-visible
   rules; this one survived because it lives in a different component. Now the county ring that
   mdc-bootstrap-bridge.css installs everywhere else. */
i:focus-visible[b-towj4kg3h5] {
  outline: var(--mdcgov-accessibility-focus-outline-width, 3px)
           var(--mdcgov-accessibility-focus-outline-style, dotted)
           var(--mdcgov-accessibility-focus-outline-color, #3BD1FF);
  outline-offset: var(--mdcgov-accessibility-focus-outline-offset, 4px);
}
