.allocation-card {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(79, 163, 255, .28);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(79, 163, 255, .12), rgba(76, 175, 80, .06));
}

.allocation-card p {
  margin: .45rem 0;
}

.enterprise-card {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(79, 163, 255, .25);
}

.enterprise-card button {
  width: 100%;
  margin: .5rem 0;
}

.prefix-search {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  gap: .75rem;
  align-items: end;
}

.prefix-search label { grid-column: 1 / -1; }

.allocation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 1rem;
}

@media (max-width: 640px) {
  .prefix-search { grid-template-columns: 1fr; }
  .prefix-search label { grid-column: auto; }
}
