/* FoodBorne Pathogen Guide v0.19.1 — precision layout, symmetric maps and evidence typeahead */
:root{
  --fbp-min-readable:13px;
  --fbp-v191-blue:#173b8f;
  --fbp-v191-line:#d7e1ef;
  --fbp-v191-soft:#f6f9fd;
  --fbp-v191-text:#17233d;
  --fbp-v191-muted:#657590;
}
.fbp-app,.fbp-app *{box-sizing:border-box}
.fbp-app p,.fbp-app li,.fbp-app label,.fbp-app input,.fbp-app select,.fbp-app button,.fbp-app td,.fbp-app th,.fbp-app small,
.fbp-modal p,.fbp-modal li,.fbp-modal label,.fbp-modal small{font-size:13px!important;line-height:1.5!important}
.fbp-app input,.fbp-app select,.fbp-app button{min-height:43.24px!important}

/* Equal system-version cards: same footprint and aligned numeric/version baseline. */
.fbp-system-at-glance{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  grid-auto-rows:96px!important;
  gap:8.46px!important;
  overflow:visible!important;
  align-items:stretch!important;
}
.fbp-system-at-glance>button{
  min-width:0!important;width:100%!important;height:90.24px!important;min-height:90.24px!important;
  padding:9.4px 7.52px!important;display:grid!important;grid-template-rows:minmax(34px,1fr) 28px!important;
  align-items:center!important;justify-items:center!important;text-align:center!important;border-radius:11.28px!important;
}
.fbp-system-at-glance>button span{
  display:grid!important;place-items:center!important;min-height:31.96px!important;margin:0!important;
  font-size:13px!important;line-height:1.18!important;font-weight:900!important;letter-spacing:.04em!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}
.fbp-system-at-glance>button b{
  display:grid!important;place-items:center!important;height:26.32px!important;margin:0!important;
  font-size:13.16px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
}

/* Home knowledge KPI cards: equal heights and numbers on one visual baseline. */
.fbp-home-bubbles{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-rows:210px!important;align-items:stretch!important}
.fbp-home-bubble{height:197.4px!important;min-height:197.4px!important;display:grid!important;grid-template-rows:48px 56px 1fr 28px!important;align-content:stretch!important;padding:16.92px 15.04px!important}
.fbp-home-bubble strong{height:45.12px!important;display:flex!important;align-items:flex-end!important;font-size:33.84px!important;line-height:1!important;font-variant-numeric:tabular-nums!important}
.fbp-home-bubble span{min-height:52.64px!important;margin:0!important;padding-top:9.4px!important;display:flex!important;align-items:flex-start!important;font-size:16.92px!important;line-height:1.12!important}
.fbp-home-bubble small{margin:0!important;padding-top:5.64px!important;display:block!important;font-size:13px!important;line-height:1.35!important}
.fbp-home-bubble em,.fbp-home-bubble .fbp-bubble-more{align-self:end!important;font-size:13px!important}

/* System overview: stop repeating the same heading; use visual identity instead. */
.fbp-system-overview-card{position:relative!important;overflow:hidden!important;border-top:5px solid var(--fbp-v191-blue)!important;padding-top:16.92px!important}
.fbp-system-overview-card>small{display:none!important}
.fbp-system-overview-card[data-system-key="risk_engine"],.fbp-system-overview-card[data-system-key="mapping"]{border-top-color:#2b65c7!important;background:linear-gradient(135deg,#f4f8ff,#fff)!important}
.fbp-system-overview-card[data-system-key="scientific"],.fbp-system-overview-card[data-system-key="jemra"]{border-top-color:#d08b16!important;background:linear-gradient(135deg,#fff9ed,#fff)!important}
.fbp-system-overview-card[data-system-key="legal"],.fbp-system-overview-card[data-system-key="regulatory_import"]{border-top-color:#7a4bc2!important;background:linear-gradient(135deg,#faf5ff,#fff)!important}
.fbp-system-overview-card[data-system-key="cdc_nors"]{border-top-color:#b82338!important;background:linear-gradient(135deg,#fff5f6,#fff)!important}
.fbp-system-overview-card[data-system-key="eu_intelligence"],.fbp-system-overview-card[data-system-key="food_taxonomy"]{border-top-color:#168f7b!important;background:linear-gradient(135deg,#f1fbf8,#fff)!important}
.fbp-system-overview-card strong{font-size:18.8px!important;line-height:1.22!important}
.fbp-system-overview-card span{font-size:14.1px!important;font-variant-numeric:tabular-nums!important}
.fbp-system-overview-card em{font-size:13.16px!important;line-height:1.5!important}
.fbp-system-deep-modal .fbp-eyebrow{font-size:13px!important;letter-spacing:.12em!important}
.fbp-system-deep-modal h2{font-size:31.96px!important}
.fbp-system-deep-grid h4{font-size:15.98px!important}.fbp-system-deep-grid p,.fbp-system-deep-grid li{font-size:13.16px!important}

/* Scientific wide table: keep the matrix, reduce tension, keep the final column visible. */
.fbp-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;padding-bottom:3.76px!important;scrollbar-gutter:stable both-edges!important}
.fbp-risk-table{width:100%!important;min-width:1660px!important;table-layout:fixed!important}
.fbp-risk-table col.c-hazard{width:13%!important}.fbp-risk-table col.c-limits{width:6%!important}.fbp-risk-table col.c-growth{width:7.5%!important}.fbp-risk-table col.c-controls{width:6%!important}.fbp-risk-table col.c-persistence{width:6%!important}.fbp-risk-table col.c-frequency{width:22%!important}.fbp-risk-table col.c-severity{width:10%!important}.fbp-risk-table col.c-risk{width:9%!important}.fbp-risk-table col.c-legal{width:20.5%!important}
.fbp-risk-table th,.fbp-risk-table td{font-size:13px!important;line-height:1.43!important;padding:10.34px 8.46px!important;overflow-wrap:anywhere!important;word-break:normal!important}
.fbp-risk-table thead th{font-size:13px!important;letter-spacing:.015em!important}
.fbp-hazard-name{font-size:15.98px!important}.fbp-hazard-meta span{font-size:13px!important}.fbp-hazard-primary-actions button,.fbp-source-action-grid button,.fbp-sampling-open{font-size:13px!important;min-height:37.6px!important}
.fbp-frequency-cell,.fbp-severity-cell,.fbp-risk-cell,.fbp-legal-cell{min-width:0!important;overflow:visible!important}
.fbp-intel-compact,.fbp-science-layers,.fbp-evidence-layer-card,.fbp-frequency-specificity{width:100%!important;max-width:100%!important;min-width:0!important}
.fbp-intel-compact *,.fbp-science-layers *{overflow-wrap:anywhere!important;max-width:100%!important}

/* Filter status never pushes the clear button outside. */
.fbp-risk-visibility-status{
  width:100%!important;max-width:100%!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;grid-template-areas:"copy actions" "signature actions"!important;
  gap:7.52px 15.04px!important;align-items:center!important;padding:11.28px 13.16px!important;overflow:hidden!important;
}
.fbp-risk-visibility-status>div:first-child,.fbp-risk-visibility-status>b:first-child{grid-area:copy!important;min-width:0!important}
.fbp-risk-visibility-status .fbp-visible-risk-count{grid-area:actions!important;justify-self:end!important;font-size:16.92px!important}
.fbp-risk-filter-clear{grid-area:actions!important;justify-self:end!important;align-self:end!important;max-width:220px!important;white-space:normal!important;padding:7.52px 11.28px!important}
.fbp-result-signature{grid-area:signature!important;min-width:0!important;overflow-wrap:anywhere!important}

/* Common 12-column toolbars, fixed positions and breathing room. */
.fbp-map-shared-filters,.fbp-reg-search-surface,.fbp-sampling-search-surface,.fbp-pathogen-search-surface,.fbp-evidence-toolbar,.fbp-env-profile-actions{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:13.16px!important;align-items:end!important;
  width:100%!important;max-width:100%!important;padding:15.04px!important;overflow:visible!important;
}
.fbp-map-shared-filters>* ,.fbp-reg-search-surface>* ,.fbp-sampling-search-surface>* ,.fbp-pathogen-search-surface>* ,.fbp-evidence-toolbar>* ,.fbp-env-profile-actions>*{min-width:0!important;max-width:100%!important}
.fbp-map-shared-filters input,.fbp-map-shared-filters select,.fbp-map-shared-filters button,
.fbp-reg-search-surface input,.fbp-reg-search-surface select,.fbp-reg-search-surface button,
.fbp-sampling-search-surface input,.fbp-sampling-search-surface select,.fbp-sampling-search-surface button,
.fbp-evidence-toolbar input,.fbp-evidence-toolbar select,.fbp-evidence-toolbar button{height:45.12px!important;min-height:45.12px!important}

/* Scientific Evidence typeahead. */
.fbp-evidence-q-wrap{position:relative!important}
.fbp-evidence-suggest-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:2147481500;max-height:366.6px;overflow:auto;padding:6.58px;border:1px solid #bfd0e7;border-radius:13.16px;background:#fff;box-shadow:0 18px 44px rgba(14,39,82,.2)}
.fbp-evidence-suggest-menu[hidden]{display:none!important}
.fbp-evidence-suggest-menu button{width:100%!important;min-height:50.76px!important;height:auto!important;display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:9.4px!important;text-align:left!important;padding:9.4px 11.28px!important;border:0!important;border-radius:9.4px!important;background:#fff!important;color:#173b8f!important}
.fbp-evidence-suggest-menu button:hover,.fbp-evidence-suggest-menu button.is-active{background:#edf4ff!important}
.fbp-evidence-suggest-menu button>span{font-size:13px!important;font-weight:900!important;text-transform:uppercase!important;color:#657590!important}
.fbp-evidence-suggest-menu button>div{min-width:0!important}.fbp-evidence-suggest-menu button b{display:block!important;font-size:13.16px!important;line-height:1.35!important}.fbp-evidence-suggest-menu button small{display:block!important;font-size:13px!important;color:#66758d!important;margin-top:2.82px!important}
.fbp-evidence-suggest-state{padding:14.1px;font-size:13px;color:#66758d}

/* Symmetric map workstations. */
.fbp-dual-map-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:15.04px!important;align-items:start!important}
.fbp-map-panel-unified,.fbp-map-card{min-width:0!important;width:100%!important;border:1px solid var(--fbp-v191-line)!important;border-radius:15.04px!important;overflow:hidden!important;background:#fff!important}
.fbp-map-panel-unified>header{height:86.48px!important;min-height:86.48px!important;padding:15.04px 16.92px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
.fbp-map-unified-metrics,.fbp-eu-map-controls{display:grid!important;grid-template-columns:auto repeat(5,minmax(0,1fr))!important;gap:7.52px!important;align-items:center!important;margin:9.4px!important;padding:9.4px!important;border-radius:11.28px!important;background:#f5f8fd!important}
.fbp-map-unified-metrics>span,.fbp-eu-map-controls>span{font-size:13px!important;font-weight:900!important;color:#334d79!important;white-space:nowrap!important}
.fbp-map-unified-metrics button,.fbp-eu-map-controls button{min-width:0!important;min-height:41.36px!important;height:41.36px!important;padding:0 9.4px!important;border-radius:939.06px!important;font-size:13px!important;white-space:normal!important}
.fbp-map-unified-kpis,.fbp-map-statbar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7.52px!important;margin:9.4px!important}
.fbp-map-unified-kpis>span,.fbp-map-statbar>span{height:65.8px!important;min-height:65.8px!important;display:grid!important;grid-template-columns:auto 1fr!important;gap:5.64px!important;align-items:center!important;padding:9.4px!important;border:1px solid #d8e1ed!important;border-radius:10.34px!important;background:#fff!important;min-width:0!important}
.fbp-map-unified-kpis b,.fbp-map-statbar b{font-size:21.62px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;color:#173b8f!important}
.fbp-map-unified-kpis small,.fbp-map-statbar small{font-size:13px!important;line-height:1.2!important;overflow-wrap:anywhere!important}
.fbp-region-controls-unified{display:grid!important;grid-template-columns:minmax(0,1fr) 190px!important;gap:9.4px!important;align-items:end!important;margin:9.4px!important;padding:9.4px!important;background:#f5f8fd!important;border-radius:11.28px!important}
.fbp-region-controls-unified label{display:grid!important;gap:4.7px!important;min-width:0!important}.fbp-region-controls-unified select,.fbp-region-controls-unified button{height:45.12px!important;min-height:45.12px!important;width:100%!important}
.fbp-map-panel-unified .fbp-leaflet-map,.fbp-map-panel-unified .fbp-eu-leaflet-map{height:488.8px!important;min-height:488.8px!important;margin:9.4px!important;width:calc(100% - 20px)!important;border-radius:12.22px!important}
.fbp-map-panel-unified .fbp-map-legend{min-height:45.12px!important;margin:0 9.4px 9.4px!important;display:flex!important;align-items:center!important;gap:12.22px!important;flex-wrap:wrap!important}
.fbp-map-panel-unified .fbp-eu-map-source-tabs{min-height:45.12px!important;margin:0 9.4px 9.4px!important;display:flex!important;align-items:center!important;gap:7.52px!important;flex-wrap:wrap!important}
.fbp-map-panel-unified .fbp-eu-map-diagnostics{margin:0 9.4px 9.4px!important}
.fbp-map-panel-unified .fbp-map-product-context-unified{margin:0 9.4px 9.4px!important}
.fbp-map-panel-unified .fbp-outbreak-sort{margin:0 9.4px 9.4px!important}
.fbp-map-panel-unified .fbp-outbreak-map{background:#fff!important;padding-bottom:0.94px!important}
.fbp-map-panel-unified .fbp-map-head{height:71.44px!important;min-height:71.44px!important;margin:9.4px!important;padding:9.4px 11.28px!important}
.fbp-map-panel-unified .fbp-map-controls{display:none!important}
.fbp-evidence-table-unified-wrap,.fbp-outbreak-table-wrap,.fbp-eu-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;scrollbar-gutter:stable!important}
.fbp-outbreak-table-compact,.fbp-eu-table{min-width:880px!important;width:100%!important;table-layout:fixed!important}
.fbp-outbreak-table-compact th,.fbp-outbreak-table-compact td,.fbp-eu-table th,.fbp-eu-table td{font-size:13px!important;padding:8.46px 7.52px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
.fbp-outbreak-table-compact a,.fbp-eu-table a{font-size:13px!important}

/* Map loading state is local, visible and non-blocking. */
.fbp-map-panel-unified.fbp-map-is-loading{position:relative!important}
.fbp-map-panel-unified.fbp-map-is-loading:after{content:"";position:absolute;inset:0;z-index:70;background:rgba(248,251,255,.78);backdrop-filter:blur(2px);pointer-events:none}
.fbp-map-panel-unified.fbp-map-is-loading:before{content:"";position:absolute;z-index:71;left:50%;top:50%;width:54px;height:50.76px;margin:-25.38px;border:6px solid #d8e4f4;border-top-color:#173b8f;border-right-color:#e29a16;border-radius:50%;animation:fbpV191Spin .8s linear infinite}
@keyframes fbpV191Spin{to{transform:rotate(360deg)}}

/* Prevent the interface from sitting exactly on container edges. */
.fbp-app-main,.fbp-results-panel,.fbp-analysis-shell,.fbp-static-diagnostics{padding-left:5.64px!important;padding-right:5.64px!important}
.fbp-library-shell,.fbp-assessment-panel{overflow:visible!important}

@media(max-width:1500px){
  .fbp-system-at-glance{overflow-x:auto!important;grid-template-columns:repeat(10,150px)!important;scrollbar-width:thin!important}
  .fbp-home-bubbles{display:flex!important;overflow-x:auto!important;gap:9.4px!important}.fbp-home-bubble{flex:0 0 220px!important}
  .fbp-risk-table{min-width:1580px!important}
  .fbp-map-unified-metrics,.fbp-eu-map-controls{grid-template-columns:auto repeat(3,minmax(0,1fr))!important}.fbp-map-unified-metrics button:nth-of-type(n+4),.fbp-eu-map-controls button:nth-of-type(n+4){grid-row:2!important}
}
@media(max-width:1180px){
  .fbp-dual-map-grid{grid-template-columns:1fr!important}
  .fbp-map-panel-unified .fbp-leaflet-map,.fbp-map-panel-unified .fbp-eu-leaflet-map{height:451.2px!important;min-height:451.2px!important}
  .fbp-map-shared-filters>*,.fbp-reg-search-surface>*,.fbp-sampling-search-surface>*,.fbp-pathogen-search-surface>*,.fbp-evidence-toolbar>*,.fbp-env-profile-actions>*{grid-column:span 6!important;grid-row:auto!important}
}
@media(max-width:760px){
  .fbp-map-shared-filters>*,.fbp-reg-search-surface>*,.fbp-sampling-search-surface>*,.fbp-pathogen-search-surface>*,.fbp-evidence-toolbar>*,.fbp-env-profile-actions>*{grid-column:1/-1!important}
  .fbp-map-unified-metrics,.fbp-eu-map-controls{grid-template-columns:1fr 1fr!important}.fbp-map-unified-metrics>span,.fbp-eu-map-controls>span{grid-column:1/-1!important}
  .fbp-map-unified-kpis,.fbp-map-statbar{grid-template-columns:1fr 1fr!important}
  .fbp-region-controls-unified{grid-template-columns:1fr!important}
  .fbp-map-panel-unified .fbp-leaflet-map,.fbp-map-panel-unified .fbp-eu-leaflet-map{height:394.8px!important;min-height:394.8px!important}
  .fbp-risk-visibility-status{grid-template-columns:1fr!important;grid-template-areas:"copy" "signature" "actions"!important}.fbp-visible-risk-count,.fbp-risk-filter-clear{justify-self:start!important;grid-area:actions!important}
}
.fbp-risk-filter-actions{grid-area:actions!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9.4px!important;max-width:100%!important;min-width:0!important}
.fbp-risk-filter-actions .fbp-visible-risk-count{grid-area:auto!important;justify-self:auto!important}.fbp-risk-filter-actions .fbp-risk-filter-clear{grid-area:auto!important;justify-self:auto!important;max-width:210px!important}
@media(max-width:760px){.fbp-risk-filter-actions{justify-content:flex-start!important;flex-wrap:wrap!important}}
/* The panel header is the single header for both maps; hide the US-only nested header/actions. */
.fbp-map-panel-unified .fbp-map-head{display:none!important}
