/* FoodCare Foodborne Guide 0.20.4 - correctness + long-table navigation */

/* Floating long-page / wide-table navigation. Minimum readable text: 13px. */
.fbp-risk-quicknav{position:fixed;right:22px;bottom:22px;z-index:10040;font-size:13px!important;font-family:inherit}
.fbp-risk-quicknav *{box-sizing:border-box;font-size:max(13px,1em)}
.fbp-risk-quicknav-toggle{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px 14px;border:1px solid #b9c9e7;border-radius:999px;background:#173b8f;color:#fff;font-weight:850;box-shadow:0 10px 30px rgba(23,59,143,.24);cursor:pointer}
.fbp-risk-quicknav-toggle span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);font-size:20px!important;line-height:1}
.fbp-risk-quicknav-panel{position:absolute;right:0;bottom:58px;width:min(330px,calc(100vw - 28px));max-height:min(70vh,620px);overflow:auto;padding:10px;border:1px solid #d2dceb;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(18,42,88,.22)}
.fbp-risk-quicknav-panel[hidden]{display:none!important}
.fbp-qnav-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 4px 9px;color:#173b8f}
.fbp-qnav-close{width:34px;height:34px;border:1px solid #d7e0ee;border-radius:50%;background:#f5f8fc;color:#173b8f;font-size:20px!important;cursor:pointer}
.fbp-risk-quicknav-panel>[data-qnav-type]{display:block;width:100%;min-height:40px;margin:4px 0;padding:8px 10px;text-align:left;border:1px solid #dce5f2;border-radius:10px;background:#f8faff;color:#173b8f;font-weight:750;cursor:pointer}
.fbp-risk-quicknav-panel>[data-qnav-type]:hover,.fbp-risk-quicknav-panel>[data-qnav-type]:focus-visible{background:#eaf1ff;border-color:#7fa0df;outline:none}
.fbp-qnav-heading{margin:10px 4px 5px;padding-top:8px;border-top:1px solid #e2e8f1;color:#6e7d95;font-weight:850;text-transform:uppercase;letter-spacing:.04em;font-size:13px!important}

/* Current-product map reload gets visible feedback. */
.fbp-outbreak-current.loading{position:relative;opacity:.75;cursor:wait}
.fbp-outbreak-current.loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:fbp204spin .7s linear infinite}
@keyframes fbp204spin{to{transform:rotate(360deg)}}

/* Virus-specific environmental interpretation. */
.fbp-virus-route-note,.fbp-virus-environment-callout{border:1px solid #d8c9f4;border-left:4px solid #7650bd;border-radius:12px;background:linear-gradient(90deg,#f7f2ff,#fbfdff);color:#283e67}
.fbp-virus-route-note{grid-column:1/-1!important;padding:14px!important}
.fbp-virus-route-note h5,.fbp-virus-environment-callout b{color:#5d359e!important;font-weight:900!important}
.fbp-virus-route-note p,.fbp-virus-environment-callout p{margin:6px 0 0!important;line-height:1.55!important;font-size:13px!important}
.fbp-virus-environment-callout{margin:10px 14px;padding:12px 14px}

/* Empty n/c/m/M criterion: explain absence rather than showing n=- etc. */
.fbp-sampling-plan-empty{display:grid;gap:5px;padding:11px 13px;border:1px solid #e1e6ee;border-radius:10px;background:#f8fafc}
.fbp-sampling-plan-empty b{font-size:13px!important;color:#173b8f}
.fbp-sampling-plan-empty small{font-size:13px!important;line-height:1.45;color:#61728f}
.fbp-sampling-plan-wrap{margin:8px 0 12px}

@media(max-width:760px){
  .fbp-risk-quicknav{right:12px;bottom:14px}
  .fbp-risk-quicknav-toggle{min-width:48px;padding:8px 10px}
  .fbp-risk-quicknav-toggle b{display:none}
  .fbp-risk-quicknav-panel{bottom:55px;width:min(310px,calc(100vw - 24px));max-height:62vh}
}
.fbp-risk-table tr[data-pathogen-id],.fbp-risk-legend,.fbp-scoring-algorithm,.fbp-scientific-wide-toolbar{scroll-margin-top:82px}
.fbp-virus-environment-callout small{display:block;margin-top:8px;padding-top:8px;border-top:1px solid #e1d7f4;color:#667795;font-size:13px!important;line-height:1.45!important}
