/* performance.css: оптимизации производительности */

/* Оптимизация для анимаций и трансформаций */
.task-card,
.stage,
.modal-content,
.dialog-content,
.loading-spinner {
  will-change: transform, opacity;
}

/* Использование transform вместо изменения позиции для лучшей производительности */
.task-card.dragging {
  transform: translateZ(0);
}

/* Оптимизация для прокрутки */
.stages-container {
  will-change: scroll-position;
}

/* Оптимизация для анимаций */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Использование GPU ускорения */
.task-card,
.stage,
.modal,
.dialog-overlay {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

/* Оптимизация для drag & drop */
.task-card[draggable="true"] {
  touch-action: none;
}

/* Оптимизация для больших списков (будущее использование виртуализации) */
.tasks-list {
  contain: layout style paint;
}

/* Оптимизация для модальных окон */
.modal-overlay {
  will-change: opacity;
}

/* Оптимизация для индикаторов загрузки */
.loading-spinner {
  will-change: transform;
}

/* Отключение will-change после завершения анимации (через JS) */
.task-card:not(.dragging) {
  will-change: auto;
}

/* Оптимизация для форм */
input, textarea, select {
  will-change: border-color, box-shadow;
}

input:focus,
textarea:focus,
select:focus {
  will-change: border-color, box-shadow;
}

input:not(:focus),
textarea:not(:focus),
select:not(:focus) {
  will-change: auto;
}










