/* Uses the shared F4N4 site.css tokens; deliberately no global font/navigation override. */
#opportunitiesMain [hidden]{display:none!important}.opp-directory{padding:26px 0 52px!important}.opp-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.opp-summary>div{padding:16px 18px;border:1px solid var(--line);background:white;border-radius:12px;display:flex;flex-direction:column}.opp-summary strong{font-size:22px;font-weight:600;color:var(--navy)}.opp-summary span,.opp-muted{font-size:12px;color:var(--muted);line-height:1.7}.opp-notice{font-size:12px;line-height:1.7;background:#f1eee7;border-left:3px solid var(--gold);padding:12px 16px;margin:14px 0 22px}.opp-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.opp-toolbar label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;color:var(--muted)}.opp-toolbar select,.opp-toolbar input{width:100%;min-width:0;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:10px;background:white;color:var(--ink)}.opp-results-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:20px 0 16px}.opp-results-bar p{font-size:13px;color:var(--muted);margin:0}.opp-view{display:flex;gap:8px;flex-wrap:wrap}.opp-view button,.opp-actions button{font-size:12px;border:1px solid var(--line);background:white;border-radius:8px;padding:9px 13px;cursor:pointer;color:var(--navy)}.opp-view button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.opp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.opp-card{background:white;border:1px solid #e1e6eb;border-radius:16px;padding:24px;min-width:0;box-shadow:0 5px 24px #10213804;display:flex;flex-direction:column}.opp-card h2,#oppDialog h2,.opp-methodology h2,.opp-propose h2{font-family:var(--font-body);font-size:19px;line-height:1.4;letter-spacing:normal;font-weight:600;color:var(--navy);margin:16px 0 6px}.opp-description{font-size:14px;line-height:1.7;margin:10px 0 18px}.opp-badges{display:flex;gap:6px;flex-wrap:wrap}.opp-badge{border:1px solid var(--line);border-radius:20px;font-size:10px;padding:4px 9px;color:var(--muted)}.opp-badge.open{color:#207a58;background:#edf8f2;border-color:#cfe8dc}.opp-badge.impact{color:#257b78;background:#edf8f7;border-color:#cfe8e6}.opp-badge.changed,.opp-badge.unconfirmed,.opp-warning{color:#946b1d;background:#fff6e4}.opp-badge.closed{color:#8b5260;background:#f8edf0}.opp-warning{font-size:12px;padding:8px;border-radius:6px}.opp-metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;border-top:1px solid var(--line);padding-top:15px;margin:0 0 12px}.opp-metrics dt{font-size:11px;color:var(--muted)}.opp-metrics dd{font-size:18px;font-weight:600;margin:5px 0;color:var(--navy);font-variant-numeric:tabular-nums}.opp-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px}.opp-link{font-size:12px;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);line-height:1.8;overflow-wrap:anywhere}.opp-link:hover{color:#976d31}.opp-table-wrap{overflow:auto;border:1px solid var(--line);background:white;border-radius:12px}.opp-table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.opp-table-wrap th{background:var(--navy);color:white;font-size:12px;text-align:left;padding:14px}.opp-table-wrap td{font-size:13px;padding:16px 14px;border-bottom:1px solid var(--line)}.opp-table-name{border:0;padding:0;background:none;color:var(--navy);font-size:13px;font-weight:600;text-align:left;cursor:pointer}.opp-empty{padding:24px;background:white;border:1px solid var(--line);border-radius:12px;font-size:14px}.opp-methodology{margin-top:28px;padding:20px 0 0!important;border-top:1px solid var(--line)}.opp-methodology>h2{margin:0 0 16px}.opp-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.opp-method-grid h3{font-family:var(--font-body);font-size:14px;margin:0 0 8px}.opp-method-grid p,.opp-propose p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.opp-propose{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:24px;background:#ece8df;padding:22px;border-radius:12px}.opp-propose h2{margin:0 0 8px}#oppDialog{width:min(760px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:30px;color:var(--ink);font-family:var(--font-body)}#oppDialog::backdrop{background:#102138aa}.opp-dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;cursor:pointer}.opp-detail{display:grid;grid-template-columns:145px 1fr;gap:12px;font-size:13px;margin:20px 0}.opp-detail dt{font-weight:600;color:var(--navy)}.opp-detail dd{margin:0;line-height:1.7}.opp-detail+ a{margin-right:18px}
@media(max-width:1000px){.opp-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.opp-metrics{grid-template-columns:1fr 1fr}.opp-metrics div:first-child{grid-column:1/-1}}
@media(max-width:760px){.opp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-summary strong{font-size:19px}.opp-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.opp-cards,.opp-method-grid{grid-template-columns:1fr}.opp-card{padding:20px}.opp-results-bar,.opp-propose{align-items:flex-start;flex-direction:column}.opp-detail{grid-template-columns:1fr;gap:6px}.opp-detail dd{margin-bottom:10px}#oppDialog{padding:24px}.opp-propose .button{width:100%}}
@media(prefers-reduced-motion:reduce){#opportunitiesMain *{scroll-behavior:auto}}

.opp-leads{margin-top:24px;padding-top:20px;border-top:1px solid var(--border,#ddd)}.opp-leads h2{margin:0 0 8px}.opp-leads .opp-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.opp-lead-target{font-weight:600}.opp-leads .opp-card h3{margin:12px 0 8px}@media(max-width:600px){.opp-leads .opp-toolbar{grid-template-columns:1fr}}

.opp-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.opp-section-nav a,.opp-toggle{font-family:var(--font-body);font-size:13px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:white;color:var(--navy);text-decoration:none;cursor:pointer}.opp-section-nav a:hover,.opp-toggle:hover{border-color:var(--gold)}.opp-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.opp-section-heading h2{font-family:var(--font-body);font-size:20px;margin:0;color:var(--navy)}.opp-campaign-section,.opp-leads,.opp-methodology{scroll-margin-top:100px}.opp-campaign-section{padding:0!important}#oppFilters{grid-template-columns:repeat(3,minmax(0,1fr))}.opp-advanced{grid-column:1/-1}.opp-advanced summary{font-size:13px;cursor:pointer;color:var(--navy);padding:6px 0}.opp-advanced .opp-toolbar{border:0;padding:14px 0 0;grid-template-columns:repeat(4,minmax(0,1fr))}.opp-funding{margin:10px 0 14px;padding:16px 0;border-block:1px solid var(--line)}.opp-progress-heading{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.opp-progress-heading strong{color:var(--navy);font-variant-numeric:tabular-nums}.opp-progress{display:block;width:100%;height:8px;margin-top:12px;border:0;border-radius:8px;overflow:hidden;background:#e8eef0;accent-color:#21877e}.opp-progress::-webkit-progress-bar{background:#e8eef0;border-radius:8px}.opp-progress::-webkit-progress-value{background:linear-gradient(90deg,#257b78,#46b4a0);border-radius:8px}.opp-progress::-moz-progress-bar{background:#257b78;border-radius:8px}.opp-progress.unknown{opacity:.45}.opp-funding p{margin:8px 0}.opp-funding-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 0;font-size:12px}.opp-funding-dates dt{color:var(--muted)}.opp-funding-dates dd{margin:4px 0 0;color:var(--navy);line-height:1.6}#oppMoreLeads,#oppMoreCampaigns{margin-top:16px}#opportunitiesMain :focus-visible{outline:2px solid #257b78;outline-offset:3px}@media(max-width:760px){#oppFilters,.opp-advanced .opp-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.opp-section-heading{align-items:flex-start}.opp-funding-dates{grid-template-columns:1fr}}

.opp-leads .opp-card h3{font-family:var(--font-body);font-size:19px;line-height:1.4;font-weight:600;color:var(--navy)}
