/* FoodCare Foodborne Guide v0.17.1 — structural UX correction layer.
   This layer intentionally replaces fragile positioning/reparenting with normal document flow. */
.fbp-workspace,.fbp-workspace *,.fbp-modal,.fbp-modal *{box-sizing:border-box}
.fbp-workspace{overflow-x:clip;background:#fff;color:#17213a}
.fbp-workspace img{max-width:100%}
.fbp-workspace input,.fbp-workspace select,.fbp-workspace textarea,.fbp-workspace button{font:inherit}
.fbp-workspace input,.fbp-workspace select,.fbp-workspace textarea{min-width:0}
.fbp-tool-view,.fbp-library-shell,.fbp-library-head,.fbp-search-surface,.fbp-search-field,.fbp-map-card{min-width:0;max-width:100%}
[hidden]{display:none!important}

/* Header: one alignment system, no floating title island. */
.fbp-topbar-v171{max-width:1480px;margin:0 auto;padding:20.68px 26.32px 15.04px;background:#fff;border:0;box-shadow:none}
.fbp-topbar-v171 .fbp-topbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24.44px;align-items:start}
.fbp-topbar-v171 .fbp-top-brand{display:grid;grid-template-columns:145px minmax(0,1fr);gap:22.56px;align-items:start;min-width:0}
.fbp-topbar-v171 .fbp-top-brand>img{width:145px;height:auto;object-fit:contain;margin:0.94px 0 0}
.fbp-topbar-v171 .fbp-brand-copy{min-width:0;padding-top:0}
.fbp-topbar-v171 .fbp-brand-copy .fbp-eyebrow{font-size:13px;letter-spacing:.16em;line-height:1.35;margin:0 0 7.52px;color:#60708b;font-weight:800}
.fbp-topbar-v171 .fbp-brand-copy h1{font-size:clamp(28.2px,3vw,45.12px);line-height:1.04;letter-spacing:-.035em;margin:0;color:#17213a;max-width:760px}
.fbp-topbar-v171 .fbp-top-intro{margin:13.16px 0 0;max-width:970px;font-size:15.04px;line-height:1.6;color:#3c4659}
.fbp-topbar-v171 .fbp-top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:7.52px;max-width:700px}
.fbp-topbar-v171 .fbp-language-bar{display:flex;flex-wrap:wrap;gap:4.7px}
.fbp-topbar-v171 .fbp-user-card,.fbp-topbar-v171 .fbp-top-status{min-height:39.48px}

/* One scope sentence — always inside the application width. */
.fbp-scope-note-v171{max-width:1480px;margin:0 auto;padding:0 26.32px 11.28px;border:0;background:transparent}
.fbp-scope-note-v171 p{margin:0;padding:12.22px 15.98px;border:1px solid #efd49a;border-radius:13.16px;background:linear-gradient(90deg,#fff9e8,#fff5d4);font-size:12.69px;line-height:1.55;color:#5f4a20;overflow-wrap:anywhere}
.fbp-legal-utility-compact,.fbp-legal-utility-row{display:none!important}

/* Compact at-a-glance status is useful but must not consume the screen. */
.fbp-system-at-glance{max-width:1480px;margin:0 auto 13.16px;padding:0 26.32px;display:flex;gap:6.58px;flex-wrap:wrap;align-items:center}
.fbp-system-at-glance button{display:inline-flex;align-items:center;gap:6.58px;min-height:30.08px;padding:5.64px 9.4px;border:1px solid #dce5f3;border-radius:939.06px;background:#f7f9fd;color:#516078;box-shadow:none;cursor:pointer}
.fbp-system-at-glance button span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.fbp-system-at-glance button b{font-size:11px;color:#173b8f}
.fbp-system-at-glance button:hover,.fbp-system-at-glance button:focus-visible{border-color:#8ba6dd;background:#eef4ff;outline:3px solid rgba(31,77,166,.14);outline-offset:1px}

/* Home starts immediately with the real tools. */
.fbp-tool-view[data-view="home"]{padding-top:3.76px}
.fbp-guide-intro-card{display:none!important}
.fbp-home-actions,.fbp-home-primary-actions{margin-top:0}

/* Analysis navigation: this is a workspace component, never global decoration. */
.fbp-analysis-shell{max-width:1480px;margin:7.52px auto 16.92px;padding:0 26.32px;background:transparent;border:0;box-shadow:none}
.fbp-analysis-shell[hidden]{display:none!important}
.fbp-analysis-shell-head{display:flex;justify-content:space-between;align-items:center;gap:16.92px;padding:12.22px 15.04px;background:linear-gradient(135deg,#152b68,#214fa5);border:1px solid #214b9c;border-radius:15.04px 15.04px 0 0;color:#fff}
.fbp-analysis-shell-head>div{display:flex;flex-direction:column;gap:1.88px;min-width:0}
.fbp-analysis-shell-head small{font-size:10px;letter-spacing:.12em;font-weight:800;opacity:.78}
.fbp-analysis-shell-head strong{font-size:13.16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fbp-analysis-shell-head button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;border-radius:9.4px;padding:7.52px 11.28px;font-weight:750;cursor:pointer}
.fbp-analysis-nav{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:9.4px!important;display:flex!important;flex-wrap:wrap!important;gap:7.52px!important;background:#f3f7ff!important;border:1px solid #d9e4f6!important;border-top:0!important;border-radius:0 0 15.04px 15.04px!important;box-shadow:0 12px 28px rgba(27,55,111,.08)!important;overflow:visible!important}
.fbp-analysis-nav[hidden]{display:none!important}
.fbp-analysis-nav button{flex:0 1 auto;max-width:100%;white-space:normal;line-height:1.2;min-height:35.72px;padding:8.46px 11.28px;border-radius:9.4px}
.fbp-standalone-context .fbp-analysis-shell,.fbp-standalone-context .fbp-analysis-nav{display:none!important}
.fbp-analysis-context .fbp-standalone-head{display:none!important}

/* Primary cards and focus: never lose the letter/icon. */
.fbp-home-menu-card{position:relative;overflow:hidden;isolation:isolate}
.fbp-home-menu-card:focus-visible{outline:4px solid rgba(34,88,193,.26)!important;outline-offset:4px!important}
.fbp-home-menu-card:focus-visible .fbp-home-menu-icon,.fbp-home-menu-card:focus-visible i,.fbp-home-menu-card:focus-visible b{opacity:1!important;visibility:visible!important}
.fbp-home-menu-card .fbp-home-menu-icon,.fbp-home-menu-card i{position:relative;z-index:2}

/* Shared search language — fixed grids, zero overlap. */
.fbp-search-with-clear{position:relative;min-width:0;width:100%}
.fbp-search-with-clear>input{width:100%!important;padding-right:35.72px!important}
.fbp-inline-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:28px;height:26.32px;padding:0!important;border:0!important;border-radius:50%!important;background:#edf2fb!important;color:#43516b!important;display:grid;place-items:center;line-height:1!important;box-shadow:none!important;cursor:pointer;z-index:3}
.fbp-inline-clear:hover,.fbp-inline-clear:focus-visible{background:#dbe7fa!important;color:#173b8f!important;outline:2px solid rgba(23,59,143,.15)}
.fbp-search-surface{padding:13.16px;border:1px solid #dce5f2;border-radius:15.04px;background:linear-gradient(180deg,#f8fbff,#f3f7fc);box-shadow:0 10px 24px rgba(34,63,112,.05)}
.fbp-search-surface label,.fbp-map-shared-filters label,.fbp-evidence-toolbar label{display:grid;gap:5.64px;color:#243b6c;font-weight:750;font-size:12px;min-width:0}
.fbp-search-surface input,.fbp-search-surface select,.fbp-map-shared-filters input,.fbp-map-shared-filters select,.fbp-evidence-toolbar input,.fbp-reg-search-surface input,.fbp-reg-search-surface select{width:100%;min-height:39.48px;border:1px solid #cfd9e9;border-radius:9.4px;background:#fff!important;color:#1c2940;padding:8.46px 10.34px;box-shadow:inset 0 1px 2px rgba(23,59,143,.03)}
.fbp-search-surface input:focus,.fbp-search-surface select:focus,.fbp-map-shared-filters input:focus,.fbp-map-shared-filters select:focus,.fbp-evidence-toolbar input:focus{outline:3px solid rgba(30,79,173,.15);border-color:#4a76c7}
.fbp-no-results,.fbp-form-warning{margin:13.16px 0;padding:12.22px 14.1px;border-radius:11.28px;border:1px solid #e9d397;background:#fff8df;color:#66501c}
.fbp-filter-live{font-size:12px;color:#60708a;margin-top:7.52px}

/* Encyclopedia */
.fbp-pathogen-explorer .fbp-library-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14.1px}
.fbp-pathogen-search-surface{display:grid;grid-template-columns:minmax(260px,2fr) minmax(160px,.8fr) minmax(180px,.9fr) auto auto;gap:9.4px;align-items:end;margin:15.04px 0}
.fbp-pathogen-search-surface>.fbp-search-field{display:grid;gap:5.64px}
.fbp-pathogen-search-surface .fbp-pathogen-result-count{align-self:center;min-width:135px;text-align:right;font-size:12px;font-weight:800;color:#4d5e79;padding:9.4px 0}
.fbp-pathogen-advanced-toggle{min-height:39.48px}
.fbp-pathogen-advanced{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:9.4px;padding:11.28px;border-radius:11.28px;background:#fff;border:1px dashed #bfd0eb}
.fbp-pathogen-advanced[hidden]{display:none!important}
.fbp-pathogen-advanced .fbp-range-field{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:5.64px;align-items:center}
.fbp-pathogen-advanced small{grid-column:1/-1;color:#66748b}
.fbp-pathogen-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11.28px!important;align-items:stretch!important}
.fbp-pathogen-card{height:100%;padding:14.1px!important;border-radius:15.04px!important;border:1px solid #dfe6f2!important;box-shadow:0 8px 20px rgba(31,57,99,.05)!important;background:#fff!important;border-top-width:4px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.fbp-pathogen-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(31,57,99,.1)!important}
.fbp-pathogen-card.tone-bacteria{border-top-color:#247bbd!important;background:linear-gradient(180deg,#f6fbff 0,#fff 22%)!important}
.fbp-pathogen-card.tone-virus{border-top-color:#7c55c8!important;background:linear-gradient(180deg,#faf7ff 0,#fff 22%)!important}
.fbp-pathogen-card.tone-parasite{border-top-color:#118b78!important;background:linear-gradient(180deg,#f4fcfa 0,#fff 22%)!important}
.fbp-pathogen-card.tone-toxin{border-top-color:#d47a22!important;background:linear-gradient(180deg,#fff9f2 0,#fff 22%)!important}
.fbp-pathogen-card.tone-other{border-top-color:#64748b!important}
.fbp-pathogen-card-top{display:flex;flex-wrap:wrap;gap:4.7px!important;min-height:24.44px}
.fbp-pathogen-card-top span{display:inline-flex;align-items:center;min-height:22.56px;padding:3.76px 6.58px;border-radius:939.06px;background:#edf2f8;color:#455873;font-size:10px;font-weight:800}
.tone-bacteria .fbp-hazard-type-chip{background:#dcefff;color:#155e91}
.tone-virus .fbp-hazard-type-chip{background:#ede4ff;color:#6238a8}
.tone-parasite .fbp-hazard-type-chip{background:#ddf6ef;color:#087461}
.tone-toxin .fbp-hazard-type-chip{background:#ffead5;color:#a6530a}
.fbp-pathogen-ranges{display:flex;flex-wrap:wrap;gap:5.64px;margin:7.52px 0}
.fbp-pathogen-ranges span{font-size:11px;padding:4.7px 7.52px;border-radius:7.52px;background:#f1f5fb;color:#4e607b}

/* pH / aW interactive visuals in pathogen details. */
.fbp-physio-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11.28px;margin:13.16px 0 16.92px}
.fbp-physio-chart{border:1px solid #dbe4f1;border-radius:13.16px;background:#f8fbff;padding:12.22px;transition:transform .16s ease,box-shadow .16s ease}
.fbp-physio-chart:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,65,120,.11)}
.fbp-physio-chart header{display:flex;align-items:flex-end;justify-content:space-between;gap:9.4px;margin-bottom:11.28px}
.fbp-physio-chart header b{font-size:15.98px;color:#173b8f}
.fbp-physio-track{position:relative;height:16.92px;border-radius:939.06px;background:linear-gradient(90deg,#e7edf7,#f8fafc);overflow:visible;margin:26.32px 3.76px 20.68px}
.fbp-physio-range{position:absolute;top:2px;height:13.16px;border-radius:939.06px;background:linear-gradient(90deg,#2c73c9,#21a17c);box-shadow:0 4px 10px rgba(31,100,175,.22)}
.fbp-physio-optimum{position:absolute;top:-8px;width:3px;height:31.96px;border-radius:1.88px;background:#f3a11a;box-shadow:0 0 0 4px rgba(243,161,26,.12)}
.fbp-physio-scale{display:flex;justify-content:space-between;font-size:10px;color:#738098}
.fbp-physio-tooltip{font-size:12px;line-height:1.5;color:#4c5b72;margin-top:7.52px}

/* Regulatory search */
.fbp-reg-search-surface{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(240px,1.35fr) minmax(170px,.8fr) auto;gap:9.4px;align-items:end;margin:15.04px 0 9.4px;padding:13.16px;border:1px solid #dce5f2;border-radius:15.04px;background:#f6f9fe}
.fbp-reg-source-tabs{display:flex;flex-wrap:wrap;gap:5.64px!important;margin:7.52px 0 11.28px!important;padding:8.46px!important;border-radius:12.22px!important;background:#eef3fb!important}
.fbp-reg-source-tabs button{white-space:normal;min-height:33.84px}
.fbp-reg-filter-status{font-size:12px;font-weight:800;color:#5b6b85;padding:7.52px 1.88px}
.fbp-binding-badge,.fbp-context-only-badge{display:inline-flex;padding:2.82px 5.64px;border-radius:939.06px;font-size:9px;font-weight:800;margin-top:2.82px;background:#e8effb;color:#2d4f89}
.fbp-context-only-badge{background:#fff0cf;color:#875e0a}
.fbp-reg-table-wrap{overflow:auto;max-width:100%;border:1px solid #e1e7f0;border-radius:11.28px}
.fbp-reg-table{min-width:1180px}
.fbp-reg-table tr[hidden]{display:none!important}
.fbp-reg-table td small{display:block;margin-top:3.76px;line-height:1.35}

/* Evidence point: no overlap. */
.fbp-evidence-toolbar{display:grid!important;grid-template-columns:minmax(260px,1.2fr) minmax(260px,1.45fr) minmax(330px,auto) auto!important;gap:9.4px!important;align-items:end!important;padding:13.16px!important;border:1px solid #dce5f2!important;border-radius:15.04px!important;background:#f6f9fe!important;box-shadow:0 8px 20px rgba(31,61,105,.04)!important;overflow:visible!important}
.fbp-evidence-toolbar>*{min-width:0!important;margin:0!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important}
.fbp-evidence-source-tabs{display:flex!important;gap:5.64px!important;flex-wrap:wrap!important;align-items:center!important;min-width:0!important}
.fbp-evidence-source-tabs button{min-height:39.48px;white-space:nowrap}
.fbp-evidence-toolbar-actions{display:flex;gap:5.64px;align-items:center;justify-content:flex-end;min-width:0}
.fbp-analysis-evidence-context{display:flex;gap:9.4px;align-items:center;flex-wrap:wrap;margin:0 0 9.4px;padding:9.4px 11.28px;border-radius:9.4px;background:#eef4ff;color:#37517e;font-size:12px}

/* Dual maps — both visible at the same time. */
.fbp-map-shared-filters{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(190px,.8fr) minmax(230px,1.15fr) auto auto auto;gap:8.46px;align-items:end;margin:13.16px 0;padding:13.16px;border:1px solid #dae4f2;border-radius:15.04px;background:#f6f9fe}
.fbp-map-shared-filters>button{min-height:39.48px}
.fbp-dual-map-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13.16px!important;align-items:start!important}
.fbp-map-card{border:1px solid #dce5f2;border-radius:15.04px;background:#fff;padding:11.28px;overflow:hidden;box-shadow:0 10px 26px rgba(31,62,108,.06)}
.fbp-map-card>header{display:flex;align-items:center;justify-content:space-between;gap:9.4px;padding:1.88px 1.88px 9.4px}
.fbp-map-card>header small{display:block;color:#748198;font-size:10px;font-weight:800;letter-spacing:.12em}
.fbp-map-card>header h3{margin:1.88px 0 0;color:#173b8f;font-size:16.92px}
.fbp-map-card>header>span{font-size:10px;padding:4.7px 7.52px;border-radius:939.06px;background:#edf3fb;color:#5d6f89}
.fbp-eu-leaflet-map,.fbp-us-map-panel .fbp-outbreak-map{height:470px!important;min-height:470px!important;border-radius:11.28px!important;overflow:hidden!important;background:#eaf3fb!important}
.fbp-eu-map-source-tabs-bottom{display:flex!important;flex-wrap:wrap!important;gap:6.58px!important;margin:9.4px 0 6.58px!important;padding:0!important;background:transparent!important}
.fbp-eu-map-source-tabs-bottom button{min-height:33.84px}
.fbp-eu-map-diagnostics{display:grid;grid-template-columns:auto repeat(3,1fr);gap:6.58px;align-items:center;padding:9.4px;border-radius:9.4px;background:#f6f8fc;color:#59697f;font-size:10px;margin:7.52px 0}
.fbp-eu-map-diagnostics b{color:#2a4679}
.fbp-eu-rank{display:grid!important;grid-template-columns:minmax(90px,.75fr) minmax(120px,2fr) auto minmax(105px,.7fr)!important;gap:6.58px!important;align-items:center!important}

/* Environmental profile + fixed quick navigation order. */
.fbp-environment-profile{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(370px,.9fr)!important;gap:11.28px!important;align-items:end!important;padding:15.04px!important;border:1px solid #dbe5f2!important;border-radius:15.04px!important;background:linear-gradient(180deg,#f7faff,#f2f7fd)!important;overflow:visible!important}
.fbp-env-profile-copy{min-width:0;align-self:center}
.fbp-env-profile-copy>b{font-size:15.98px;color:#173b8f}
.fbp-env-profile-copy p{margin:5.64px 0 0;line-height:1.55;color:#5b6b84}
.fbp-env-profile-actions{display:grid!important;grid-template-columns:minmax(220px,1fr) auto!important;gap:7.52px!important;align-items:end!important;min-width:0!important}
.fbp-environment-profile>small{grid-column:1/-1;display:block!important;padding:9.4px 11.28px!important;border-radius:9.4px!important;background:#fff5d9!important;color:#6c561e!important;line-height:1.45!important;margin:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
.fbp-environment-profile-results{grid-column:1/-1;min-width:0}
.fbp-env-profile-head{display:flex;justify-content:space-between;align-items:flex-end;gap:11.28px;margin:11.28px 0 7.52px}
.fbp-env-profile-head small{display:block;font-weight:800;color:#6b7890}
.fbp-env-profile-head h3{margin:2.82px 0 0;color:#173b8f}
.fbp-env-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9.4px}
.fbp-env-relevance-card{border:1px solid #dce4f0;border-left:4px solid #64748b;border-radius:11.28px;background:#fff;padding:11.28px;min-width:0}
.fbp-env-relevance-card.priority-high{border-left-color:#b53648}.fbp-env-relevance-card.priority-medium{border-left-color:#d08a18}.fbp-env-relevance-card.priority-low{border-left-color:#27896e}.fbp-env-relevance-card.priority-context{border-left-color:#6b7f9d}
.fbp-env-card-top{display:flex;justify-content:space-between;gap:5.64px;align-items:center}.fbp-env-card-top span,.fbp-env-card-top b{font-size:9px;padding:3.76px 5.64px;border-radius:939.06px;background:#edf2f8;color:#53647c}
.fbp-env-relevance-card h4{margin:9.4px 0;color:#173b8f;font-size:14.1px}.fbp-env-relevance-card dl{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:5.64px 9.4px;margin:0;font-size:11px}.fbp-env-relevance-card dt{font-weight:800;color:#596981}.fbp-env-relevance-card dd{margin:0;line-height:1.45}.fbp-env-relevance-card dd small{display:block;color:#7a8798;margin-top:1.88px}
.fbp-env-profile-note{font-size:11px;color:#62718a;margin:9.4px 0 0}
.fbp-env-view-toggle{display:flex!important;flex-wrap:wrap!important;gap:6.58px!important;overflow:visible!important}
.fbp-env-quicknav{display:flex!important;flex-wrap:wrap!important;gap:6.58px!important;margin:7.52px 0 11.28px!important;overflow:visible!important;white-space:normal!important}
.fbp-env-quicknav button{flex:0 1 auto!important;max-width:100%!important;white-space:normal!important}
.fbp-library-environment .is-unassigned>h2,.fbp-library-environment .is-unassigned>h3,.fbp-library-environment .fbp-environment-zone-title{font-size:clamp(16.92px,2vw,23.5px)!important;line-height:1.2!important;padding:15.04px 16.92px!important;min-height:auto!important}
.fbp-library-environment .is-unassigned{border-radius:13.16px!important;overflow:hidden!important}

/* Sampling search always functional and visible. */
.fbp-sampling-search-surface{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8.46px;align-items:end;margin:13.16px 0}
.fbp-sampling-result-count{font-size:12px;font-weight:800;color:#5b6a83;padding:10.34px 0}
.fbp-standalone-sampling-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9.4px!important}
.fbp-standalone-sampling-card[hidden]{display:none!important}

/* Risk summary becomes an interaction layer, not decorative boxes. */
.fbp-kpis-interactive .fbp-kpi[data-risk-filter]{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;text-align:left}
.fbp-kpis-interactive .fbp-kpi[data-risk-filter]:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(28,57,102,.12)}
[data-risk-filter].is-filtering{outline:4px solid rgba(29,73,164,.18);outline-offset:2px}
.fbp-risk-filter-state{display:flex;align-items:center;justify-content:space-between;gap:9.4px;padding:8.46px 11.28px;margin:7.52px 0;border-radius:9.4px;background:#edf4ff;color:#314f81;font-size:12px}
.fbp-risk-table tr[hidden]{display:none!important}
.fbp-evidence-open{white-space:normal!important}

/* Modal = one centred system. Prevent the old half-offscreen variants. */
body.fbp-modal-open{overflow:hidden!important}
.fbp-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:grid!important;place-items:center!important;padding:18.8px!important;overflow:hidden!important;background:transparent!important}
.fbp-modal[hidden]{display:none!important}
.fbp-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(13,25,48,.58)!important;backdrop-filter:blur(3px)}
.fbp-modal-card{position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;width:min(820px,calc(100vw - 36px))!important;max-width:820px!important;max-height:min(90dvh,827.2px)!important;overflow:auto!important;border-radius:16.92px!important;background:#fff!important;box-shadow:0 28px 80px rgba(7,20,48,.34)!important;padding:22.56px!important;z-index:2!important}
.fbp-modal-close{position:sticky!important;float:right!important;top:0!important;right:0!important;margin:-7.52px -7.52px 3.76px 9.4px!important;z-index:4!important}
.fbp-bubble-modal details{margin-top:11.28px;padding:10.34px 12.22px;border-radius:11.28px;background:#f5f8fd;border:1px solid #e0e7f2}
.fbp-bubble-modal details summary{font-weight:800;color:#23477e;cursor:pointer}
.fbp-bubble-modal-actions{display:flex;justify-content:flex-end;gap:7.52px;flex-wrap:wrap;margin-top:15.04px}

/* Responsive guarantees. */
@media(max-width:1240px){
  .fbp-topbar-v171 .fbp-topbar-row{grid-template-columns:1fr}.fbp-topbar-v171 .fbp-top-actions{justify-content:flex-start;max-width:none}
  .fbp-pathogen-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .fbp-evidence-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fbp-evidence-toolbar-actions{justify-content:flex-start}
  .fbp-map-shared-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fbp-dual-map-grid{grid-template-columns:1fr!important}
  .fbp-env-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .fbp-topbar-v171,.fbp-scope-note-v171,.fbp-system-at-glance,.fbp-analysis-shell{padding-left:15.04px;padding-right:15.04px}
  .fbp-topbar-v171 .fbp-top-brand{grid-template-columns:105px minmax(0,1fr);gap:15.04px}.fbp-topbar-v171 .fbp-top-brand>img{width:105px}
  .fbp-pathogen-search-surface,.fbp-reg-search-surface,.fbp-map-shared-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fbp-pathogen-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fbp-environment-profile{grid-template-columns:1fr!important}.fbp-env-profile-actions{grid-template-columns:minmax(0,1fr) auto!important}
  .fbp-standalone-sampling-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .fbp-topbar-v171{padding-top:13.16px}.fbp-topbar-v171 .fbp-top-brand{grid-template-columns:76px minmax(0,1fr);gap:11.28px}.fbp-topbar-v171 .fbp-top-brand>img{width:76px}.fbp-topbar-v171 .fbp-brand-copy .fbp-eyebrow{font-size:9px;letter-spacing:.1em}.fbp-topbar-v171 .fbp-brand-copy h1{font-size:27.26px}.fbp-topbar-v171 .fbp-top-intro{font-size:13px;line-height:1.5}
  .fbp-system-at-glance{gap:4.7px}.fbp-system-at-glance button{flex:1 1 130px;justify-content:space-between}
  .fbp-analysis-shell-head{align-items:flex-start;flex-direction:column}.fbp-analysis-nav button{flex:1 1 calc(50% - 8px)}
  .fbp-pathogen-search-surface,.fbp-reg-search-surface,.fbp-evidence-toolbar,.fbp-map-shared-filters,.fbp-sampling-search-surface{grid-template-columns:1fr!important}
  .fbp-pathogen-advanced{grid-template-columns:1fr}.fbp-pathogen-grid,.fbp-env-profile-grid,.fbp-standalone-sampling-grid{grid-template-columns:1fr!important}
  .fbp-physio-charts{grid-template-columns:1fr}
  .fbp-env-profile-actions{grid-template-columns:1fr!important}.fbp-env-profile-actions button{width:100%}
  .fbp-eu-leaflet-map,.fbp-us-map-panel .fbp-outbreak-map{height:366.6px!important;min-height:366.6px!important}
  .fbp-eu-map-diagnostics{grid-template-columns:1fr 1fr}.fbp-eu-map-diagnostics b{grid-column:1/-1}
  .fbp-modal{padding:7.52px!important}.fbp-modal-card{width:calc(100vw - 16px)!important;max-height:94dvh!important;padding:16.92px!important;border-radius:13.16px!important}
}
@media(prefers-reduced-motion:reduce){.fbp-pathogen-card,.fbp-physio-chart,.fbp-kpis-interactive .fbp-kpi[data-risk-filter]{transition:none!important}.fbp-workspace *{scroll-behavior:auto!important}}

/* Detail range charts emitted by public-v150.js. */
.fbp-range-chart{border:1px solid #dbe4f1;border-radius:13.16px;background:linear-gradient(180deg,#f9fbff,#f3f8ff);padding:12.22px;min-width:0;transition:transform .16s ease,box-shadow .16s ease}
.fbp-range-chart:hover,.fbp-range-chart:focus-visible{transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,65,120,.11);outline:3px solid rgba(30,79,173,.12);outline-offset:2px}
.fbp-range-chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:9.4px}.fbp-range-chart-head h4{margin:0;color:#173b8f;font-size:16.92px}.fbp-range-chart-head span{font-size:12px;font-weight:800;color:#52647d}
.fbp-range-axis{position:relative;height:16.92px;border-radius:939.06px;background:#e5edf8;margin:28.2px 7.52px 22.56px;overflow:visible}
.fbp-range-supported,.fbp-range-optimum{position:absolute;top:2px;height:13.16px;border-radius:939.06px}.fbp-range-supported{background:linear-gradient(90deg,#2c73c9,#26a17d);box-shadow:0 4px 10px rgba(31,100,175,.22)}.fbp-range-optimum{top:5px;height:7.52px;background:#ffb020;box-shadow:0 0 0 3px rgba(255,176,32,.13)}
.fbp-range-min,.fbp-range-max{position:absolute;top:24px;font-size:10px;color:#77869a}.fbp-range-min{left:0}.fbp-range-max{right:0}
.fbp-range-tooltip{display:flex;flex-direction:column;gap:2.82px;padding:8.46px 9.4px;border-radius:8.46px;background:#fff;border:1px solid #e1e7f0;color:#50617a;font-size:11px}.fbp-range-tooltip b{color:#263e6e}.fbp-range-tooltip small{color:#7a8798}
.fbp-range-chart.is-empty{background:#fafbfc;color:#708099}.fbp-range-chart.is-empty h4{margin:0 0 6.58px}
@media(prefers-reduced-motion:reduce){.fbp-range-chart{transition:none!important}}
.fbp-bubble-provenance{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.55fr);gap:8.46px;margin:13.16px 0}.fbp-bubble-provenance>div{padding:10.34px 11.28px;border:1px solid #e0e7f1;border-radius:10.34px;background:#fbfcfe}.fbp-bubble-provenance>div:last-child{grid-column:1/-1}.fbp-bubble-provenance small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#758298;font-weight:800;margin-bottom:3.76px}.fbp-bubble-provenance p{margin:0;line-height:1.5;color:#465872}.fbp-bubble-provenance b{color:#173b8f}.fbp-bubble-source-note{font-size:11px;line-height:1.5;color:#68768b;margin:9.4px 0 0}
@media(max-width:650px){.fbp-bubble-provenance{grid-template-columns:1fr}.fbp-bubble-provenance>div:last-child{grid-column:auto}}
/* v0.17.1 final environmental navigation containment */
.fbp-env-quicknav>div{display:flex!important;flex:1 1 520px!important;flex-wrap:wrap!important;gap:6.58px!important;min-width:0!important;overflow:visible!important}
.fbp-em-zone-bar.is-unassigned{min-height:105.28px!important;padding:18.8px 22.56px!important}
.fbp-em-zone-bar.is-unassigned h3{font-size:clamp(22.56px,2.5vw,33.84px)!important;line-height:1.08!important}
.fbp-em-zone-bar.is-unassigned strong{max-width:650px!important;line-height:1.45!important;font-weight:700!important}

/* v0.17.1 system status explanation */
.fbp-system-science-note{margin-top:13.16px;padding:11.28px 13.16px;border:1px solid #dbe5f2;border-radius:11.28px;background:#f6f9fe;color:#253650}
.fbp-system-science-note strong{display:block;margin-bottom:5.64px;color:#132f72}
.fbp-system-science-note p{margin:5.64px 0;line-height:1.55}
