/* Geo auto-carve: AI carves the US into 8 balanced territories */

.bbi-ac-map .bbi-card__head,
.bbi-ac-board .bbi-card__head { padding: 16px 16px 0 18px; }

.bbi-ac-map .bbi-card__head > span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.2; }

.bbi-ac-map .bbi-card__head .bbi-ac-sub {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--bbi-muted);
}

.bbi-ac-count {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  color: var(--bbi-muted);
  white-space: nowrap;
}

.bbi-ac-count b { font-size: 15px; font-weight: 800; color: var(--bbi-ink); font-variant-numeric: tabular-nums; }

.bbi-ac-balance { height: 40px; padding: 0 16px; font-size: 14px; }
.bbi-ac-balance svg { width: 16px; height: 16px; }

.bbi-ac-chips { display: flex; gap: 8px; padding: 12px 18px 0; }

.bbi-ac-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: var(--bbi-surface-2);
  border: 1px solid var(--bbi-line);
  font-size: 12px;
  font-weight: 700;
  color: var(--bbi-ink);
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}

.bbi-ac-chip svg { width: 13px; height: 13px; color: var(--bbi-indigo); }
.bbi-ac-chip--zip { opacity: 0.55; }
.bbi-ac-chip--zip.is-on { opacity: 1; background: rgba(94, 114, 228, 0.1); border-color: rgba(94, 114, 228, 0.3); color: var(--bbi-indigo); }

.bbi-ac-svg { position: absolute; }

.bbi-ac-svg .bbi-map__area { transition: fill 0.28s ease, opacity 0.5s ease; }
.bbi-ac-svg .bbi-ac-zip { opacity: 0; stroke-width: 0.55; }
.bbi-ac-svg .bbi-ac-zip.is-in { opacity: 1; }
.bbi-ac-svg .bbi-map__label.is-gone { opacity: 0; }

.bbi-ac-callout {
  position: absolute;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px 10px 10px;
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--bbi-shadow-md, 0 14px 30px -12px rgba(30, 42, 74, 0.35));
}

.bbi-ac-callout__icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: rgba(94, 114, 228, 0.12);
  color: var(--bbi-indigo);
}

.bbi-ac-callout__icon svg { width: 16px; height: 16px; }
.bbi-ac-callout b { display: block; font-size: 13px; font-weight: 800; color: var(--bbi-ink); }
.bbi-ac-callout small { display: block; font-size: 11px; font-weight: 600; color: var(--bbi-muted); }

.bbi-ac-leader { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.bbi-ac-leader__line { fill: none; stroke: #1e2a4a; stroke-width: 1.5; stroke-dasharray: 4 4; }
.bbi-ac-leader__dot { fill: #fff; stroke: #1e2a4a; stroke-width: 2; }

.bbi-ac-toast { left: 250px; top: 590px; z-index: 6; }

.bbi-ac-score { margin-left: auto; font-variant-numeric: tabular-nums; }

.bbi-ac-grid {
  display: grid;
  grid-template-columns: 118px 1fr 1fr;
  gap: 8px 8px;
  padding: 12px 16px 16px;
}

.bbi-ac-grid .bbi-pivot__head { height: 22px; font-size: 10px; }

.bbi-ac-terr { display: flex; align-items: center; gap: 9px; height: 54px; min-width: 0; }
.bbi-ac-terr i { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.bbi-ac-terr span { min-width: 0; }
.bbi-ac-terr b { display: block; font-size: 13px; font-weight: 800; color: var(--bbi-ink); white-space: nowrap; }
.bbi-ac-terr small { display: block; font-size: 11px; font-weight: 600; color: var(--bbi-muted); white-space: nowrap; }

.bbi-ac-grid .bbi-cell {
  height: 54px;
  padding: 0 10px;
  font-size: 14px;
  justify-content: center;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
