/* FoodBorne Pathogen Guide v0.17.5 - explanatory modals, compact EM summary and risk-table balance */

/* -------------------------------------------------------------------------
 * KPI / knowledge popup. The icon is a source marker, never the first digit
 * of the count. Content follows one clear alignment grid.
 * ---------------------------------------------------------------------- */
.fbp-bubble-modal-v175{padding-right:50.76px!important;max-width:none!important}
.fbp-bubble-modal-head{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:16.92px!important;align-items:start!important;margin:0 0 16.92px!important;min-width:0!important}
.fbp-bubble-source-icon{display:grid!important;place-items:center!important;width:72px!important;height:67.68px!important;border-radius:18.8px!important;background:linear-gradient(145deg,#17377f,#2f63c4)!important;color:#fff!important;font-size:19.74px!important;font-weight:950!important;letter-spacing:.02em!important;box-shadow:0 12px 26px rgba(28,63,137,.18)!important}
.fbp-bubble-modal-head h2{margin:4.7px 0 7.52px!important;font-size:28.2px!important;line-height:1.15!important;color:#17377f!important}
.fbp-bubble-number-line{display:flex!important;align-items:baseline!important;gap:9.4px!important;flex-wrap:wrap!important;margin:0!important;color:#687791!important}
.fbp-bubble-number-line strong{font-size:29.14px!important;line-height:1!important;color:#17377f!important;font-weight:950!important}
.fbp-bubble-number-line span{font-size:13px!important;line-height:1.4!important}
.fbp-bubble-simple{margin:0 0 15.04px!important;padding:13.16px 15.04px!important;border-left:4px solid #f5a30b!important;border-radius:0 11.28px 11.28px 0!important;background:#fff9ea!important;color:#42536f!important;font-size:14.1px!important;line-height:1.65!important}
.fbp-bubble-facts{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr)!important;gap:9.4px!important;margin:0 0 13.16px!important}
.fbp-bubble-facts article{min-width:0!important;padding:12.22px 13.16px!important;border:1px solid #dce5f0!important;border-radius:12.22px!important;background:#f8faff!important}
.fbp-bubble-facts article:nth-child(3){grid-column:1/-1!important}
.fbp-bubble-facts small{display:block!important;color:#6f7d93!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.fbp-bubble-facts p,.fbp-bubble-facts b{display:block!important;margin:5.64px 0 0!important;color:#29426f!important;line-height:1.55!important;overflow-wrap:anywhere!important}
.fbp-bubble-modal-v175 details{margin-top:9.4px!important}

/* -------------------------------------------------------------------------
 * Per-subsystem technical popup. It is a compact flow diagram, not a generic
 * version list. Every node fits the modal and wraps predictably.
 * ---------------------------------------------------------------------- */
.fbp-system-detail-modal{padding-right:50.76px!important}
.fbp-system-detail-head{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;gap:15.04px!important;align-items:start!important;margin-bottom:18.8px!important}
.fbp-system-detail-icon{display:grid!important;place-items:center!important;width:68px!important;height:63.92px!important;border-radius:16.92px!important;background:linear-gradient(145deg,#172f70,#3368c5)!important;color:#fff!important;font-size:16.92px!important;font-weight:950!important;box-shadow:0 12px 26px rgba(31,67,143,.18)!important}
.fbp-system-detail-head h2{margin:3.76px 0 6.58px!important;color:#17377f!important;font-size:27.26px!important;line-height:1.15!important}
.fbp-system-detail-head p{margin:0!important;color:#53637d!important;line-height:1.6!important}
.fbp-system-version-pill{align-self:start!important;min-width:150px!important;padding:9.4px 11.28px!important;border:1px solid #dbe4ef!important;border-radius:11.28px!important;background:#f7f9fd!important;text-align:left!important}
.fbp-system-version-pill small{display:block!important;color:#718099!important;font-size:10px!important;font-weight:850!important;text-transform:uppercase!important}
.fbp-system-version-pill b{display:block!important;margin-top:4.7px!important;color:#17377f!important;font-size:13.16px!important;overflow-wrap:anywhere!important}
.fbp-subsystem-diagram{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7.52px!important;align-items:center!important;margin:7.52px 0 15.04px!important;padding:13.16px!important;border:1px solid #dce5f0!important;border-radius:14.1px!important;background:linear-gradient(180deg,#f8fbff,#f2f6fc)!important}
.fbp-subsystem-node{grid-column:span 1!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:7.52px!important;align-items:center!important;min-width:0!important;padding:9.4px!important;border:1px solid #d7e1ef!important;border-radius:11.28px!important;background:#fff!important;box-shadow:0 5px 13px rgba(33,61,110,.05)!important}
.fbp-subsystem-node span{display:grid!important;place-items:center!important;width:28px!important;height:26.32px!important;border-radius:50%!important;background:#183a88!important;color:#fff!important;font-size:11px!important;font-weight:900!important}
.fbp-subsystem-node b{min-width:0!important;color:#264477!important;font-size:11px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.fbp-subsystem-arrow{display:grid!important;place-items:center!important;color:#f3a313!important;font-size:20.68px!important;font-weight:900!important}
.fbp-system-role-card{padding:13.16px 15.04px!important;border:1px solid #dbe4ef!important;border-radius:12.22px!important;background:#fff!important}
.fbp-system-role-card strong{display:block!important;color:#17377f!important;margin-bottom:5.64px!important}
.fbp-system-role-card p{margin:0!important;color:#4f607a!important;line-height:1.6!important}

/* -------------------------------------------------------------------------
 * Evidence specificity chips. The count is explicitly an event count and the
 * label is a plain-language match level.
 * ---------------------------------------------------------------------- */
.fbp-evidence-badges{display:grid!important;gap:5.64px!important;margin-top:6.58px!important}
.fbp-evidence-badge{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:6.58px!important;align-items:center!important;width:100%!important;max-width:180px!important;padding:6.58px 7.52px!important;border:1px solid transparent!important;border-radius:11.28px!important;white-space:normal!important;line-height:1.2!important}
.fbp-evidence-badge>b{display:grid!important;place-items:center!important;width:34px!important;height:31.96px!important;border-radius:50%!important;background:rgba(255,255,255,.82)!important;font-size:13.16px!important;font-weight:950!important}
.fbp-evidence-badge>span{display:block!important;min-width:0!important}
.fbp-evidence-badge strong{display:block!important;font-size:10px!important;line-height:1.25!important;color:inherit!important}
.fbp-evidence-badge small{display:block!important;margin-top:1.88px!important;font-size:8.5px!important;line-height:1.3!important;color:inherit!important;opacity:.82!important}
.fbp-evidence-badge.exact{background:#e7f6ed!important;border-color:#b7dfc6!important;color:#12683b!important}
.fbp-evidence-badge.ingredient{background:#e8f5ee!important;border-color:#b9dfc9!important;color:#17633d!important}
.fbp-evidence-badge.related{background:#edf3ff!important;border-color:#c4d4f4!important;color:#244b91!important}
.fbp-evidence-badge.category{background:#fff5dc!important;border-color:#ead59b!important;color:#7b5a10!important}
.fbp-specificity-help{max-width:240px!important;margin-top:2.82px!important}

/* -------------------------------------------------------------------------
 * Environmental relevance results are a compact table. Detailed rationale is
 * expanded only on demand. The jump action is always above the table.
 * ---------------------------------------------------------------------- */
.fbp-env-profile-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:13.16px!important;margin:9.4px 0!important;padding:11.28px 13.16px!important;border:1px solid #dce5f0!important;border-radius:12.22px!important;background:#f8faff!important}
.fbp-env-profile-toolbar>div{min-width:0!important}.fbp-env-profile-toolbar small{display:block!important;color:#6e7d94!important;font-size:10px!important;font-weight:900!important;text-transform:uppercase!important}.fbp-env-profile-toolbar h3{margin:2.82px 0!important;color:#173b8f!important;font-size:18.8px!important}.fbp-env-profile-toolbar span{color:#6b7890!important;font-size:11px!important}.fbp-env-jump-program{flex:0 0 auto!important;min-width:210px!important;white-space:normal!important}
.fbp-env-summary-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;border:1px solid #dce5f0!important;border-radius:13.16px!important;background:#fff!important}
.fbp-env-summary-table{width:100%!important;min-width:1180px!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important;font-size:11px!important}
.fbp-env-summary-table th{padding:9.4px 8.46px!important;background:#edf2f8!important;color:#53617a!important;font-size:9px!important;line-height:1.3!important;text-align:left!important;text-transform:uppercase!important;letter-spacing:.03em!important;border-bottom:1px solid #dce5f0!important}
.fbp-env-summary-table td{padding:9.4px 8.46px!important;vertical-align:top!important;border-bottom:1px solid #e8edf4!important;color:#43536e!important;line-height:1.42!important;overflow-wrap:anywhere!important}
.fbp-env-summary-table tr:last-child td{border-bottom:0!important}.fbp-env-summary-table tbody tr:not(.fbp-env-detail-row):hover td{background:#fbfcff!important}
.fbp-env-summary-table th:nth-child(1){width:220px!important}.fbp-env-summary-table th:nth-child(2){width:135px!important}.fbp-env-summary-table th:nth-child(3),.fbp-env-summary-table th:nth-child(4),.fbp-env-summary-table th:nth-child(5){width:82px!important}.fbp-env-summary-table th:nth-child(6){width:185px!important}.fbp-env-summary-table th:nth-child(7){width:210px!important}.fbp-env-summary-table th:nth-child(8){width:105px!important}.fbp-env-summary-table th:nth-child(9){width:120px!important}
.fbp-env-summary-table td:first-child b{display:block!important;margin-top:4.7px!important;color:#173b8f!important;font-size:12px!important}.fbp-env-category{display:inline-flex!important;padding:2.82px 5.64px!important;border-radius:939.06px!important;background:#eef3f9!important;color:#667690!important;font-size:8.5px!important;font-weight:800!important}.fbp-env-priority-pill{display:inline-flex!important;padding:4.7px 7.52px!important;border-radius:939.06px!important;font-size:9px!important;font-weight:900!important}.fbp-env-priority-pill.priority-high,.fbp-env-priority-pill.priority-critical{background:#fde9ed!important;color:#9b1c34!important}.fbp-env-priority-pill.priority-medium{background:#fff4d9!important;color:#825b08!important}.fbp-env-priority-pill.priority-low{background:#e8f4ed!important;color:#176943!important}
.fbp-env-summary-table td small{display:block!important;margin-top:3.76px!important;color:#75829a!important;line-height:1.35!important}.fbp-env-row-toggle{width:100%!important;min-width:0!important;padding:6.58px 7.52px!important;font-size:9px!important}
.fbp-env-detail-row[hidden]{display:none!important}.fbp-env-detail-row td{padding:0!important;background:#fbfcff!important}.fbp-env-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9.4px!important;padding:11.28px!important}.fbp-env-detail-grid section{min-width:0!important;padding:11.28px!important;border:1px solid #dfe6f0!important;border-radius:10.34px!important;background:#fff!important}.fbp-env-detail-grid section:last-child:nth-child(3){grid-column:1/-1!important}.fbp-env-detail-grid h5{margin:0 0 6.58px!important;color:#23477e!important;font-size:11px!important}.fbp-env-detail-grid p,.fbp-env-detail-grid li{font-size:10.5px!important;line-height:1.5!important;color:#4d5e76!important;overflow-wrap:anywhere!important}.fbp-env-detail-grid ul{margin:0 0 0 16.92px!important;padding:0!important}

/* -------------------------------------------------------------------------
 * Risk Analysis table: less empty white space, more room for the columns that
 * carry scientific reasoning, while preserving horizontal audit readability.
 * ---------------------------------------------------------------------- */
.fbp-risk-table{width:2020px!important;min-width:2020px!important;table-layout:fixed!important}
.fbp-risk-table th:nth-child(1),.fbp-risk-table td:nth-child(1){width:235px!important;min-width:235px!important}
.fbp-risk-table th:nth-child(2),.fbp-risk-table td:nth-child(2){width:145px!important;min-width:145px!important}
.fbp-risk-table th:nth-child(3),.fbp-risk-table td:nth-child(3){width:220px!important;min-width:220px!important}
.fbp-risk-table th:nth-child(4),.fbp-risk-table td:nth-child(4){width:250px!important;min-width:250px!important}
.fbp-risk-table th:nth-child(5),.fbp-risk-table td:nth-child(5){width:210px!important;min-width:210px!important}
.fbp-risk-table th:nth-child(6),.fbp-risk-table td:nth-child(6){width:205px!important;min-width:205px!important}
.fbp-risk-table th:nth-child(7),.fbp-risk-table td:nth-child(7){width:145px!important;min-width:145px!important}
.fbp-risk-table th:nth-child(8),.fbp-risk-table td:nth-child(8){width:250px!important;min-width:250px!important}
.fbp-risk-table th:nth-child(9),.fbp-risk-table td:nth-child(9){width:360px!important;min-width:360px!important}
.fbp-risk-table td{overflow:visible!important}

@media(max-width:1000px){
  .fbp-bubble-modal-v175,.fbp-system-detail-modal{padding-right:0!important}
  .fbp-bubble-modal-head{grid-template-columns:58px minmax(0,1fr)!important}.fbp-bubble-source-icon{width:56px!important;height:52.64px!important;border-radius:15.04px!important}
  .fbp-bubble-facts{grid-template-columns:1fr!important}.fbp-bubble-facts article:nth-child(3){grid-column:1!important}
  .fbp-system-detail-head{grid-template-columns:58px minmax(0,1fr)!important}.fbp-system-detail-icon{width:56px!important;height:52.64px!important}.fbp-system-version-pill{grid-column:1/-1!important;width:100%!important}
  .fbp-subsystem-diagram{display:flex!important;overflow-x:auto!important;align-items:stretch!important}.fbp-subsystem-node{flex:0 0 190px!important}.fbp-subsystem-arrow{flex:0 0 24px!important}
  .fbp-env-profile-toolbar{align-items:flex-start!important;flex-direction:column!important}.fbp-env-jump-program{width:100%!important;min-width:0!important}
  .fbp-env-detail-grid{grid-template-columns:1fr!important}.fbp-env-detail-grid section:last-child:nth-child(3){grid-column:1!important}
}
.fbp-env-profile-copy{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:11.28px!important}.fbp-env-profile-copy>div{min-width:0!important}.fbp-env-jump-top{flex:0 0 auto!important;min-width:220px!important;white-space:normal!important}
@media(max-width:760px){.fbp-env-profile-copy{flex-direction:column!important}.fbp-env-jump-top{width:100%!important;min-width:0!important}}
