/**
 * Meter Search — public stylesheet.
 *
 * Until this version the plugin never loaded this file (enqueue_styles() was
 * empty). The site was styled instead by copies of it: one pasted into Simple
 * Custom CSS (the head entry), and near-identical ones shipped by the FOIA and
 * Evaluator prototypes. This file is those copies merged in the order they
 * applied, exact duplicates removed, plus the search rules from the footer
 * Simple Custom CSS entry at the end — so the site renders exactly as before.
 *
 * It still carries rules for the monthly reports and some site-wide ones;
 * those move to their own plugins next, and the leftovers get tidied then.
 */

@import url('https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap');

.meter-build-search-container h1.meter-page-title {
    font-size: 50px !important;
    max-width: 60%;
    margin-top: 70px;
    margin-left: auto;
    margin-right: auto;
}

.meter-quick-results {
    background: #f3f4f6;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 0px;
    display: block !important;
    position: fixed;
    bottom: 0px;
    left: 0;
    right: 0;
    background-color: rgb(254 245 235);
    z-index: 990; /* above the form's section headers and the theme's back-to-top arrow */
    box-shadow: 0px -4px 20px #0000000f;
    border-top: 4px solid #4f47e617;
    border-radius: 0px !important;
}

.meter-section-title p {
    margin: 4px 0 0;
    color: #464B64;
    font-size: 10px !important;
    font-weight: 300;
    text-transform: none !important;
    letter-spacing: 0px !important;
    max-width: 85%;
    line-height: 150%;
}

* {
   font-family: "Public Sans", serif;
   font-optical-sizing: auto;
   font-style: normal;
 }

.gwac-upload-container {
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
}

label.meter-field-label.lab-agencies:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-agency.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-subagencies:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-biz-size.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-vendor:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-shop.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-samcheck:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-shop.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

.meter-metrics-grid {
     display: grid;
     grid-template-columns: 1fr 1fr 3fr !important;
     gap: 16px;
     margin-top: 8px;
     width: calc(100% - 170px) !important;
 }

.meter-department-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px;
    background: #f9fafb;
    border-radius: 4px;
}

.meter-vendor-business-types {
     margin-top: 12px;
 }

.meter-vendor-business-types h4 {
     margin: 0 0 8px 0;
     font-size: 14px;
     color: #4b5563;
 }

.business-type-pills {
     display: flex;
     flex-wrap: wrap;
     gap: 6px;
 }

.business-type-pill {
     display: inline-block;
     padding: 4px 12px;
     background-color: #e0e7ff;
     border: 1px solid #c7d2fe;
     border-radius: 16px;
     font-size: 12px;
     color: #4338ca;
     font-weight: 500;
     white-space: nowrap;
     transition: all 0.2s ease;
 }

.business-type-pill:hover {
     background-color: #c7d2fe;
     border-color: #a5b4fc;
     transform: translateY(-1px);
     box-shadow: 0 2px 4px rgba(67, 56, 202, 0.15);
 }

.meter-valid {
    border-color: #00dcbf !important;
    border-width: 3px !important;
    box-shadow: 0px 0px 20px #00dcbf99;
}

.filter-pill {
    display: flex;
    align-items: center;
    background-color: #ffe8c6;
    border-radius: 14px;
    padding: 4px 8px;
    margin-right: 6px;
    margin-bottom: 6px;
    border: 1px solid #00000012;
}

.filter-pill-icon {
    width: 14px;
    height: 14px;
    margin-right: 5px;
}

.filter-pill-title {
    font-size: 9px;
    margin: 0;
    color: #6b7280;
    font-weight: 600;
    line-height: 1.2;
}

.filter-pill-value {
    font-size: 11px;
    margin: 0;
    color: #111827;
    line-height: 1.2;
}

.meter-loading-indicator {
   display: inline-block;
   width: 60px;
   height: 6px;
   background: linear-gradient(90deg,
       rgba(79, 71, 230, 0.1) 0%,
       rgba(79, 71, 230, 0.2) 8.33%,
       rgba(79, 71, 230, 0.35) 16.66%,
       rgba(79, 71, 230, 0.5) 25%,
       rgba(79, 71, 230, 0.65) 33.33%,
       rgba(79, 71, 230, 0.8) 41.66%,
       rgba(79, 71, 230, 0.65) 50%,
       rgba(79, 71, 230, 0.5) 58.33%,
       rgba(79, 71, 230, 0.35) 66.66%,
       rgba(79, 71, 230, 0.2) 75%,
       rgba(79, 71, 230, 0.1) 83.33%,
       rgba(79, 71, 230, 0.1) 100%
   );
   background-size: 200px 100%;
   animation: led-chase 1.33s linear infinite;
   margin-left: 10px;
   vertical-align: middle;
   border-radius: 3px;
 }

@keyframes led-chase {
   0% {
       background-position: 0px 0;
   }
   100% {
       background-position: 200px 0;
   }
 }

.meter-vendor-performance {
    margin: 40px 0;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}

.meter-vendor-performance .meter-section-title {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 8px;
}

.meter-vendor-performance .meter-section-icon {
    font-size: 24px;
}

.meter-performance-collapsed {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px;
    background: #f9fafb;
    border-radius: 6px;
    cursor: pointer;
}

.meter-performance-status {
    display: flex;
    align-items: center;
    gap: 12px;
}

.meter-status-indicator {
    font-size: 28px;
    line-height: 1;
}

.meter-status-indicator.green { color: #10b981; }

.meter-status-indicator.yellow { color: #f59e0b; }

.meter-status-indicator.orange { color: #f97316; }

.meter-status-indicator.red { color: #ef4444; }

.meter-status-text {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
}

.meter-performance-expand {
    padding: 8px 16px;
    background: #5B4CCC;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: background 0.2s;
}

.meter-performance-expand:hover {
    background: #4a3db3;
}

.meter-performance-expanded {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e5e7eb;
}

.meter-fapiis-section {
    margin-bottom: 32px;
}

.meter-subsection-title {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 16px;
}

.meter-fapiis-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.meter-issue-count {
    display: flex;
    flex-direction: column;
    padding: 16px;
    background: #f9fafb;
    border-radius: 6px;
    border-left: 4px solid #e5e7eb;
}

.meter-issue-count .count {
    font-size: 32px;
    font-weight: 700;
    color: #111827;
    line-height: 1;
    margin-bottom: 8px;
}

.meter-issue-count .label {
    font-size: 13px;
    color: #6b7280;
    font-weight: 500;
}

h4.meter-fapiis-label {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px 0;
}

.meter-issues-list {
    margin-bottom: 16px;
}

.meter-issue-item {
    padding: 16px;
    margin-bottom: 12px;
    background: #fef2f2;
    border-left: 4px solid #ef4444;
    border-radius: 4px;
}

.meter-issue-item .issue-type {
    font-size: 15px;
    font-weight: 600;
    color: #991b1b;
    margin-bottom: 8px;
}

.meter-issue-item .issue-details {
    font-size: 14px;
    color: #374151;
}

.meter-issue-item .issue-details > div {
    margin-bottom: 4px;
}

.meter-issue-item .issue-description {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #fecaca;
    color: #6b7280;
    font-style: italic;
}

.no-issues {
    padding: 16px;
    background: #f0fdf4;
    border-left: 4px solid #10b981;
    border-radius: 4px;
    color: #065f46;
    margin: 16px 0;
}

.meter-delivery-patterns {
    margin-top: 32px;
}

.meter-signals-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 16px;
}

.meter-signals-column {
    display: flex;
    flex-direction: column;
}

.meter-pattern-metrics {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

@media (max-width: 768px) {
    .meter-signals-grid {
        grid-template-columns: 1fr;
    }
}

.meter-metric {
    padding: 16px;
    background: #f9fafb;
    border-radius: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.meter-metric .metric-label {
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
}

.meter-metric .metric-value {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.meter-metric .metric-value.positive {
    color: #10b981;
}

.meter-disclaimer {
    font-size: 12px;
    color: #6b7280;
    background: #f9fafb;
    padding: 12px;
    border-radius: 4px;
    margin-top: 16px;
    line-height: 1.5;
}

.meter-field-wrapper input.has-add-btn {
    padding-right: 60px !important;
}

.meter-field-wrapper textarea.has-add-btn {
    padding-right: 60px !important;
}

.meter-inline-add-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background: #667eea;
    color: white;
    border: none;
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease, background 0.2s ease;
    z-index: 10;
    pointer-events: none;
}

.meter-inline-add-btn.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.meter-inline-add-btn:hover {
    background: #5568d3;
}

.meter-inline-add-btn:active {
    background: #4557c2;
}

.meter-field-wrapper textarea + .meter-inline-add-btn {
    top: 10px;
    transform: none;
}

@media (max-width: 768px) {
    .meter-performance-collapsed {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }

    .meter-fapiis-summary {
        grid-template-columns: 1fr;
    }

    .meter-pattern-metrics {
        grid-template-columns: 1fr;
    }
}

.meter-sow-extract {
    margin-bottom: 24px;
    border-radius: 8px;
    border: 1px solid #667eea33;
    background: linear-gradient(135deg, #667eea08, #422ebd08);
    overflow: hidden;
}

.meter-sow-extract-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    cursor: pointer;
    transition: background 0.2s;
}

.meter-sow-extract-toggle:hover {
    background: #667eea0d;
}

.meter-sow-extract-toggle-left {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #443F68;
}

.meter-sow-extract-toggle-left svg {
    color: #667eea;
}

.meter-sow-extract-toggle-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sow-toggle-hint {
    font-size: 11px;
    color: #9CA3AF;
    font-weight: 300;
}

.sow-chevron {
    color: #9CA3AF;
    transition: transform 0.3s ease;
}

.meter-sow-extract.is-open .sow-chevron {
    transform: rotate(180deg);
}

.meter-sow-extract-body {
    padding: 0 20px 20px;
}

.meter-sow-dropzone {
    border: 2px dashed #9CA3AF !important;
    border-radius: 8px !important;
    padding: 40px 20px !important;
    text-align: center;
    transition: border-color 0.2s, background 0.2s;
    cursor: pointer;
    background: #fff;
}

.meter-sow-dropzone.is-dragover {
    border-color: #667eea !important;
    background: #667eea08;
}

.sow-dropzone-text {
    font-size: 14px !important;
    font-weight: 500;
    color: #374151;
    margin: 12px 0 4px !important;
}

.sow-dropzone-subtext {
    font-size: 12px !important;
    color: #6B7280;
    margin: 0 !important;
}

.sow-browse-link {
    display: inline-block;
    padding: 8px 20px;
    background: #667eea;
    color: #fff !important;
    cursor: pointer;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none !important;
    border-radius: 6px;
    transition: background 0.2s;
    margin-top: 4px;
}

.sow-browse-link:hover {
    background: #5567d5;
    color: #fff !important;
}

.sow-dropzone-formats {
    font-size: 10px !important;
    color: #9CA3AF;
    margin: 8px 0 0 !important;
    font-weight: 300;
}

.meter-sow-file-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.meter-sow-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
}

.meter-sow-file-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.meter-sow-file-icon {
    color: #667eea;
}

.meter-sow-file-name {
    font-size: 13px;
    font-weight: 500;
    color: #374151;
}

.meter-sow-file-size {
    font-size: 11px;
    color: #9CA3AF;
    font-weight: 300;
    margin-left: 8px;
}

.meter-sow-file-remove {
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
}

.meter-sow-file-remove:hover {
    color: #EF4444;
    background: #FEE2E2;
}

.meter-sow-actions {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.meter-sow-process-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: #667eea;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.meter-sow-process-btn:hover:not(:disabled) {
    background: #5567d5;
}

.meter-sow-process-btn:disabled {
    background: #D1D5DB;
    cursor: not-allowed;
    opacity: 0.7;
}

.meter-sow-clear-btn {
    padding: 10px 18px;
    background: none;
    color: #6B7280;
    border: 1px solid #D1D5DB;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}

.meter-sow-clear-btn:hover {
    background: #F9FAFB;
    border-color: #9CA3AF;
}

@media (max-width: 768px) {
    .meter-sow-extract-toggle {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .sow-toggle-hint {
        display: none;
    }
}























.ss1 .meter-clear-button {
    margin-top: -147px;
}



.page-id-683 .parent-section .container {
    padding: 0px !important;
    margin: 0px !important;
}

.meter-build-search-container h1.meter-page-title {
    font-size: 50px !important;
    max-width: 60%;
    margin-top: 70px;
}

.meter-section-title p {
    margin: 4px 0 0;
    color: #464B64;
    font-size: 10px !important;ß
    font-weight: 300;
    text-transform: none !important;
    letter-spacing: 0px !important;
    max-width: 85%;
    line-height: 150%;
}

* {
   font-family: "Public Sans", serif;
   font-optical-sizing: auto;
   font-weight: <weight>;
   font-style: normal;
 }

h3 {
    font-size: 18px !important;
    text-transform: none !important;
    letter-spacing: 0px;
    color: #443F68;
}

body {
    background-color: #FDFAF8;
    padding: 0px;
    margin: 0px;
}

p.psmall {
    font-size: 10px !important;
    color: #101827;
    font-weight: 300;
    line-height: 150% ! IMPORTANT;
}

.meter-build-search-container [type="radio"]:checked, [type="radio"]:not(:checked) {
    position: relative;
    text-indent: unset;
    float: unset;
    left: 0px !important;
}

.usaspending-controls {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 15px;
}

.settings-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 15px;
}

.date-input {
    width: 140px;
}

.setting-item {
    display: flex;
    align-items: center;
}

.setting-item label {
    margin-right: 10px;
    font-weight: 500;
}

.small-text {
    width: 80px;
}

<!-- Add these styles to the existing style section -->
<style>
.gwac-upload-container {
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
}

.gwac-upload-container h3 {
    margin-top: 0;
    margin-bottom: 10px;
}

.meter-upload-status {
    margin-top: 10px;
}

.meter-upload-status .error {
    color: #dc3232;
}

.meter-upload-status .success {
    color: #46b450;
}

p.wp-block-site-title {
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/uploads/2025/03/meter-logo.svg);
    width: 85px;
    height: 25px;
    margin-top: -11px;
    margin-left: 15px;
    color: #ff000000;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    position: fixed;
}

p.wp-block-site-title {
    z-index: 9;
    position: fixed;
    display: block;
}

body.page-template-default.page:before {
    content: '';
    width: 100%;
    background-color: #443F68;
    display: block;
    position: fixed;
    height: 46px;
    z-index: 9;
}

.meter-search-container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 20px;
 }

.meter-search-form {
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
    border: 1px solid #00000017;
}

.meter-search-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 20px;
     margin-bottom: 20px;
 }

.meter-form-group {
     margin-bottom: 15px;
 }

.meter-form-label {
     display: block;
     margin-bottom: 5px;
     font-weight: 500;
 }

.meter-form-input {
     width: 100%;
     padding: 8px;
     border: 1px solid #ddd;
     border-radius: 4px;
 }

.data-container {
    width: 100%;
    height: 500px;
    position: relative;
    margin-bottom: 20px;
}

.loading-indicator {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

#naics-data-list {
    width: 100%;
    height: 500px;
    position: relative;
    padding: 0;
    margin: 0;
    list-style: none; 
    overflow: hidden; 
}

.treemap-visualization {
    width: 100%;
    height: 100%;
}

.treemap-visualization .cell:hover rect {
    opacity: 0.8;
    stroke: #333;
    stroke-width: 2px;
}

.treemap-visualization .cell text {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    overflow: hidden;
    text-overflow: ellipsis;
}

.meter-clear-button {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: #ccc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: white;
    font-size: 12px;
    line-height: 1;
    z-index: 10;
    display: none; 
  }

.meter-clear-button:hover {
    background: #999;
  }

.meter-field-wrapper {
    position: relative;
  }

h1.has-text-align-center.wp-block-post-title {
    display: none;
}

h1.meter-page-title {
    color: #443f68;
    font-size: 32px;
    font-weight: 700;
}

.titlediv-left {
    width: 43px;
    height: 43px;
    float: left;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-search.svg);
    background-size: contain;
}

.ss3 .meter-checkboxes-container, .ss3 .meter-radio-group {
    column-count: 2;
}

.ss3 label.meter-radio-label {
    float: left;
    width: fit-content !important;
}

.ss1 .meter-section-icon {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-suitcase.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.ss2 .meter-section-icon {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-scope.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.ss3 .meter-section-icon {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-vendor.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.ss4 .meter-section-icon {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-doc.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

label[for="search_keywords"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-keywords.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label[for="naics_code"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-naics.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label[for="psc_code"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-psc.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label[for="contract_value"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-price.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label[for="duration"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-duration.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label[for="agency"]:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-agency.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

.meter-location-options:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-location.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-assp:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-growth.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-otherent:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-entities.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-comps:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-biz-size.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-contt:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-contract.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-contvv:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-vehicle.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

#meter-upstarts-container {
    margin-top: 40px;
    padding: 30px;
    background-color: #f7f4ff;
    border-radius: 8px;
}

.meter-upstarts-header {
    margin-bottom: 20px;
}

.meter-upstarts-header h2 {
    color: #4a3e80;
    font-size: 24px;
    margin-bottom: 10px;
}

.meter-upstarts-header p {
    color: #555;
    max-width: 600px;
}

.meter-upstarts-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.meter-upstart-card {
    background: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.meter-upstart-name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

.meter-upstart-location, .meter-upstart-uei {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

.meter-innovation-records h4 {
    font-size: 14px;
    color: #888;
    margin: 15px 0 10px;
    text-transform: uppercase;
}

.meter-innovation-item {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.meter-innovation-type {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.sbir-badge, .patent-badge {
    background: #4a3e80;
    color: white;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}

.meter-upstart-card {
    border: 1px solid #0000002b;
    padding: 20px;
    background-color: white;
    margin-bottom: 23px;
    border-radius: 10px;
}

.patent-badge {
    background: #445e80;
}

.innovation-year {
    color: #888;
    font-size: 12px;
}

.meter-innovation-description {
    font-size: 13px;
    line-height: 1.4;
    color: #333;
}

.meter-quick-results.results-mode {
    background-color: #f5f7fa;  
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 15px;
    margin-bottom: 20px;
  }

.vendor-results-titles h3:before {
    content: '';
    display: inline-block;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/seal-vendor.svg);
    width: 50px;
    height: 50px;
    background-size: contain;
    transform: translate(-62px, -13px);
    POSITION: ABSOLUTE;
}

h3.meter-vendor-name.clickable {
    cursor: pointer;
    margin-left: 60px;
    width: calc(100% - 71px);
    margin-top: 12px;
}

p.rel-awards:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/uploads/2025/04/rel-award.svg);
    width: 19px;
    height: 19px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    transform: translate(1px, 6px);
}

h3.meter-vendor-name.clickable::first-letter {
    text-transform: uppercase;
}

h3.meter-vendor-name.clickable {
    text-transform: lowercase;
}

p.rel-awards {
    clear: both;
    color: #4f47e6 !important;
	font-weight:600;
}

p.uei, p.vendor-city {
    float: left;
}

p.vendor-city {
    padding-left: 23px;
}

.vendor-results-titles, .vendor-results-graph {
    float: left;
    width: 50%;
    overflow: auto;
}

.vendor-results-graph {
    background-color: #f4f4ff;
    height: 120px;
    padding-bottom: 71px;
    overflow: hidden;
    border-radius: 3px;
}

.meter-glance-grid .meter-vendor-metrics {
    margin-top: 0px;
    padding-top: 0px;
    border-top: none;
}

.meter-at-a-glance h2.meter-section-title {
    text-align: center;
    border-bottom: 1px solid #00000021;
    padding: 11px 0px !important;
    margin-top: -24px;
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
}

.meter-vendor-card {
    background-color: white;
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 7px;
    border: 1px solid #0000000f;
    overflow: auto;
    position: relative;
    box-shadow: 0px 6px 10px #00000017;
}

.meter-results-container {
     background: #fff;
     padding: 20px;
     border-radius: 8px;
     box-shadow: 0 2px 4px rgba(0,0,0,0.1);
 }

.meter-result-item {
     padding: 15px;
     border-bottom: 1px solid #eee;
 }

.meter-result-item:last-child {
     border-bottom: none;
 }

.meter-result-header {
     margin-bottom: 10px;
 }

.meter-result-title {
     font-size: 18px;
     font-weight: 600;
     color: #333;
 }

.meter-result-meta {
     font-size: 14px;
     color: #666;
     margin-top: 5px;
 }

.meter-pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 8px;
    align-items: center;
}

.meter-pagination a, .meter-pagination span {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
}

.meter-pagination a:hover {
    background-color: #f5f5f5;
}

.meter-pagination a.current {
    background-color: #393657;
    color: white;
    border-color: #393657;
}

.meter-pagination .page-ellipsis {
    border: none;
}

.meter-pagination {
     margin-top: 20px;
     display: flex;
     justify-content: center;
     gap: 10px;
 }

.meter-page-link {
     padding: 8px 12px;
     border: 1px solid #ddd;
     border-radius: 4px;
     text-decoration: none;
     color: #333;
 }

.meter-page-link.active {
     background: #007bff;
     color: #fff;
     border-color: #007bff;
 }

.meter-metrics-grid {
     display: grid;
     grid-template-columns: 1fr 1fr 2fr !important;
     gap: 16px;
     margin-top: 8px;
     width: calc(100% - 170px) !important;
 }

.meter-no-agencies, .meter-no-departments {
    color: #6b7280;
    font-style: italic;
    text-align: left;
    padding: 10px 0px;
}

.meter-vendor-metrics {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    width: 100%;
    float: none;
    clear: both;
}

.meter-avg-award {
     font-weight: 600;
     color: #2563eb;
     margin-bottom: 10px;
 }

.meter-vendor-agencies h4 {
     margin: 0 0 8px 0;
     font-size: 14px;
     color: #4b5563;
 }

.meter-vendor-agencies ol {
     margin: 0;
     padding-left: 20px;
 }

.meter-vendor-agencies li {
     margin-bottom: 4px;
     color: #374151;
 }

.meter-metrics-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 16px;
     margin-top: 8px;
 }

.meter-metric-card {
    border-radius: 6px;
    padding: 16px;
    border: 1px solid #443f6821 !important;
}

.meter-metric-title {
     font-size: 14px;
     color: #6b7280;
     margin-bottom: 8px;
 }

.meter-metric-value {
     font-size: 24px;
     font-weight: 600;
     color: #111827;
 }

.meter-top-agencies-list {
     display: flex;
     flex-direction: column;
     gap: 8px;
 }

.meter-agency-item {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 8px;
     background: #f9fafb;
     border-radius: 4px;
 }

.meter-agency-name {
     font-weight: 500;
     color: #374151;
 }

.meter-agency-count {
     font-size: 14px;
     color: #6b7280;
 }

.meter-valid {
     border-color: #10B981 !important;
     border-width: 2px !important;
 }

.offnow {
    opacity: .4;
}

.meter-invalid {
     border-color: #EF4444 !important;
     border-width: 2px !important;
 }

.meter-input.meter-valid {
     border-color: #10B981;
     border-width: 2px;
     transition: border-color 0.2s ease;
 }

.meter-input.meter-invalid {
     border-color: #EF4444;
     border-width: 2px;
     transition: border-color 0.2s ease;
 }

.meter-build-search-container {
     max-width: 800px;
     margin: 0 auto;
     padding: 20px;
 }

.meter-page-title {
     font-size: 24px;
     color: #111827;
     margin-bottom: 24px;
 }

.meter-search-section {
    background: #422ebd08;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
    padding: 20px;
    grid-template-columns: 1fr 1fr !important;
    display: grid;
    border: 1px solid #0000000f;
}

.meter-section-header {
     display: flex;
     gap: 16px;
     margin-bottom: 20px;
 }

.meter-icon {
     width: 24px;
     height: 24px;
     fill: #4f46e5;
 }

.meter-section-title h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0px !important;
}

.meter-section-title p {
    margin: 4px 0 0;
    color: #464B64;
    font-size: 12px !important;
    font-weight: 300;
    text-transform: none !important;
    letter-spacing: 0px !important;
    max-width: 85%;
}

.meter-field-group {
    margin-bottom: 20px;
    border: 1px solid #dcdcdc;
    padding: 15px;
    border-radius: 6px;
}

.meter-field-group label span {
    font-weight: 300;
    opacity: .9;
    font-style: normal;
}

.meter-field-label {
     display: block;
     margin-bottom: 8px;
     font-weight: 500;
     color: #374151;
 }

.meter-field-group label {
    border-bottom: 1px solid #e3e3e3;
    width: 100% !important;
    display: block;
    margin-bottom: 10px;
    padding-bottom: 6px;
    padding-left: 6px;
    color: #2f2c3e;
    font-size: 15px !important;
    font-weight: 600;
}

.meter-field-group p.psmall {
    font-style: italic;
}

.meter-field-wrapper {
     display: flex;
     gap: 12px;
 }

.meter-input {
     width: 100%;
     padding: 8px 12px;
     border: 1px solid #d1d5db;
     border-radius: 6px;
     font-size: 14px;
     transition: border-color 0.15s ease;
 }

.meter-input:focus {
     outline: none;
     border-color: #4f46e5;
     box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
 }

.meter-quick-results-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

.meter-quick-results-header h4 {
     margin: 0;
     font-size: 16px;
     color: #111827;
 }

.meter-results-count {
     font-weight: 600;
     color: #4f46e5;
 }

.meter-form-actions {
    display: flex;
        justify-content: flex-end;
        padding: 20px 0;
        position: fixed;
        bottom: 40px;
        z-index: 991; /* over the bottom metrics bar it sits on */
        right: 18px;
 }

.meter-button {
     padding: 8px 16px;
     border-radius: 6px;
     font-weight: 500;
     font-size: 14px;
     cursor: pointer;
     transition: all 0.15s ease;
 }

.meter-button-primary {
    background: #352597;
    color: white;
    border: none;
}

.meter-button-primary:hover {
     background: #4338ca;
 }

.meter-button-primary:focus {
     outline: none;
     box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.3);
 }

.meter-quick-results {
    background: #f3f4f6;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 0px;
    display: block !important;
    position: fixed;
    bottom: 0px;
    width: 100vw;
    background-color: rgb(254 245 235);
    z-index: 990; /* above the form's section headers and the theme's back-to-top arrow */
    box-shadow: 0px -4px 20px #0000000f;
    border-top: 4px solid #4f47e617;
    border-radius: 0px !important;
}

.meter-metric-value.meter-results-count {
     font-size: 60px;
     font-weight: 700;
 }

.meter-metrics-split {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.meter-metrics-column {
    flex: 1;
    min-width: 200px;
}

.agencies-list, .departments-list {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 129%;
}

.agencies-list li, .departments-list li {
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.agency-name, .department-name {
    font-weight: 500;
}

.contract-count {
    color: #666;
    font-size: 0.9em;
}

.meter-export-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 15px;
}

.meter-applied-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.meter-value-label {
    font-size: 9px;
    letter-spacing: 0.8px;
}

.meter-type-label {
    position: absolute;
    transform: translate(31px, -4px);
}

.filter-pill {
    display: flex;
    align-items: center;
    background-color: #ffe8c6;
    border-radius: 20px;
    padding: 8px 12px;
    margin-right: 10px;
    margin-bottom: 10px;
    border: 1px solid #00000012;
}

.filter-pill-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

.filter-pill-content {
    display: flex;
    flex-direction: column;
}

.filter-pill-title {
    font-size: 12px;
    margin: 0;
    color: #6b7280;
    font-weight: 600;
}

.filter-pill-value {
    font-size: 14px;
    margin: 0;
    color: #111827;
}

.meter-applied-filters {
    display: flex;
    flex-wrap: wrap;
    margin-right: 10px;
}

.meter-export-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
}

#export-results {
    padding: 8px 16px;
    background-color: #4a5568;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
}

#export-results:hover {
    background-color: #2d3748;
}

.meter-metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    width: 100%;
}

.results-mode .meter-metrics-grid {
    grid-template-columns: 1fr 3fr !important;
    width: calc(100% - 28px) !important;
}

.vendor-results-graph h6 {
    text-align: center;
    opacity: .5;
}

h3.meter-vendor-name.clickable {
    cursor: pointer;
}

.meter-metrics-grid.results-mode .meter-metric-card:first-child {
    grid-column: 1 / -1;
}

.meter-metric-loading {
   opacity: 0.4;
   transition: opacity 0.3s ease;
 }

.meter-loading-indicator {
   display: inline-block;
   width: 20px;
   height: 20px;
   background-color: red; 
   margin-left: 10px;
   vertical-align: middle;
   animation: pulse 1.5s infinite ease-in-out;
   display: none; 
 }

@keyframes pulse {
   0% { opacity: 1; }
   50% { opacity: 0.4; }
   100% { opacity: 1; }
 }

.meter-contact-grid {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

.meter-contact-column {
    padding: 0 10px;
}

.meter-contact-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    font-weight: 600;
}

.meter-section-title {
    font-size: 18px;
    color: #4842b7;
    margin-bottom: 10px;
    font-weight: 600;
}

.meter-website-link {
    color: #4842b7;
    text-decoration: none;
    font-weight: 500;
}

.meter-contact-name, 
.meter-contact-email, 
.meter-address-text {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 16px;
}

.meter-type-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-color: #4842b7; 
    border-radius: 4px;
    margin-right: 10px;
    color: transparent; 
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
  }

.meter-section-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 12px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

.meter-glance-grid .meter-section-icon {
    background-image: url('/wp-content/plugins/meter-search/assets/icon-bs-growth.svg');
  }

.meter-vendor-contracts .meter-section-icon {
    background-image: url('/wp-content/plugins/meter-search/assets/icon-bs-contract.svg');
  }

.meter-contact-information .meter-section-icon {
    background-image: url('/wp-content/plugins/meter-search/assets/icon-bs-agency.svg');
  }

.meter-award-start, .meter-award-end, .meter-award-duration {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}

.meter-vendor-details {
    background: #e7f3ff;
    border-radius: 8px;
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
    position: fixed;
    width: 100vw;
    z-index: 9;
    height: 90vh;
    overflow-y: auto;
    top: 5vh;
    left: 0;
    right: 0;
}

.meter-vendor-header {
     position: relative;
     margin-bottom: 24px;
 }

.meter-back-button {
     display: inline-block;
     padding: 8px 16px;
     background: #f1f3f5;
     border: 1px solid #d1d5db;
     border-radius: 4px;
     font-size: 14px;
     margin-bottom: 12px;
     cursor: pointer;
     color: #4b5563;
 }

.meter-back-button:hover {
     background: #e5e7eb;
 }

.meter-vendor-name {
     font-size: 36px;
     font-weight: 700;
     color: #111827;
     margin: 0 0 8px 0;
 }

.meter-vendor-identity {
     display: flex;
     align-items: center;
     gap: 16px;
     margin-bottom: 16px;
 }

.meter-vendor-uei, .meter-vendor-location {
     padding: 4px 8px;
     background: #e5e7eb;
     border-radius: 4px;
     font-size: 14px;
     color: #4b5563;
 }

.meter-relevance-indicators {
     display: flex;
     flex-wrap: wrap;
     gap: 12px;
     margin-top: 12px;
 }

.meter-relevance-tag {
     display: inline-flex;
     align-items: center;
     padding: 6px 12px;
     background: #e0e7ff;
     color: #4338ca;
     border-radius: 20px;
     font-size: 14px;
     font-weight: 500;
 }

.meter-section-title {
     font-size: 18px;
     font-weight: 600;
     color: #6b7280;
     margin: 0 0 16px 0;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

.meter-subsection-title {
     font-size: 14px;
     font-weight: 600;
     color: #6b7280;
     margin: 0 0 12px 0;
     text-transform: uppercase;
     letter-spacing: 0.05em;
 }

.meter-at-a-glance {
     background: #fff;
     border-radius: 8px;
     padding: 24px;
     margin-bottom: 24px;
     box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 }

.meter-glance-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 24px;
 }

.meter-award-range-chart {
     position: relative;
     height: 200px;
     background: #f1f5f9;
     border-radius: 8px;
     margin-top: 16px;
     
 }

.meter-avg-award-value {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     text-align: center;
 }

#vendor-avg-award {
     display: block;
     font-size: 24px;
     font-weight: 700;
     color: #4338ca;
 }

.meter-avg-label {
     font-size: 14px;
     color: #6b7280;
 }

.meter-common-agencies, .meter-common-naics {
     margin-bottom: 20px;
 }

.meter-agency-list, .meter-naics-list {
     background: #fff;
     border-radius: 8px;
     overflow: hidden;
 }

.meter-awards-table {
     border-radius: 8px;
     overflow: hidden;
     box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 }

.meter-contract-item:last-child {
     border-bottom: none;
 }

.meter-contract-info {
     display: flex;
     flex-direction: column;
     gap: 8px;
     padding-right: 16px;
     position: relative;
 }

.meter-contract-number {
     font-weight: 600;
     font-size: 14px;
     color: #4338ca;
 }

.meter-contract-agency {
     font-weight: 600;
     font-size: 16px;
     color: #111827;
 }

.meter-contract-description:before {
    content: 'DESCRIPTION';
    position: absolute;
    margin: -12px 0px;
    font-size: 9px;
    letter-spacing: 0.8px;
}

.meter-contract-description {
    font-size: 14px;
    color: #4b5563;
    margin-bottom: 8px;
    margin-top: 28px;
}

.meter-award-value-type {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    background-color: #ddddff;
    width: max-content;
    position: absolute;
    right: 0px;
    border-radius: 50px;
    padding: 9px;
}

.meter-award-type {
     display: flex;
     align-items: center;
     gap: 6px;
     padding: 4px 8px;
     background: #eef2ff;
     border-radius: 4px;
     font-size: 14px;
 }

.meter-type-icon {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 24px;
     height: 24px;
     background: #4338ca;
     color: white;
     border-radius: 4px;
     font-size: 14px;
     font-weight: 700;
 }

.meter-award-naics {
     margin-top: 8px;
 }

.meter-naics-code {
     display: inline-block;
     padding: 2px 6px;
     background: #f3f4f6;
     border-radius: 4px;
     font-weight: 600;
     margin-right: 8px;
 }

.meter-naics-description {
     font-size: 14px;
     color: #4b5563;
 }

.meter-award-start, 
 .meter-award-end {
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 14px;
     color: #4b5563;
 }

p.psmall.l2-bs {
    transform: translate(49px, -18px);
    font-style: italic;
    opacity: .8;
}

p.l1-bs {
    transform: translate(7px, 4px);
    color: #101827;
}

.duration-group .meter-radio-group {
    column-count: 2;
    border: none;
}

.meter-award-duration {
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 600;
     color: #111827;
 }

.meter-ceiling-amount {
     font-weight: 700;
     color: #111827;
 }

.meter-contact-information {
     background: #fff;
     border-radius: 8px;
     padding: 24px;
     margin-top: 24px;
     box-shadow: 0 1px 3px rgba(0,0,0,0.1);
 }

.meter-contact-label {
     font-size: 12px;
     font-weight: 600;
     color: #6b7280;
     margin: 0 0 8px 0;
     text-transform: uppercase;
 }

.meter-website-link {
     display: inline-block;
     color: #4338ca;
     font-weight: 500;
     text-decoration: none;
 }

.meter-address-text {
     font-size: 14px;
     line-height: 1.5;
     color: #4b5563;
 }

.meter-contact-name, .meter-contact-email {
     font-size: 14px;
     color: #4b5563;
     margin-bottom: 16px;
 }

@media (max-width: 1024px) {
     .meter-glance-grid, .meter-contact-grid {
         grid-template-columns: 1fr;
     }
     
     .meter-awards-table-header, .meter-contract-item {
         grid-template-columns: 1fr;
     }
     
     .meter-award-start, .meter-award-end, .meter-award-duration,
     .meter-award-ceiling, .meter-award-status {
         padding: 8px 0;
         justify-content: flex-start;
     }
     
     .meter-awards-table-header > div:not(:first-child) {
         display: none;
     }
 }

@media (max-width: 768px) {
     .meter-search-grid {
         grid-template-columns: 1fr;
     }
 }

.meter-awards-table-header {
     display: grid;
     grid-template-columns: 6fr 1fr 1fr 1fr 1.4fr 0.8fr;
     padding: 12px 16px;
     background: #f3f4f6;
     font-weight: 600;
     color: #374151;
     font-size: 14px;
 }

.meter-contract-item {
     display: grid;
     grid-template-columns: 6fr 1fr 1fr 1fr 1.4fr 0.8fr;
     padding: 16px;
     background: #fff;
     border-bottom: 1px solid #e5e7eb;
 }

.meter-award-start, 
 .meter-award-end,
 .meter-award-duration {
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 14px;
 }

.meter-award-ceiling {
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
 }

.meter-ceiling-amount {
     font-weight: 600;
     color: #111827;
 }

.meter-obligation-percentage {
     font-size: 12px;
     color: #6b7280;
 }

.meter-award-status {
     display: flex;
     justify-content: center;
     align-items: center;
 }

.meter-thumbs-up {
     width: 24px;
     height: 24px;
     background: #10b981;
     border-radius: 50%;
 }

@media (max-width: 768px) {
     .meter-awards-table-header, 
     .meter-contract-item {
         grid-template-columns: 1fr;
     }
     
     .meter-awards-table-header > div:not(:first-child) {
         display: none;
     }
     
     .meter-award-start, 
     .meter-award-end, 
     .meter-award-duration, 
     .meter-award-ceiling, 
     .meter-award-status {
         justify-content: flex-start;
         padding: 4px 0;
     }
 }


/* ---- from the footer custom-CSS entry ---- */

.meter-vendor-details-panel p.psmall.vendor-entity-url {
    margin-top: -23px !important;
}

/* The Build Search form: the same green frosted glass as the opportunities pages'
   panels (see .opp-glass there), with the same texture (assets/green-tex.jpg, a copy of
   meter-opportunities' file). The blur sits on ::before rather than the form, because
   backdrop-filter on the form would trap any position:fixed child inside it. For the
   same reason the form must not start its own stacking context (no isolation, no
   z-index): the fixed "Show Vendors" button inside it has to stack above the Quick
   Metrics panel at page level. */
form#meter-build-search-form {
    position: relative;
    border: 1px solid rgba(32, 178, 170, 0.35);
    /* The navy edge in the mini menu's felt: the border itself is see-through,
       and a 7px slice of assets/navy-tex.jpg (navy-tex-strip.jpg, cropped, not
       squashed) is painted under it. */
    border-top: 7px solid transparent;
    background: transparent url("../../assets/navy-tex-strip.jpg") top left / 1024px 7px repeat-x border-box;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 4px 18px rgba(32, 178, 170, 0.10);
}
form#meter-build-search-form::before,
form#meter-build-search-form::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
}
form#meter-build-search-form::before {
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
form#meter-build-search-form::after {
    background-image: url("../../assets/green-tex.jpg");
    background-size: 320px 320px;
    opacity: 0.10;
    filter: saturate(1.7) brightness(2.1);
}

label[for="vendor_name"]:before {
    content: '' !important;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-shop.svg) !important;
    width: 24px !important;
    height: 24px !important;
    display: inline-block !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.lab-samcheck:before {
    content: '' !important;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-shop.svg) !important;
    width: 24px !important;
    height: 24px !important;
    display: inline-block !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

.ss3 .meter-section-header, .ss4 .meter-section-header {
    max-width: 50%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    display: inline-block;
}

.ss3 .meter-section-icon, .ss4 .meter-section-icon {
    float: left;
}

.meter-section-title, .meter-section-icon {
	transition: none !important;
}

.meter-search-form, .meter-search-section {
	position:relative !important;
}

p.psmall.vendor-hq-location {
    margin-top: 11px;
    margin-bottom: 2px;
}

.meter-build-search-container {
max-width: 1000px !important;
margin: 0 auto;
padding: 20px;
}

.page-id-683 .parent-section .container {
padding: 0px !important;
	width:100%;
}

.meter-search-section.ss4 {
grid-template-columns: 1fr !important;
}

/* Side 1 only: the live selector had a non-breaking space before .locations-side2, which made that half match nothing. Kept that way so the layout doesn't change. */
.locations-side1 {
float: left;
display: block;
width: 50%;
position: relative;
}

div#meter-results-title {
    margin-top: 93px !important;
}

a#back-to-search {
    margin-top: 71px;
}


.meter-metric {
    background: white;
    width: fit-content;
    padding: 2px 10px;
    float: left;
    border-radius: 20px;
    margin-right: 11px;
    margin-top: 9px;
}

h4.meter-signal-category {
    clear: both;
    width: 100%;
    border-bottom: 1px solid black;
    margin-bottom: 12px;
    padding-top: 37px;
}

.meter-location-options {
    overflow: auto;
}

.meter-location-options label.meter-radio-label {
    float: left;
    width: 33% !important;
}

.input-subcat h5 {
    color: #4f46e6 !important;
    font-size: 14px !important;
    letter-spacing: 2px !important;
    margin-top: 41px;
    margin-bottom: 22px;
}

div div .meter-section-icon {
    width: 93px !important;
	max-width: 93px !important;
}

.ss1 .meter-field-group:nth-child(2) .meter-clear-button {
    margin-top: -62px;
}

.terminations {
    background-color: #ffedf2;
}

.meter-view-btn {
    background-color: #fdcc83;
}

span.meter-agency-name, span.meter-department-name {
    color: black !important;
    font-weight: 600 !important;
}

.meter-agency-item, .meter-department-item {
    padding: 0px !important;
    background: none !important;
}

div .meter-metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 3fr !important;
    gap: 16px;
    margin-top: 8px;
    width: calc(100% - 170px) !important;
}

.meter-top-agencies-list, .meter-top-departments-list {
    display: flex;
    flex-direction: column;
    gap: 0px !important;
}

.ss4 .meter-checkboxes-container, .ss4 .meter-radio-group {
    column-count: 2;
}

#subagencies-container {
    column-count: 1 !important;
}

.ss3 .meter-section-content {
    background: #422ebd08;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
    padding: 20px;
    grid-template-columns: 2fr 1fr !important;
    display: grid;
    border: 1px solid #0000000f;
}

.ss3.meter-search-section {
    grid-template-columns: 1fr !important;
}

.meter-search-form, .meter-search-section {
    position: relative !important;
}

.meter-valid {
    border-color: #00dcbf !important;
    border-width: 3px !important;
    box-shadow: 0px 0px 20px #00dcbf99;
}

.meter-search-section {
    background-color: #f3fff7 !important;
}

p.vendor-city {
    padding-left: 32px !important;
}

p.vendor-city:before {
    content: '';
    display: block;
    position: absolute;
    width: 9px;
    height: 25px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/uploads/2025/07/badge-pin.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin-left: -14px;
    margin-top: -5px;
}

p.uei.psmall {
    margin-left: 30px;
}

p.uei.psmall:before {
    content: '';
    display: block;
    position: absolute;
    width: 23px;
    height: 40px;
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/uploads/2025/07/badge-uei.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin-left: -30px;
    margin-top: -12px;
}

h3.meter-vendor-name.clickable {
    font-size: 28px !important;
    max-width: 67% !important;
}

.meter-button-primary[disabled]::after {
    content: 'Filter to fewer than 50 vendors';
    position: absolute;
    right: 21px;
    bottom: -25px;
    width: 84px;
    text-align: center;
    font-size: 10px;
    font-weight: 600 !important;
    line-height: 120%;
    letter-spacing: .5px;
	color:black;
}

label.meter-field-label.lab-agencies:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-agency.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

label.meter-field-label.lab-subagencies:before {
    content: '';
    background-image: url(https://maxbat4.dreamhosters.com/wp-content/plugins/meter-search/assets/icon-bs-biz-size.svg);
    width: 24px;
    display: inline-block;
    height: 24px;
    margin-bottom: -7px;
    transform: translateX(-7px);
}

.meter-button-primary {
    background: #4f47e6;
	opacity:1;
}

.meter-button-primary[disabled] {
background: #352597;
	opacity:.6;
}

/* ---- shared across plugins (badges, small print), from the last Simple Custom CSS entry ---- */

.badge {
    margin-left: auto;
    margin-right: auto;
    display: block !important;
    width: fit-content;
    background-color: #f9f2fe !important;
    margin-top: -50px;
}

div .smallp, div .psmall {
	font-size: 11.5px !important;
	line-height: 140% !important;
}


/* ---- SITE-WIDE THEME RULES, from the last Simple Custom CSS entry ----
 * Menu items, navbar, headings, body background. These belong to the theme,
 * but the child theme's style.css is served as style.css?ver=2.3 — a URL that
 * never changes — so Cloudflare and browsers keep an edit to it for up to 30
 * days. This file's URL changes with every upload. They move to style.css if
 * that ever gets a changing version number.
 */

div #mega-menu {
	height:0px;
}

div #mega-menu.in {
	height:300px;
}

.home #hero a.h1button.inner-link.button.btn.highlight-button.btn-large {
    margin-top: -5px;
}

.blog .shrink-nav a.logo-light {
    display: block !important;
}

.blog .shrink-nav a.logo-dark {
    display: none !important;
}

.home li#menu-item-722 {
    margin-left: 93px;
}

li#menu-item-4114:before {
    content: '';
    position: absolute;
    height: 39px;
    width: 300px;
    margin-top: -3px !important;
    margin-left: -23px;
    z-index: -1;
    border-radius: 40px;
    border: 1px solid #0000001f;
    border-style: dotted;
    border-width: 2px;
}

li#menu-item-733, li#menu-item-732, li#menu-item-2814, li#menu-item-2617, li#menu-item-4114, li#menu-item-53223 {
    float: right;
	margin-right:0px;
}

li#menu-item-4114:before {
	content:'';
}

li#menu-item-732 {
    margin-left: 3px !important;
    margin-right: 3px !important;
}

.menu-item-2617 a {
    border: 1px solid black;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    line-height: 12px;
    border-bottom: 1px solid black ! IMPORTANT;
    padding-left: 8px !important;
    padding-right: 9px !important;
    border-radius: 3px;
    margin-top: 4px;
}

ul#menu-main {
    width: 100%;
}

div#mega-menu {
    display: block;
    width: 100% !important;
}

h6 {
    letter-spacing: 0.8px;
    font-weight: 700;
    line-height: 93%;
}

/* body h4, not h4: loaded in style.css this must outrank the theme's generated h4 size, which loads after it. */
body h4 {
    font-size: 18px;
    max-width: 90%;
}

div h3 {
    font-size: 21px !important;
}

body {
	background-color: #F2FFF7 !important;
}

nav:not(.shrink-nav) .row {
    border-bottom: 1px solid #00000017;
}

body.page-template-default.page:before {
    content: '';
    width: 100%;
    background-color: #443f6800;
    display: block;
    position: fixed;
    height: 46px;
    z-index: 9;
}

h4 {
    font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Familjen Grotesk', sans-serif !important;
}

/* Build Search: each two-column section's icon and title stay in view while its fields
   scroll, and stop at the bottom of their own section. This replaces the ScrollTrigger
   pins on .ss1/.ss2, which ran past the section into the next one. */
@media (min-width: 900px) {
    .meter-search-section:not(.ss3):not(.ss4) > .meter-section-header {
        position: sticky;
        top: 100px;
        align-self: start;
        z-index: 2;
    }
}

/* Search pages: a subdued triangular grid on the page background, in the reports'
   green. Reports have the green bar paper and Opportunities the kraft grid; this is
   the third. It scrolls with the page; meter-scroll.js sets --meter-tri-y so it
   trails the content very slightly. The homepage ([meter_home]) shares it, behind
   everything below its hero. */
body:has(.meter-build-search-container),
body:has(#meter-home) {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='44' height='76' viewBox='0 0 44 76'><path fill='none' stroke='%235A8F7B' stroke-opacity='.13' stroke-width='1.6' d='M-44 0H88M-44 38H88M-44 76H88M-66 -38L22 114M22 -38L-66 114M-22 -38L66 114M66 -38L-22 114M22 -38L110 114M110 -38L22 114'/></svg>");
    background-size: 44px 76px;
    background-position: 0 var(--meter-tri-y, 0px);
    /* The theme animates body changes, so each scroll update to the grid's position
       eased in late and wobbled. The grid must follow the scroll exactly. */
    transition: none !important;
}
body:has(.meter-build-search-container) form#meter-build-search-form,
body:has(.meter-build-search-container) form#meter-build-search-form::before,
body:has(.meter-build-search-container) form#meter-build-search-form::after {
    transition: none !important;
}

/* ---- Search results ---- */

/* Top agencies on a result card: seal, buying office (with its department), count */
.meter-vendor-card .meter-agency-list { list-style: none; margin: 6px 0 14px; padding: 0; }
.meter-vendor-card .meter-agency-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 5px 0; margin: 0; font-size: 14px; }
.meter-vendor-card .meter-agency-list b { font-weight: 600; color: #20232F; }
.meter-vendor-card .meter-agency-list small { color: #6A6690; font-size: 12px; }
.meter-vendor-card .meter-agency-n { color: #6A6690; font-size: 12.5px; white-space: nowrap; }
.meter-vendor-card .meter-agency-seal { width: 24px; height: 24px; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid rgba(0,0,0,0.08); max-width: none; display: block; }

/* Paywall: blurred stand-in rows for the vendors a logged-out visitor can't see.
   They hold no vendor data: the bars are placeholders, the meta is award count and agency. */
.meter-locked { position: relative; margin: 8px 0 30px; }
.meter-locked-rows { filter: blur(2.5px); opacity: .75; pointer-events: none; user-select: none; }
.meter-locked-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); padding: 20px 24px; margin-bottom: 10px; }
.meter-locked-name { display: block; height: 16px; border-radius: 3px; background: #3624AC; opacity: .55; }
.meter-locked-meta { font-size: 13px; color: #6A6690; white-space: nowrap; }

/* The upsell: the homepage's yellow-bar "Try Meter Pro" box */
.meter-upsell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin: 14px auto 0; max-width: 820px; background: #F6F2E3; padding: 28px 36px; box-shadow: 0 8px 14px 2px rgba(0,0,0,0.08); }
.meter-locked.meter-locked-over .meter-upsell { margin-top: -150px; }
.meter-upsell::before, .meter-upsell::after { content: ""; position: absolute; top: 0; bottom: 0; width: 8px; background: #FBE248; }
.meter-upsell::before { left: 0; }
.meter-upsell::after { right: 0; }
.meter-upsell .meter-upsell-kicker { margin: 0 0 6px !important; font: 700 12px/1.2 "Public Sans", sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #6A6690 !important; }
.meter-upsell h3.meter-upsell-title { margin: 0 !important; font: 700 26px/1.15 "Familjen Grotesk", sans-serif !important; letter-spacing: .02em; color: #3624AC !important; text-align: left !important; }
.meter-upsell .meter-upsell-body { margin: 8px 0 0 !important; font-size: 15px !important; line-height: 1.5 !important; color: #443F68 !important; }
.meter-upsell .meter-upsell-btn { display: inline-block; background: #FBE248; color: #352597 !important; padding: 14px 24px; font: 800 15px/1 "Familjen Grotesk", sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; white-space: nowrap; border-radius: 2px; box-shadow: 0 4px 10px -4px rgba(32,35,47,0.4); }
.meter-upsell .meter-upsell-btn:hover { background: #F9D71C; }
@media (max-width: 700px) {
    .meter-upsell { grid-template-columns: 1fr; padding: 24px; }
    .meter-locked.meter-locked-over .meter-upsell { margin-top: -110px; }
    .meter-locked-meta { white-space: normal; text-align: right; }
}

/* Vendor popup: the integrity dot on each contract row (see meterIntegrityDot).
   Grey = no FAPIIS record on file yet; green/amber/red once there is one. */
.meter-integrity-dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: #C9CCD6; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06); cursor: help; }
.meter-integrity-dot.green { background: #1F9D6B; }
.meter-integrity-dot.amber { background: #E0A11B; }
.meter-integrity-dot.red { background: #C8412B; }
.meter-award-status { display: flex; align-items: center; justify-content: center; }

/* Vendor popup: "Show more" under the contract list */
.meter-contracts-more { display: block; width: 100%; margin: 0; padding: 14px; border: 0; border-top: 1px solid #e5e7eb; background: #F7F6FF; color: #3624AC; font: 600 14px/1 "Public Sans", sans-serif; cursor: pointer; }
.meter-contracts-more:hover { background: #EEEBFF; }

/* ---- Vendor popup: header ----
   Scoped under .meter-vendor-details so the theme's global h1/p rules (which made the
   name ~64px) don't apply. */
.meter-vendor-details .meter-vendor-header { position: relative; margin: 0 0 20px; padding: 18px 28px 22px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.meter-vendor-details .meter-back-button { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 18px; padding: 6px 12px 6px 8px; background: transparent; border: 1px solid rgba(66,46,189,0.22); border-radius: 16px; font: 600 13px/1 "Public Sans", sans-serif; color: #3624AC; cursor: pointer; }
.meter-vendor-details .meter-back-button:hover { background: #F4F2FF; }
.meter-vendor-details p.meter-vh-kicker { margin: 0 0 6px !important; font: 700 11.5px/1 "Public Sans", sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: #6A6690 !important; }
.meter-vendor-details h1.meter-vendor-name { margin: 0 0 10px !important; font: 700 40px/1.08 "Familjen Grotesk", sans-serif !important; letter-spacing: -0.01em; color: #20232F !important; }
.meter-vendor-details .meter-vendor-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0 0 14px; font: 400 14px/1.5 "Public Sans", sans-serif; color: #443F68; }
.meter-vendor-details .meter-vendor-uei, .meter-vendor-details .meter-vendor-location { padding: 0; background: none; border-radius: 0; font-size: 14px; color: #443F68; }
.meter-vendor-details .meter-vendor-identity > *:not(:first-child):not([style*="display: none"])::before { content: "·"; display: inline-block; margin: 0 10px; color: #A7A4C2; text-decoration: none; }
.meter-vendor-details .meter-vh-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #6A6690; margin-right: 4px; }
.meter-vendor-details a.meter-vendor-site { color: #3624AC !important; text-decoration: underline; text-decoration-color: rgba(54,36,172,0.35); text-underline-offset: 3px; border: 0 !important; }
.meter-vendor-details a.meter-vendor-site:hover { text-decoration-color: #3624AC; }
.meter-vendor-details .meter-relevance-indicators { gap: 8px; margin: 0; }
.meter-vendor-details .meter-relevance-tag { gap: 0.3em; padding: 5px 12px; background: #F4F2FF; color: #3624AC; border: 1px solid rgba(66,46,189,0.16); border-radius: 14px; font: 600 13px/1.3 "Public Sans", sans-serif; }
.meter-vendor-details .meter-relevance-tag.sewp { background: #EAF7F1; color: #1F6B4C; border-color: rgba(31,107,76,0.2); }
@media (max-width: 700px) {
    .meter-vendor-details .meter-vendor-header { padding: 14px 16px 18px; }
    .meter-vendor-details h1.meter-vendor-name { font-size: 30px !important; }
}

/* ---- Vendor popup: summary strip ---- */
.meter-vendor-details .meter-vendor-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.7fr) minmax(0, 1.2fr); margin: 0 0 20px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.meter-vendor-details .meter-vendor-summary:empty { display: none; }
.meter-vendor-details .ms-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px 20px; border-left: 1px solid #ECEAF5; }
.meter-vendor-details .ms-cell:first-child { border-left: 0; }
.meter-vendor-details .ms-label { font: 700 11px/1.2 "Public Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6A6690; }
.meter-vendor-details .ms-value { font: 700 26px/1.1 "Familjen Grotesk", sans-serif; color: #3624AC; }
.meter-vendor-details .ms-sub { font: 400 12.5px/1.35 "Public Sans", sans-serif; color: #6A6690; }
.meter-vendor-details .ms-offices ol { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.meter-vendor-details .ms-offices li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; align-items: center; margin: 0; font: 600 13px/1.25 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .ms-offices li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meter-vendor-details .ms-offices li b { font-weight: 600; color: #6A6690; font-size: 12.5px; }
.meter-vendor-details .ms-offices img, .meter-vendor-details .ms-noseal { width: 22px; height: 22px; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid rgba(0,0,0,0.08); max-width: none; display: block; }
.meter-vendor-details .ms-fapiis { display: inline-flex; align-items: center; gap: 8px; font: 700 15px/1.2 "Familjen Grotesk", sans-serif; color: #20232F; }
@media (max-width: 900px) {
    .meter-vendor-details .meter-vendor-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .meter-vendor-details .ms-cell { border-left: 0; border-top: 1px solid #ECEAF5; }
    .meter-vendor-details .ms-offices { grid-column: 1 / -1; }
}

/* ---- Vendor popup: contracts list ---- */
.meter-vendor-details .meter-contracts-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 0 12px; }
.meter-vendor-details .meter-contracts-head h2.meter-section-title { margin: 0 !important; font: 700 22px/1.2 "Familjen Grotesk", sans-serif !important; letter-spacing: 0; text-transform: none; color: #20232F !important; }
.meter-vendor-details .mc-count { color: #6A6690; font-weight: 600; }
.meter-vendor-details .meter-contracts-sort { display: inline-flex; align-items: center; gap: 4px; font: 600 12px/1 "Public Sans", sans-serif; color: #6A6690; }
.meter-vendor-details .meter-contracts-sort > span { margin-right: 4px; letter-spacing: .08em; text-transform: uppercase; font-size: 11px; }
.meter-vendor-details .meter-contracts-sort button { padding: 6px 11px; border: 1px solid rgba(66,46,189,0.2); background: #fff; color: #3624AC; border-radius: 14px; font: 600 12.5px/1 "Public Sans", sans-serif; cursor: pointer; }
.meter-vendor-details .meter-contracts-sort button.active { background: #3624AC; border-color: #3624AC; color: #fff; }
.meter-vendor-details .meter-awards-table { background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); overflow: hidden; }
.meter-vendor-details .mc-head, .meter-vendor-details .mc-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px 118px 56px; gap: 18px; padding: 14px 20px; }
.meter-vendor-details .mc-head { padding-top: 11px; padding-bottom: 11px; background: #F7F6FB; border-bottom: 1px solid #ECEAF5; font: 700 11px/1 "Public Sans", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6A6690; }
.meter-vendor-details .mc-head span:last-child, .meter-vendor-details .mc-flag { text-align: center; }
.meter-vendor-details .mc-row { border-top: 1px solid #F0EEF6; align-items: start; }
.meter-vendor-details .meter-contracts-list > .mc-row:first-child { border-top: 0; }
.meter-vendor-details .mc-office { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 600 13.5px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mc-office img { width: 20px; height: 20px; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid rgba(0,0,0,0.08); max-width: none; }
.meter-vendor-details .mc-office code { font: 500 11.5px/1 ui-monospace, "SF Mono", Menlo, monospace; color: #6A6690; background: #F4F2FF; padding: 3px 6px; border-radius: 4px; }
.meter-vendor-details p.mc-desc { margin: 6px 0 8px !important; font: 400 13.5px/1.45 "Public Sans", sans-serif !important; color: #443F68 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.meter-vendor-details .mc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.meter-vendor-details .mc-type, .meter-vendor-details .mc-naics { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 9px 3px 3px; border-radius: 11px; background: #F4F2FF; font: 500 11.5px/1.2 "Public Sans", sans-serif; color: #443F68; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.meter-vendor-details .mc-type i { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #3624AC; color: #fff; font: 700 10px/1 "Public Sans", sans-serif; font-style: normal; }
/* contract type: the Build Search form's yellow icon (see .contract-type-icon there) */
.meter-vendor-details .mc-type i.mc-type-ic { width: 18px; height: 18px; border-radius: 4px; background: #fdcc82; }
.meter-vendor-details .mc-type i.mc-type-ic svg { display: block; width: 13px; height: 13px; }
.meter-vendor-details .mc-naics { padding-left: 9px; background: #F3F4F6; }
/* type pill: light yellow behind the yellow icon; sector pill: light green behind the green icon */
.meter-vendor-details .mc-type { background: #FEF3DF; }
.meter-vendor-details .mc-sector { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 9px 3px 5px; border-radius: 11px; background: #E7F5EF; font: 500 11.5px/1.2 "Public Sans", sans-serif; color: #1F5C4A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.meter-vendor-details .mc-sector img { width: 16px; height: 16px; display: block; max-width: none; }
.meter-vendor-details .mc-value, .meter-vendor-details .mc-period { display: flex; flex-direction: column; gap: 3px; }
.meter-vendor-details .mc-value b { font: 700 17px/1.2 "Familjen Grotesk", sans-serif; color: #20232F; }
.meter-vendor-details .mc-period b { font: 600 13.5px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mc-value span, .meter-vendor-details .mc-period span { font: 400 12px/1.35 "Public Sans", sans-serif; color: #6A6690; }
.meter-vendor-details .mc-flag .meter-award-status { display: flex; justify-content: center; padding-top: 2px; }
@media (max-width: 800px) {
    .meter-vendor-details .mc-head { display: none; }
    .meter-vendor-details .mc-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; }
    .meter-vendor-details .mc-main { grid-column: 1 / -1; }
}

/* ---- Vendor popup: page, section headings, chart, performance, contact ---- */
.meter-vendor-details { background: #F4F3F8; }
.meter-vendor-details .meter-at-a-glance,
.meter-vendor-details .meter-vendor-performance,
.meter-vendor-details .meter-contact-information { margin: 20px 0 0; padding: 18px 20px 20px; background: #fff; border: 0; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.meter-vendor-details .meter-vendor-contracts { margin-top: 0; }
.meter-vendor-details h2.meter-section-title { display: block; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; font: 700 22px/1.2 "Familjen Grotesk", sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; text-align: left !important; color: #20232F !important; }
.meter-vendor-details h2.meter-section-title::before, .meter-vendor-details h2.meter-section-title::after { content: none !important; }
.meter-vendor-details .meter-section-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.meter-vendor-details .meter-value-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font: 500 12.5px/1 "Public Sans", sans-serif; color: #6A6690; }
.meter-vendor-details .meter-value-legend span { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; }
.meter-vendor-details .meter-value-legend .lg-match { background: #3624AC; }
.meter-vendor-details .meter-value-legend .lg-other { background: rgba(166,160,214,0.8); width: 7px; height: 7px; }
.meter-vendor-details .meter-value-chart-wrap { position: relative; height: 280px; }
.meter-vendor-details p.meter-section-sub { margin: 4px 0 0 !important; font: 400 13px/1.4 "Public Sans", sans-serif !important; color: #6A6690 !important; }
/* the chart legend's stars: the same foil stars as the Actions column */
.meter-vendor-details .meter-value-legend i.lg-star { display: inline-block; width: 13px; height: 13px; margin: 0 5px 0 4px; vertical-align: -2px;
    clip-path: polygon(50% 0%, 61.8% 35.4%, 98.1% 35.4%, 68.8% 57.3%, 79.4% 91.6%, 50% 70.5%, 20.6% 91.6%, 31.2% 57.3%, 1.9% 35.4%, 38.2% 35.4%); }
@media (max-width: 640px) { .meter-vendor-details .meter-value-chart-wrap { height: 220px; } }
.meter-vendor-details .meter-performance-expand { background: #fff !important; color: #3624AC !important; border: 1px solid rgba(66,46,189,0.25) !important; border-radius: 14px !important; padding: 6px 12px !important; font: 600 12.5px/1 "Public Sans", sans-serif !important; }
.meter-vendor-details .meter-contact-information h4.meter-contact-label { margin: 0 0 6px !important; font: 700 11px/1.2 "Public Sans", sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #6A6690 !important; }
.meter-vendor-details .meter-address-text, .meter-vendor-details a.meter-website-link { font: 400 14px/1.5 "Public Sans", sans-serif; color: #443F68; }
.meter-vendor-details a.meter-website-link { color: #3624AC !important; }

/* Vendor popup: the "Loading vendor…" pill on the backdrop, shown the moment you click */
.meter-vendor-loading { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; padding: 12px 20px; background: #fff; border-radius: 22px; box-shadow: 0 8px 24px -8px rgba(20,12,56,0.4); font: 600 14px/1 "Public Sans", sans-serif; color: #3624AC; pointer-events: none; }
.meter-vendor-loading::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 10px; vertical-align: -1px; border-radius: 50%; border: 2px solid rgba(54,36,172,0.25); border-top-color: #3624AC; animation: meter-spin .8s linear infinite; }
.meter-vendor-loading.failed { color: #9A2E1C; }
.meter-vendor-loading.failed::before { display: none; }
@keyframes meter-spin { to { transform: rotate(360deg); } }

/* ---- Vendor popup: performance signals ---- */
.meter-vendor-details p.mp-note { margin: -4px 0 14px !important; font: 400 13px/1.45 "Public Sans", sans-serif !important; color: #6A6690 !important; max-width: 72ch; }
.meter-vendor-details p.mp-read { margin: 0 0 14px !important; padding: 12px 14px; background: #F7F6FB; border-radius: 6px; font: 400 15px/1.45 "Public Sans", sans-serif !important; color: #20232F !important; }
.meter-vendor-details .mp-read b.good { color: #1F7A52; }
.meter-vendor-details .mp-read b.bad { color: #B23A24; }
.meter-vendor-details .mp-fapiis { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid #ECEAF5; }
.meter-vendor-details .mp-fapiis > div { display: flex; flex-direction: column; gap: 2px; flex: 1 1 260px; }
.meter-vendor-details .mp-fapiis b { font: 700 14px/1.2 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mp-fapiis > div span { font: 400 13px/1.4 "Public Sans", sans-serif; color: #6A6690; }
.meter-vendor-details .mp-fapiis-answers { display: flex; flex-wrap: wrap; gap: 6px 18px; font: 600 13px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mp-fapiis-answers em { font-style: normal; font-weight: 400; color: #6A6690; margin-right: 6px; }
.meter-vendor-details h3.mp-group { display: flex; align-items: center; gap: 8px; margin: 0 0 8px !important; font: 700 11.5px/1.2 "Public Sans", sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #6A6690 !important; }
/* the group headings carry the same stars as the contracts' Actions column, as its legend */
.meter-vendor-details h3.mp-group::before, .meter-vendor-details .mp-routine b::before { content: ""; display: inline-block; width: 14px; height: 14px; flex-shrink: 0;
    clip-path: polygon(50% 0%, 61.8% 35.4%, 98.1% 35.4%, 68.8% 57.3%, 79.4% 91.6%, 50% 70.5%, 20.6% 91.6%, 31.2% 57.3%, 1.9% 35.4%, 38.2% 35.4%);
    background: linear-gradient(135deg, #E4E6EC 0%, #B3B7C3 55%, #9197A6 100%); }
.meter-vendor-details h3.mp-group.flag::before { background: linear-gradient(135deg, #EE7D6C 0%, #C8412B 55%, #9E2E1C 100%); }
.meter-vendor-details h3.mp-group.watch::before { background: linear-gradient(135deg, #F1D27A 0%, #CFA23A 55%, #A87F22 100%); }
.meter-vendor-details h3.mp-group.good::before { background: linear-gradient(135deg, #6FCB8C 0%, #2E9A55 55%, #1F7A3F 100%); }
.meter-vendor-details .mp-routine b::before { margin: 0 6px -2px 0; }
.meter-vendor-details h3.mp-group.flag { color: #B23A24 !important; }
.meter-vendor-details h3.mp-group.watch { color: #A36A0A !important; }
.meter-vendor-details h3.mp-group.good { color: #1F7A52 !important; }
.meter-vendor-details .mp-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.meter-vendor-details .mp-tile { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 12px 14px; border: 1px solid #ECEAF5; border-left-width: 3px; border-radius: 6px; cursor: help; }
.meter-vendor-details .mp-tile.flag { border-left-color: #B23A24; }
.meter-vendor-details .mp-tile.watch { border-left-color: #D99A1E; }
.meter-vendor-details .mp-tile.good { border-left-color: #1F9D6B; }
.meter-vendor-details .mp-tile.zero { border-left-color: #D8D5E6; }
.meter-vendor-details .mp-n { font: 700 24px/1.05 "Familjen Grotesk", sans-serif; color: #20232F; }
.meter-vendor-details .mp-tile.flag:not(.zero) .mp-n { color: #B23A24; }
.meter-vendor-details .mp-tile.zero .mp-n { color: #A7A4C2; }
.meter-vendor-details .mp-label { font: 600 13px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mp-share { font: 400 12px/1.3 "Public Sans", sans-serif; color: #6A6690; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meter-vendor-details p.mp-routine, .meter-vendor-details p.mp-foot { margin: 0 0 4px !important; font: 400 12.5px/1.5 "Public Sans", sans-serif !important; color: #6A6690 !important; }
.meter-vendor-details .mp-routine b { font-weight: 700; color: #443F68; margin-right: 6px; }
@media (max-width: 800px) {
    .meter-vendor-details .mp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* FAPIIS answers on file but not rated yet: a neutral slate dot */
.meter-integrity-dot.recorded { background: #7C86A2; }

/* Performance signals: an all-zero group collapses to this line */
.meter-vendor-details p.mp-none { margin: 0 0 16px !important; padding: 9px 12px; border: 1px dashed #DCD9EA; border-radius: 6px; font: 400 13px/1.4 "Public Sans", sans-serif !important; color: #6A6690 !important; }
/* NAICS pill: ellipsis needs a block-level box, not inline-flex */
.meter-vendor-details .mc-naics { display: inline-block; }

/* Vendor popup on phones */
@media (max-width: 700px) {
    /* meta line: no "·" separators (they strand at the start of a wrapped line) */
    .meter-vendor-details .meter-vendor-identity { gap: 2px 14px; }
    .meter-vendor-details .meter-vendor-identity > *::before { content: none !important; }
    /* summary: smaller figures so "2018–2026" fits on one line */
    .meter-vendor-details .ms-value { font-size: 21px; white-space: nowrap; }
    .meter-vendor-details .ms-cell { padding: 14px 16px; }
    /* contract rows: the FAPIIS dot in the top-right corner, not alone on its own line */
    .meter-vendor-details .mc-row { position: relative; }
    .meter-vendor-details .mc-flag { position: absolute; top: 16px; right: 16px; }
    .meter-vendor-details .mc-office { padding-right: 26px; }
}

/* Keyboard focus, visible: result names and the popup's controls */
#meter-results-container .meter-vendor-name:focus-visible,
.meter-vendor-details button:focus-visible,
.meter-vendor-details a:focus-visible { outline: 2px solid #3624AC; outline-offset: 3px; border-radius: 4px; }
.meter-vendor-details:focus { outline: none; }

/* Vendor popup: contracts filter box, beside the sort */
.meter-vendor-details .meter-contracts-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.meter-vendor-details input.meter-contracts-filter { width: 220px; max-width: 100%; margin: 0; padding: 7px 12px; border: 1px solid rgba(66,46,189,0.22); border-radius: 16px; background: #fff; font: 400 13px/1.2 "Public Sans", sans-serif; color: #20232F; box-shadow: none; }
.meter-vendor-details input.meter-contracts-filter:focus { outline: 2px solid #3624AC; outline-offset: 1px; border-color: #3624AC; }
.meter-vendor-details .meter-contracts-filter-count { font: 500 12.5px/1.2 "Public Sans", sans-serif; color: #6A6690; }
@media (max-width: 700px) {
    .meter-vendor-details .meter-contracts-tools { width: 100%; }
    .meter-vendor-details input.meter-contracts-filter { width: 100%; }
}

/* Vendor popup: the Actions stars on each contract row, and the history they open.
   Classic foil stickers: a five-point star cut with clip-path, shaded light to dark. */
.meter-vendor-details .mc-acts { min-width: 0; }
.meter-vendor-details .mc-actions { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 0; padding: 4px 6px; background: none; border: 1px solid transparent; border-radius: 6px; cursor: pointer; }
.meter-vendor-details .mc-actions:hover, .meter-vendor-details .mc-actions[aria-expanded="true"] { border-color: #DEDAF4; background: #F7F6FF; }
.meter-vendor-details .mc-dots { display: flex; flex-wrap: wrap; gap: 3px; }
.meter-vendor-details .mc-dots i, .meter-vendor-details .mc-history i { display: block; width: 14px; height: 14px; flex-shrink: 0;
    clip-path: polygon(50% 0%, 61.8% 35.4%, 98.1% 35.4%, 68.8% 57.3%, 79.4% 91.6%, 50% 70.5%, 20.6% 91.6%, 31.2% 57.3%, 1.9% 35.4%, 38.2% 35.4%);
    background: linear-gradient(135deg, #E4E6EC 0%, #B3B7C3 55%, #9197A6 100%); }
.meter-vendor-details i.green { background: linear-gradient(135deg, #6FCB8C 0%, #2E9A55 55%, #1F7A3F 100%) !important; }
.meter-vendor-details i.amber { background: linear-gradient(135deg, #F1D27A 0%, #CFA23A 55%, #A87F22 100%) !important; }
.meter-vendor-details i.red { background: linear-gradient(135deg, #EE7D6C 0%, #C8412B 55%, #9E2E1C 100%) !important; }
.meter-vendor-details .mc-more { font: 600 11px/1 "Public Sans", sans-serif; color: #6A6690; white-space: nowrap; }
.meter-vendor-details .mc-actions-none { color: #A7A4C2; }
.meter-vendor-details .mc-history-wrap { grid-column: 1 / -1; }
.meter-vendor-details .mc-history { list-style: none; margin: 4px 0 0; padding: 10px 14px; background: #F7F6FB; border-radius: 6px; }
.meter-vendor-details .mc-history li { display: grid; grid-template-columns: 14px 80px minmax(0, 1fr) auto; gap: 10px; align-items: center; margin: 0; padding: 5px 0; border-top: 1px solid #ECEAF5; font: 400 13px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mc-history li:first-child { border-top: 0; }
.meter-vendor-details .mc-history .d { color: #6A6690; white-space: nowrap; }
.meter-vendor-details .mc-history .m { font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 800px) {
    .meter-vendor-details .mc-acts { grid-column: 1 / -1; }
}
/* Performance signals: tiles that list their contracts */
.meter-vendor-details button.mp-tile { text-align: left; background: #fff; font: inherit; color: inherit; cursor: pointer; }
.meter-vendor-details button.mp-tile:hover, .meter-vendor-details button.mp-tile[aria-expanded="true"] { background: #FBFAFF; border-color: #DEDAF4; }
.meter-vendor-details .mp-open { margin-top: 4px; font: 600 12px/1.2 "Public Sans", sans-serif; color: #3624AC; }
.meter-vendor-details button.mp-tile[aria-expanded="true"] .mp-open::after { content: " ▴"; }
.meter-vendor-details .mp-list { margin: -6px 0 18px; padding: 14px 16px; border: 1px solid #ECEAF5; border-radius: 6px; background: #FBFAFF; }
.meter-vendor-details .mp-list-head { margin: 0 0 8px; font: 700 13px/1.2 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mp-list > ol { list-style: none; margin: 0; padding: 0; }
.meter-vendor-details .mp-list > ol > li { margin: 0; padding: 12px 0; border-top: 1px solid #ECEAF5; }
.meter-vendor-details .mp-list > ol > li:first-child { border-top: 0; padding-top: 4px; }
.meter-vendor-details .mpl-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; font: 400 13px/1.3 "Public Sans", sans-serif; color: #443F68; }
.meter-vendor-details .mpl-top code { padding: 1px 6px; border-radius: 4px; background: #F0EEFA; font-size: 12.5px; color: #3624AC; }
.meter-vendor-details .mpl-top b { margin-left: auto; font: 700 15px/1.2 "Familjen Grotesk", sans-serif; color: #20232F; }
.meter-vendor-details .mp-list p { margin: 6px 0 0 !important; font: 400 13px/1.4 "Public Sans", sans-serif !important; color: #20232F !important; }
.meter-vendor-details .mpl-when { margin-top: 4px; font: 600 12px/1.3 "Public Sans", sans-serif; color: #A36A0A; }
.meter-vendor-details .mp-list .mc-history { margin-top: 8px; background: #fff; }

/* ---- Build Search on phones ----
   Every section was a two-column grid at all widths (1fr 1fr !important), so the
   fields ran off the right edge. Below 700px: one column, the section's seal and title
   in a row above its fields, and a compact Quick Metrics bar. */
@media (max-width: 700px) {
    .meter-build-search-container { padding: 12px !important; }
    form#meter-build-search-form { padding: 14px !important; }
    .meter-search-section,
    .meter-search-section.ss3,
    .meter-search-section.ss4,
    .ss3 .meter-section-content { grid-template-columns: minmax(0, 1fr) !important; padding: 16px !important; }
    .meter-search-section > *, .meter-section-content > * { min-width: 0; }
    .meter-section-header,
    .ss3 .meter-section-header, .ss4 .meter-section-header { display: flex !important; align-items: center; gap: 14px; max-width: none !important; margin: 0 0 16px !important; }
    .meter-section-header .meter-section-icon,
    .ss1 .meter-section-icon, .ss2 .meter-section-icon, .ss3 .meter-section-icon, .ss4 .meter-section-icon {
        float: none !important; flex: 0 0 56px; width: 56px !important; height: 56px !important; margin: 0 !important; }
    .meter-section-title { min-width: 0; }
    .locations-side1, .locations-side2 { float: none !important; width: 100% !important; }
    .meter-search-section input[type="text"],
    .meter-search-section input[type="number"],
    .meter-search-section input[type="date"],
    .meter-search-section select,
    .meter-search-section textarea { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
    /* "Meter Searches: SAM.GOV + USAspending + ..." wraps instead of running off */
    p.l1-bs { transform: none !important; white-space: normal !important; overflow-wrap: anywhere; }
    /* the small print under it was pushed 49px right, past the edge; it sits under
       the sources line instead */
    p.psmall.l2-bs { transform: translate(49px, -18px) !important; max-width: calc(100% - 49px); }
    input.meter-award-start, input.meter-award-end { min-width: 0 !important; width: 100% !important; flex: 1 1 0; }

    /* Quick Metrics: the two counts side by side; the Top Agencies table is left out,
       it took a third of the screen */
    .meter-quick-results { padding: 10px 12px !important; }
    .meter-quick-results .meter-metrics-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; width: calc(100% - 140px) !important; }
    .meter-quick-results .meter-metric-card { padding: 8px 10px !important; min-width: 0; }
    .meter-quick-results .meter-metric-card-full { display: none !important; }
    .meter-quick-results .meter-metric-value.meter-results-count { font-size: 24px !important; line-height: 1.1 !important; }
    .meter-quick-results .meter-metric-value { font-size: 16px !important; line-height: 1.2 !important; margin-bottom: 4px; }
    .meter-quick-results .meter-metric-title { line-height: 1.25 !important; margin: 0 0 2px !important; }
    .meter-quick-results .meter-metric-title { font-size: 11px !important; }
    .meter-form-actions { right: 10px !important; }
    .meter-form-actions .meter-button { padding: 10px 12px !important; }
}

/* ---- Vendor popup: the contract view (a child view with a back button) ---- */
.meter-vendor-details .mvd-view[hidden] { display: none !important; }
@keyframes mvdInRight { from { opacity: 0; transform: translateX(48px); } to { opacity: 1; transform: none; } }
@keyframes mvdInLeft  { from { opacity: 0; transform: translateX(-48px); } to { opacity: 1; transform: none; } }
.meter-vendor-details .mvd-in-right { animation: mvdInRight .28s cubic-bezier(.2,.7,.2,1) both; }
.meter-vendor-details .mvd-in-left  { animation: mvdInLeft .28s cubic-bezier(.2,.7,.2,1) both; }
@media (prefers-reduced-motion: reduce) { .meter-vendor-details .mvd-in-right, .meter-vendor-details .mvd-in-left { animation: none; } }

/* contract rows open it */
.meter-vendor-details .mc-row { cursor: pointer; transition: background-color .12s ease; }
.meter-vendor-details .mc-row:hover { background: #FBFAFF; }
.meter-vendor-details .mc-open { display: inline-flex; align-items: center; gap: 4px; margin: 8px 0 0; padding: 0; background: none; border: 0; font: 600 12.5px/1.2 "Public Sans", sans-serif; color: #3624AC; cursor: pointer; }
.meter-vendor-details .mc-open:hover { text-decoration: underline; }

.meter-vendor-details .mcv-head, .meter-vendor-details .mcv-card { margin: 0 0 20px; padding: 20px 28px 22px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.meter-vendor-details .mcv-back { display: inline-block; margin: 0 0 14px; padding: 7px 16px; background: #fff; border: 1px solid #DEDAF4; border-radius: 18px; font: 600 14px/1.2 "Public Sans", sans-serif; color: #3624AC; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meter-vendor-details .mcv-back:hover { background: #F7F6FF; }
.meter-vendor-details .mcv-office { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 4px 0 10px; font: 600 15px/1.3 "Public Sans", sans-serif; color: #20232F; }
.meter-vendor-details .mcv-office img { width: 28px; height: 28px; border-radius: 50%; object-fit: contain; background: #fff; border: 1px solid rgba(0,0,0,0.08); max-width: none; }
.meter-vendor-details .mcv-office small { display: block; font-weight: 400; font-size: 12.5px; color: #6A6690; }
.meter-vendor-details .mcv-office code { padding: 2px 7px; border-radius: 4px; background: #F0EEFA; font-size: 13px; color: #3624AC; }
.meter-vendor-details h2.mcv-title { margin: 0 0 12px !important; font: 700 24px/1.25 "Familjen Grotesk", sans-serif !important; color: #20232F !important; text-transform: none !important; }

.meter-vendor-details .mcv-money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 20px; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.meter-vendor-details .mcv-money > div { display: flex; flex-direction: column; gap: 4px; padding: 16px 22px; border-left: 1px solid #ECEAF5; min-width: 0; }
.meter-vendor-details .mcv-money > div:first-child { border-left: 0; }
.meter-vendor-details .mcv-money span { font: 700 11px/1 "Public Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6A6690; }
.meter-vendor-details .mcv-money b { font: 700 24px/1.15 "Familjen Grotesk", sans-serif; color: #3624AC; }
.meter-vendor-details .mcv-money small { font: 400 12.5px/1.35 "Public Sans", sans-serif; color: #6A6690; }

.meter-vendor-details .mcv-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
.meter-vendor-details .mcv-fact { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.meter-vendor-details .mcv-fact span { font: 700 11px/1 "Public Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #6A6690; }
.meter-vendor-details .mcv-fact b { font: 500 14.5px/1.4 "Public Sans", sans-serif; color: #20232F; overflow-wrap: anywhere; }
.meter-vendor-details .mcv-fact small { color: #6A6690; font-weight: 400; }
.meter-vendor-details h3.mcv-h { margin: 0 !important; font: 700 19px/1.2 "Familjen Grotesk", sans-serif !important; color: #20232F !important; text-transform: none !important; }
.meter-vendor-details p.mcv-sub { margin: 4px 0 10px !important; font: 400 13px/1.4 "Public Sans", sans-serif !important; color: #6A6690 !important; }
.meter-vendor-details .mcv-card .mc-history { background: #F7F6FB; }
.meter-vendor-details p.mcv-total { margin: 10px 0 0 !important; text-align: right; font: 400 13.5px/1.3 "Public Sans", sans-serif !important; color: #443F68 !important; }

@media (max-width: 700px) {
    .meter-vendor-details .mcv-head, .meter-vendor-details .mcv-card { padding: 16px 16px 18px; }
    .meter-vendor-details h2.mcv-title { font-size: 20px !important; }
    .meter-vendor-details .mcv-money { grid-template-columns: 1fr; }
    .meter-vendor-details .mcv-money > div { border-left: 0; border-top: 1px solid #ECEAF5; padding: 12px 16px; }
    .meter-vendor-details .mcv-money > div:first-child { border-top: 0; }
    .meter-vendor-details .mcv-facts { grid-template-columns: 1fr; }
}

/* ============================================================
   Build Search: checkbox rows and typed text
   ============================================================ */

/* Box in one column, words in the next: a gap after the box, and a label that
   wraps lines up under its first word instead of under the box. The contract
   type rows (box, icon, words) keep their own layout. */
.meter-search-form .meter-checkbox-label:not(:has(.contract-type-icon)) {
    display: grid !important;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
    align-items: start;
}
.meter-search-form .meter-checkbox-label:not(:has(.contract-type-icon)) > input[type="checkbox"] {
    float: none !important;
    margin: 5px 0 0 !important;
}
/* A contract vehicle's description sits under its name, not under the box. */
.meter-search-form .meter-checkbox-label:not(:has(.contract-type-icon)) > p {
    grid-column: 2;
    margin-left: 0 !important;
}

/* Typed text reads as typed, not as another placeholder. */
.meter-search-form .meter-input {
    color: #2f2c3e;
}

/* Search Results with nothing to show. */
.meter-empty-results {
    max-width: 560px;
    margin: 40px auto;
    padding: 32px 28px;
    text-align: center;
    background: #fff;
    border: 1px solid #443f6821;
    border-radius: 12px;
    box-shadow: 0 7px 20px -12px rgba(36, 32, 84, 0.25);
}
.meter-empty-results h3 { margin: 0 0 8px; font-size: 22px; color: #443f68; }
.meter-empty-results p { margin: 0 0 20px; font-size: 15px; line-height: 1.5; color: #464b64; }
.meter-empty-results .back-to-search { display: inline-block !important; padding: 10px 18px; }

/* ============================================================
   Search Results on a phone
   ============================================================ */
@media (max-width: 768px) {
    /* The title: the theme's 96px h1 on a 42px line overlapped itself, and the
       absolutely placed Back link sat on top of it. Back goes above, in the flow. */
    div#meter-results-title { margin: 76px 0 20px !important; }
    a#back-to-search {
        position: static !important;
        display: block;
        margin: 0 0 6px !important;
        font-size: 15px !important;
    }
    #meter-results-title h1 { font-size: 40px !important; line-height: 1.1 !important; }

    /* Cards: name and chart stacked, each the full width, instead of two
       162px columns that cut the name off and crowded the chart's axis. */
    .meter-vendor-card { padding: 16px !important; }
    .vendor-results-titles,
    .vendor-results-graph { float: none !important; width: 100% !important; }
    .vendor-results-titles { overflow: visible !important; }
    .vendor-results-graph { margin: 4px 0 8px; box-sizing: border-box; }
    h3.meter-vendor-name.clickable {
        max-width: none !important;
        width: calc(100% - 60px) !important;
        font-size: 22px !important;
        line-height: 1.2 !important;
        overflow-wrap: anywhere;
    }

    /* The bottom bar: one row, not a 267px stack. The count on the left, the
       filters as a sideways-scrolling strip (faded at the edge to say there's
       more), Export on the right. */
    .meter-quick-results.results-mode { padding: 8px 10px !important; }
    .meter-quick-results.results-mode .meter-metrics-grid {
        display: flex !important;
        align-items: center;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 0 !important;
    }
    .meter-quick-results.results-mode .meter-metric-card:first-child {
        flex: 0 0 auto;
        width: auto !important;
        padding: 6px 10px !important;
    }
    .meter-quick-results.results-mode .meter-metric-card:first-child .meter-metric-title {
        font-size: 10px !important;
        white-space: nowrap;
    }
    .meter-quick-results.results-mode .meter-results-count { font-size: 22px !important; line-height: 1.1 !important; }
    .meter-quick-results.results-mode .meter-export-container {
        flex: 1 1 auto;
        min-width: 0;
        margin-top: 0 !important;
        gap: 8px;
    }
    .meter-quick-results.results-mode .meter-applied-filters {
        flex: 1 1 auto;
        min-width: 0;
        flex-wrap: nowrap !important;
        gap: 6px;
        margin-right: 0 !important;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-mask-image: linear-gradient(to right, #000 85%, transparent);
        mask-image: linear-gradient(to right, #000 85%, transparent);
        padding-right: 24px;
    }
    .meter-quick-results.results-mode .meter-applied-filters::-webkit-scrollbar { display: none; }
    .meter-quick-results.results-mode .filter-pill {
        flex: 0 0 auto;
        margin: 0 !important;
        padding: 5px 10px !important;
    }
    .meter-quick-results.results-mode .filter-pill-icon { width: 16px; height: 16px; margin-right: 6px; }
    .meter-quick-results.results-mode .filter-pill-title { font-size: 9.5px !important; }
    .meter-quick-results.results-mode .filter-pill-value { font-size: 13px !important; white-space: nowrap; }
    .meter-quick-results.results-mode #export-results {
        flex: 0 0 auto;
        padding: 8px 10px !important;
        font-size: 12px !important;
    }
}
