/* Shared portfolio primitives used by guest and member portfolio views. */
.ap-portfolio-stock-card,
.guest-stock-card,
.portfolio-stock-item {
  contain: layout style;
}

.ap-portfolio-stock-card .form-control,
.guest-stock-card .form-control,
.portfolio-stock-item .form-control {
  min-height: var(--ap-tap-target-min, 44px);
}

.ap-portfolio-action-badge,
.action-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  white-space: normal;
}

.ap-portfolio-holding-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.75rem;
}

.ap-portfolio-lazy-placeholder {
  min-height: 7rem;
}

@media (max-width: 575.98px) {
  .ap-portfolio-stock-card .badge,
  .guest-stock-card .badge,
  .portfolio-stock-item .badge {
    white-space: normal;
    text-align: left;
  }
}
