/* FoodCare Foodborne Guide 0.20.10 - persistent analysis navigation and safe exit */
body.fbp-analysis-context .fbp-analysis-shell.fbp-analysis-sticky-active:not([hidden]){
  position:sticky!important;
  top:0;
  z-index:10030!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#f3f7ff;
  box-shadow:0 12px 30px rgba(16,42,92,.16);
}
body.admin-bar.fbp-analysis-context .fbp-analysis-shell.fbp-analysis-sticky-active:not([hidden]){top:32px}
.fbp-analysis-shell-head{min-height:46px!important;padding:8px 14px!important;gap:12px!important}
.fbp-analysis-shell-head>div:first-child{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;flex-wrap:wrap!important}
.fbp-analysis-shell-head small{white-space:nowrap!important}
.fbp-analysis-context-name{max-width:min(48vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fbp-analysis-save-state{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:13px!important;font-weight:850;line-height:1.1;background:#e8f6ed;color:#176a42;border:1px solid #bfdfcb}
.fbp-analysis-dirty .fbp-analysis-save-state{background:#fff4d8;color:#825500;border-color:#f0d28d}
.fbp-analysis-save-state:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.fbp-analysis-shell-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important}
.fbp-analysis-shell-actions .fbp-exit-analysis{background:#fff0f1!important;color:#a51f34!important;border:1px solid #e7b8c1!important;font-weight:850!important}
.fbp-analysis-nav{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;padding:8px!important;overflow:visible!important}
.fbp-analysis-nav button{min-width:0!important;width:100%!important;min-height:40px!important;padding:7px 8px!important;font-size:13px!important;line-height:1.18!important}
.fbp-results-panel,.fbp-risk-legend,.fbp-scoring-algorithm,.fbp-scientific-wide-toolbar,.fbp-risk-table tr[data-pathogen-id]{scroll-margin-top:132px!important}

.fbp-risk-exit-dialog[hidden]{display:none!important}
.fbp-risk-exit-dialog{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:20px}
.fbp-risk-exit-backdrop{position:absolute;inset:0;border:0;background:rgba(7,18,39,.58);cursor:default}
.fbp-risk-exit-dialog>section{position:relative;width:min(620px,100%);padding:26px;border:1px solid #cbd8ea;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(5,20,48,.34)}
.fbp-risk-exit-dialog h2{margin:8px 0 10px;color:#173b8f;font-size:26px}
.fbp-risk-exit-dialog p{font-size:15px;line-height:1.6;color:#4e5f78}
.fbp-risk-exit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.fbp-risk-exit-actions button{min-height:46px;padding:10px 16px;font-size:14px;font-weight:850}
body.fbp-risk-exit-dialog-open{overflow:hidden!important}

.fbp-wide-mode-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#173b8f;color:#fff;font-weight:850;font-size:13px!important}

.fbp-qnav-search{display:grid;gap:5px;margin:7px 2px 8px;color:#64738c;font-weight:800;font-size:13px!important}
.fbp-qnav-search input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfdbea;border-radius:9px;background:#fff;color:#18366f;font-size:13px!important}
.fbp-qnav-hazard{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;border-left-width:4px!important}
.fbp-qnav-hazard span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}
.fbp-qnav-hazard small{font-size:13px!important;color:#64738b;white-space:nowrap}
.fbp-qnav-hazard.risk-critical{border-left-color:#b6203c!important}
.fbp-qnav-hazard.risk-high{border-left-color:#dd6a24!important}
.fbp-qnav-hazard.risk-moderate{border-left-color:#d7a400!important}
.fbp-qnav-hazard.risk-low{border-left-color:#25875c!important}
.fbp-qnav-focus{animation:fbpQnavFocus 1.7s ease}
@keyframes fbpQnavFocus{0%,100%{box-shadow:none}30%{box-shadow:inset 0 0 0 3px #2d67c8,0 0 0 4px rgba(45,103,200,.15)}}

@media(max-width:1100px){
  .fbp-analysis-nav{display:flex!important;overflow-x:auto!important;scrollbar-width:thin;scroll-snap-type:x proximity}
  .fbp-analysis-nav button{flex:0 0 auto!important;min-width:155px!important;scroll-snap-align:start}
  .fbp-analysis-shell-head{align-items:flex-start!important}
}
@media(max-width:782px){
  body.admin-bar.fbp-analysis-context .fbp-analysis-shell.fbp-analysis-sticky-active:not([hidden]){top:46px}
}
@media(max-width:700px){
  body.fbp-analysis-context .fbp-analysis-shell.fbp-analysis-sticky-active:not([hidden]){top:0}
  body.admin-bar.fbp-analysis-context .fbp-analysis-shell.fbp-analysis-sticky-active:not([hidden]){top:46px}
  .fbp-analysis-shell-head{display:grid!important;grid-template-columns:1fr!important;padding:7px 9px!important}
  .fbp-analysis-shell-actions{width:100%!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .fbp-analysis-shell-actions>*{width:100%!important;min-width:0!important;white-space:normal!important}
  .fbp-analysis-context-name{max-width:70vw}
  .fbp-analysis-nav{padding:6px!important}
  .fbp-analysis-nav button{min-width:145px!important;min-height:38px!important}
  .fbp-results-panel,.fbp-risk-legend,.fbp-scoring-algorithm,.fbp-scientific-wide-toolbar,.fbp-risk-table tr[data-pathogen-id]{scroll-margin-top:170px!important}
  .fbp-risk-exit-dialog{padding:10px}
  .fbp-risk-exit-dialog>section{padding:20px 16px;border-radius:16px}
  .fbp-risk-exit-actions{display:grid;grid-template-columns:1fr}
}

/* Frequency evidence synthesis inside the Scientific Wide Table. */
.fbp-frequency-eu-bridge{display:grid;gap:8px;margin:10px 0;padding:10px;border:1px solid #cfdced;border-radius:12px;background:linear-gradient(180deg,#f7faff,#eef4fc)}
.fbp-frequency-eu-bridge>header{display:grid;gap:3px}
.fbp-frequency-eu-bridge>header b{color:#173b8f;font-size:13px!important}
.fbp-frequency-eu-bridge>header span,.fbp-frequency-eu-bridge>p{font-size:13px!important;line-height:1.45;color:#52647f;margin:0}
.fbp-frequency-source-grid{display:grid;grid-template-columns:1fr;gap:7px}
.fbp-frequency-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:start;min-width:0;padding:8px;border:1px solid #d7e1ef;border-left:4px solid #2d67c8;border-radius:10px;background:#fff;text-align:left;color:#173b8f;cursor:pointer}
.fbp-frequency-source>strong{font-size:13px!important;line-height:1.25}
.fbp-frequency-source>b{font-size:15px!important;line-height:1.15}
.fbp-frequency-source>small{grid-column:1/-1;font-size:13px!important;line-height:1.4;color:#5d6e88}
.fbp-frequency-source.efsa{border-left-color:#2869bf}.fbp-frequency-source.rasff{border-left-color:#7b4bc4}.fbp-frequency-source.jemra{border-left-color:#d99b00}.fbp-frequency-source.cdc{border-left-color:#244b9a}
.fbp-frequency-source:hover,.fbp-frequency-source:focus-visible{background:#edf4ff;outline:none;border-color:#7fa0df}
.fbp-frequency-family-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:9px 10px;border:1px solid #bfcfec;border-radius:10px;background:#e7effd;color:#173b8f}
.fbp-frequency-family-total strong{font-size:13px!important;line-height:1.3}
.fbp-frequency-family-total>b{font-size:16px!important}
.fbp-frequency-family-total small{grid-column:1/-1;font-size:13px!important;line-height:1.45;color:#52647f}
.fbp-frequency-modal-sources>p{margin:12px 0 0;padding:10px;border-radius:10px;background:#eaf1fc;color:#28446f;font-size:13px!important;line-height:1.5}
.fbp-frequency-modal-sources{margin-top:16px;padding:14px;border:1px solid #d6e0ef;border-radius:14px;background:#f5f8fd}
.fbp-frequency-modal-sources h3{margin:0 0 10px;color:#173b8f;font-size:18px}
.fbp-frequency-modal-sources>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.fbp-frequency-modal-sources button{display:grid;gap:5px;min-height:78px;padding:11px;border:1px solid #cfdbea;border-radius:11px;background:#fff;color:#173b8f;text-align:left;cursor:pointer}
.fbp-frequency-modal-sources button b{font-size:14px}.fbp-frequency-modal-sources button span{font-size:13px;color:#5e6e86}
@media(max-width:1280px){.fbp-frequency-source-grid{grid-template-columns:1fr}.fbp-frequency-modal-sources>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.fbp-frequency-modal-sources>div{grid-template-columns:1fr}}
