/* ==============================================================================
   AIRY PREMIUM LUXURY DESIGN SYSTEM
   NEOAI Studio & Founder N
   ============================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --bg-pearl: #F8F9FA;
  --text-graphite: #111827;
  --text-muted: #6B7280;
  --accent-sage: #059669;
  --accent-sage-light: #10B981;
  --accent-indigo: #4F46E5;
}

body {
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: var(--bg-pearl);
  color: var(--text-graphite);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Glassmorphism (Light Theme) */
.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(243, 244, 246, 0.8);
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.03);
  transform: translateZ(0); /* Фикс мерцания на iOS Safari */
}

/* Glassmorphism (Dark Theme / Admin / Modals) */
.glass-panel-dark {
  background: rgba(17, 24, 39, 0.90);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(55, 65, 81, 0.6);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4);
  transform: translateZ(0);
}

.glass-card-hover {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), 
              border-color 0.3s ease;
  will-change: transform;
}

.glass-card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
  border-color: rgba(5, 150, 105, 0.2);
}

/* Aura Glows */
.aura-glow-emerald {
  background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, rgba(248, 249, 250, 0) 70%);
}

.aura-glow-indigo {
  background: radial-gradient(circle, rgba(79, 70, 229, 0.08) 0%, rgba(248, 249, 250, 0) 70%);
}

.aura-glow-amber {
  background: radial-gradient(circle, rgba(245, 158, 11, 0.10) 0%, rgba(248, 249, 250, 0) 70%);
}

/* Страховочный класс для обрезки длинного текста карточек */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Кроссбраузерный скроллбар (Chrome, Safari, Edge + Firefox) */
* {
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 #F1F5F9;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #F1F5F9;
}
::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94A3B8;
}

/* Анимация пульсации голосовой записи */
@keyframes pulse-ring {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.12); opacity: 0.35; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.pulse-recording {
  animation: pulse-ring 1.5s infinite ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .pulse-recording {
    animation: none;
  }
  .glass-card-hover {
    transition: none;
  }
}

/* Modal and Element Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.98) translateY(4px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Mobile Touch Feedback */
button:active:not(:disabled), .clickable:active {
  transform: scale(0.98);
}

/* Mobile Safe Area */
@supports (padding: max(0px)) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}