:root {
    --gfb-size: 56px;
    --gfb-size-md: 64px;
    --gfb-gap: 12px;
    --gfb-radius: 999px;
    --gfb-bg: #121728cc;
    --gfb-bg-strong: #0b1020;
    --gfb-accent: #ffd400;
    --gfb-text: #e8ecf1;
    --gfb-muted: #a8b0bf;
    --gfb-outline: #232a43;
    --gfb-shadow: 0 10px 30px rgba(0,0,0,.35), 0 2px 10px rgba(0,0,0,.3);
    --safe-bottom: env(safe-area-inset-bottom);
    --safe-right: env(safe-area-inset-right);
  }
  
  .gfb {
    position: fixed;
    right: max(16px, var(--safe-right));
    bottom: calc(max(16px, var(--safe-bottom)) + 8px);
    z-index: 2147483000;
    display: grid;
    gap: var(--gfb-gap);
    align-items: end;
  }
  
  .gfb__fab {
    width: var(--gfb-size);
    height: var(--gfb-size);
    border-radius: var(--gfb-radius);
    border: 1px solid var(--bs-dark);
    background: var(--bs-dark);
    color: var(--gfb-text);
    display: grid;
    place-items: center;
    box-shadow: var(--gfb-shadow);
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .gfb__fab:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(0,0,0,.45), 0 4px 14px rgba(0,0,0,.35); }
  .gfb__fab:active { transform: translateY(0); }
  
  .gfb__fabIcon {
    width: 24px; height: 24px; position: relative; display: block;
  }
  .gfb__fabIcon::before,
  .gfb__fabIcon::after {
    content: "";
    position: absolute;
    inset: 50% auto auto 50%;
    width: 16px; height: 2px; background: var(--gfb-text);
    transform: translate(-50%, -50%) rotate(0deg);
    transition: transform .25s ease;
    border-radius: 1px;
  }
  .gfb__fabIcon::after { transform: translate(-50%, -50%) rotate(90deg); }
  .gfb__fab[aria-expanded="true"] .gfb__fabIcon::after { transform: translate(-50%, -50%) rotate(0deg); }
  
  .gfb__menu { display: grid; gap: var(--gfb-gap); justify-items: end; }
  
  .gfb__item {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--bs-dark);
    background: var(--bs-dark);
    color: var(--gfb-text);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: 999px;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    gap: 10px;
    box-shadow: var(--gfb-shadow);
    backdrop-filter: saturate(1.4) blur(8px);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
    cursor: pointer;
    position: relative;
    color: #ffffff!important;
    font-weight: 500;
  }
  .gfb__item:hover { transform: translateY(-1px); background: #171d31cc; border-color: #2a3353; }
  .gfb__item:active { transform: translateY(0); }
  
  .gfb__label { font-size: 14px; white-space: nowrap; }
  
  .gfb__icon { width: 18px; height: 18px; display: inline-block; background: currentColor; mask-size: contain; -webkit-mask-size: contain; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; }
  .gfb__icon--chat { mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M4 4h16v12H7l-3 3V4z"/></svg>'); -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23fff\"><path d=\"M4 4h16v12H7l-3 3V4z\"/></svg>'); }
  .gfb__icon--docs { mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M6 2h9l5 5v15H6z"/></svg>'); -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23fff\"><path d=\"M6 2h9l5 5v15H6z\"/></svg>'); }
  .gfb__icon--price { mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M12 1l3 7h7l-5.5 4 2 7L12 16l-6.5 3 2-7L2 8h7z"/></svg>'); -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23fff\"><path d=\"M12 1l3 7h7l-5.5 4 2 7L12 16l-6.5 3 2-7L2 8h7z\"/></svg>'); }
  .gfb__icon--top { mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23fff"><path d="M12 4l7 7h-4v9H9v-9H5z"/></svg>'); -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23fff\"><path d=\"M12 4l7 7h-4v9H9v-9H5z\"/></svg>'); }
  
  .gfb__consultWrap { position: relative; }
  .gfb__item--consult { position: relative; z-index: 2; }
  .gfb__sidecard {
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translate(calc(-8px), -50%) scale(.98);
    transform-origin: right center;
    min-width: 240px;
    max-width: 280px;
    background: var(--gfb-bg-strong);
    border: 1px solid var(--gfb-outline);
    border-radius: 12px;
    box-shadow: var(--gfb-shadow);
    color: var(--gfb-text);
    padding: 10px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
  }
  .gfb__sidecardHeader { font-size: 13px; color: var(--gfb-muted); padding: 2px 4px 8px; }
  .gfb__agentList { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
  .gfb__agent {
    display: grid; grid-auto-flow: column; gap: 10px; align-items: center;
    padding: 8px; border-radius: 10px; text-decoration: none; color: var(--gfb-text);
    background: #151a2d; border: 1px solid var(--gfb-outline);
  }
  .gfb__agent:hover { background: #171d31; border-color: #2a3353; }
  .gfb__avatar {
    width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--gfb-accent); color: #151515; font-weight: 700; font-size: 12px;
  }
  .gfb__agentMeta { display: grid; line-height: 1.2; }
  .gfb__agentName { font-size: 14px; }
  .gfb__agentStatus { font-size: 12px; color: var(--gfb-muted); }
  .gfb__agentStatus--online { color: #11d47b; }
  
  .gfb__consultWrap:hover .gfb__sidecard { opacity: 1; pointer-events: auto; transform: translate(calc(-8px), -50%) scale(1); }
  .gfb__consultWrap[data-open="true"] .gfb__sidecard { opacity: 1; pointer-events: auto; transform: translate(calc(-8px), -50%) scale(1); }
  
  .gfb__item[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    right: 100%;
    margin-right: 8px;
    top: 50%; transform: translateY(-50%);
    background: var(--gfb-bg-strong);
    color: var(--gfb-text);
    border: 1px solid var(--gfb-outline);
    font-size: 12px; padding: 6px 10px; border-radius: 8px;
    opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease;
    transform-origin: right center; transform: translateY(-50%) scale(.98);
    white-space: nowrap;
  }
  .gfb__item:hover[data-tooltip]::after { opacity: 1; transform: translateY(-50%) scale(1); }
  
  .gfb__menu { pointer-events: none; opacity: .0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
  .gfb__fab[aria-expanded="true"] ~ .gfb__menu { pointer-events: auto; opacity: 1; transform: translateY(0); }
  
  .gfb--showTop .gfb__item--top { display: grid; }
  .gfb__item--top { display: none; }
  
  @media (min-width: 1024px) {
    .gfb { bottom: calc(max(24px, var(--safe-bottom)) + 12px); right: max(24px, var(--safe-right)); gap: 14px; }
    .gfb__fab { width: var(--gfb-size-md); height: var(--gfb-size-md); }
    .gfb__label {font-size: 15px;color: #ffffff;}
  }
  
  @media (max-width: 767px) {
    .gfb__sidecard {
      right: 0;
      left: auto;
      top: auto;
      bottom: calc(100% + 8px);
      transform: translate(0, 0) scale(.98);
    }
    .gfb__consultWrap:hover .gfb__sidecard { opacity: 0; pointer-events: none; transform: translate(0, 0) scale(.98); }
    .gfb__consultWrap[data-open="true"] .gfb__sidecard { opacity: 1; pointer-events: auto; transform: translate(0, 0) scale(1); }
  }
  
  
  