/* Дополнительные стили поверх Tailwind */
.htmx-indicator { opacity: 0; transition: opacity 200ms; }
.htmx-request .htmx-indicator { opacity: 1; }

/* Кандидат Плюс — фирменные акценты */
.brand-plus { color: #2563eb; }
nav a.active { color: #93c5fd; }

/* Типографика: tabular nums для данных */
.tabular-nums { font-variant-numeric: tabular-nums; }

/* Канбан — карточки */
.kanban-card {
  transition: box-shadow 150ms ease, transform 150ms ease;
}
.kanban-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30, 58, 138, 0.1);
}

/* Аватар кандидата — градиент в цвете бренда */
.avatar-initials {
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
  color: white;
  font-weight: 700;
  letter-spacing: -0.025em;
}

/* Мобильный зум при фокусе на поле ввода: iOS Safari автоматически зумит
   страницу, если у input/select/textarea font-size < 16px, и не всегда
   аккуратно возвращает масштаб обратно — из-за этого "сбивается разрешение".
   viewport user-scalable=no не всегда соблюдается новыми версиями iOS
   (игнорируется из соображений доступности), поэтому фиксируем font-size
   напрямую — это работающий вариант независимо от версии Safari. */
@media (max-width: 768px) {
  input, select, textarea {
    font-size: var(--text-base) !important; /* 16px — порог, ниже которого iOS зумит */
  }
}

/* Тач-устройства: действия, спрятанные за :hover, недоступны в принципе —
   пальцем hover не вызвать. На указателе без hover раскрываем их всегда.
   !important нужен, потому что перебиваем утилиты Tailwind (.opacity-0, .hidden),
   а tailwind-built.css подключается ПОСЛЕ style.css (см. комментарий в base.html). */
@media (hover: none) {
  .touch-reveal { opacity: 1 !important; }
  .touch-reveal-flex { display: flex !important; }
}
