/* ib-quickadd.css — desktop Add FAB (≥768px). Geometry and motion mirror the dashboard
   fan that lived in DesktopQuickAdd.tsx: 56px #262626 centre, four 48px white items on a
   104px radius from 9 o'clock to 12 o'clock, 60ms stagger, closing slower than opening.
   Loaded only on the desktop MQ (app/layout.tsx and ib-rail.js); phone never sees it. */

@media (max-width: 767px) {
  .ib-qa { display: none !important; }
}

.ib-qa {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  width: 56px;
  height: 56px;
  font-family: inherit;
}

/* Hover pad: a quarter disc that keeps the fan open while the pointer travels to an item. */
.ib-qa-pad {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 184px;
  height: 184px;
  border-top-left-radius: 9999px;
  pointer-events: none;
}
.ib-qa.is-live .ib-qa-pad { pointer-events: auto; }

.ib-qa-main {
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 9999px;
  background: #262626;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 2;
}
.ib-qa-main:focus-visible { outline: 2px solid #001D5C; outline-offset: 3px; }
.ib-qa.is-open .ib-qa-main { transform: rotate(45deg); }
.ib-qa-plus { width: 24px; height: 24px; }

.ib-qa-item {
  position: absolute;
  left: 4px;
  top: 4px;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.8);
  color: #001D5C;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  cursor: pointer;
  text-decoration: none;
  /* Folded in at the centre, invisible and not hittable. */
  transform: translate(0, 0) scale(0.6);
  opacity: 0;
  pointer-events: none;
  transition-property: transform, opacity;
  transition-duration: 380ms;
  transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 1;
}
.ib-qa.is-open .ib-qa-item {
  transform: translate(var(--qa-x), var(--qa-y)) scale(1);
  opacity: 1;
  pointer-events: auto;
}
.ib-qa-item:focus-visible { outline: 2px solid #001D5C; outline-offset: 2px; }
.ib-qa-ico { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 28; stroke-linecap: round; stroke-linejoin: round; }

/* One shared label, moved to the item under the pointer or focus. */
.ib-qa-label {
  position: absolute;
  left: 28px;
  top: 28px;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(38, 38, 38, 0.7);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 120ms ease;
  z-index: 3;
}
.ib-qa-label.is-on { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .ib-qa-item, .ib-qa-main, .ib-qa-label { transition-duration: 1ms !important; transition-delay: 0ms !important; }
}
