/* Modal utilities */
.modal-overlay {
  @apply fixed inset-0 z-50;
  background-color: var(--overlay-scrim);
}

.modal-surface {
  @apply rounded-lg shadow-2xl flex flex-col;
  background-color: var(--surface-base);
  color: var(--text-primary);
  max-width: min(100%, calc(100vw - 32px));
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

.modal-search-container {
  @apply p-4 border-b;
  border-color: var(--border-base);
}

.modal-search-input {
  @apply flex-1 bg-transparent outline-none;
  color: var(--text-primary);
}

.modal-search-input::placeholder {
  color: var(--text-muted);
}

.modal-search-icon {
  color: var(--text-muted);
}

.modal-list-container {
  @apply flex-1 overflow-y-auto;
}

.modal-section-header {
  @apply px-4 py-2 text-xs font-semibold uppercase tracking-wide;
  color: var(--text-muted);
}

.modal-item {
  @apply w-full px-4 py-3 flex items-start gap-3 transition-colors cursor-pointer border-none text-left;
  color: var(--text-primary);
}

.modal-list-container[data-pointer-mode="pointer"] .modal-item:hover {
  background-color: var(--surface-hover);
}

.modal-list-container[data-pointer-mode="keyboard"] .modal-item:hover:not(.modal-item-highlight) {
  background-color: inherit;
}

.modal-item-highlight {
  background-color: var(--selection-highlight-bg);
}

.modal-item-label {
  @apply font-medium;
  color: var(--text-primary);
}

.modal-item-description {
  @apply text-sm mt-0.5;
  color: var(--text-secondary);
}

.modal-empty-state {
  @apply p-8 text-center;
  color: var(--text-muted);
}
