:root { --cfmbn-height: 64px; }
html.cfmbn-lock, body.cfmbn-lock { overflow: hidden; }
#cfmbn-root, .cfmbn-overlay, .cfmbn-panel { display: none; }
@media (max-width: 767.98px) {
  body { padding-bottom: calc(var(--cfmbn-height) + env(safe-area-inset-bottom)); }
  #cfmbn-root { display: block; }
  .cfmbn-root { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99998; background: var(--cfmbn-bg, #fff); border-top: 1px solid rgba(0,0,0,.08); box-shadow: 0 -6px 18px rgba(0,0,0,.08); padding-bottom: env(safe-area-inset-bottom); }
  .cfmbn-nav { min-height: var(--cfmbn-height); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: stretch; }
  .cfmbn-item { appearance:none; -webkit-appearance:none; border:0; background:transparent; color:var(--cfmbn-color, #666); text-decoration:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:8px 4px; font-size:12px; line-height:1.1; position:relative; }
  .cfmbn-item.is-active { color: var(--cfmbn-active, #cf4f77); }
  .cfmbn-icon { width:22px; height:22px; position:relative; display:inline-flex; align-items:center; justify-content:center; }
  .cfmbn-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  .cfmbn-label { white-space:nowrap; }
  .cfmbn-badge { position:absolute; top:-5px; right:-8px; min-width:16px; height:16px; border-radius:999px; background:#c10d0d; color:#fff; font-size:10px; display:inline-flex; align-items:center; justify-content:center; padding:0 4px; }
  .cfmbn-overlay { display:block; position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:99997; }
  .cfmbn-panel { display:flex; position:fixed; top:0; left:0; bottom:0; width:min(86vw,360px); background:#fff; z-index:99999; transform:translateX(-100%); transition:transform .25s ease; flex-direction:column; }
  .cfmbn-panel.is-open { transform:translateX(0); }
  .cfmbn-panel__header { display:flex; align-items:center; justify-content:space-between; padding:18px 16px; border-bottom:1px solid #eee; font-size:18px; }
  .cfmbn-close { border:0; background:transparent; font-size:32px; line-height:1; cursor:pointer; }
  .cfmbn-panel__body { overflow:auto; padding:10px 0; }
  .cfmbn-links { list-style:none; margin:0; padding:0; }
  .cfmbn-links li a { display:block; padding:16px; text-decoration:none; color:#111; border-bottom:1px solid #f1f1f1; font-size:18px; }
}
