/* Aurora Partner Console — styles & animations
   Portage fidèle du bloc <style> de la maquette React vers du CSS statique. */

.font-display { font-family: 'Space Grotesk', sans-serif; }
.font-mono { font-family: 'JetBrains Mono', monospace; }

@keyframes auroraDrift {
  0%, 100% { transform: translate(0,0) scale(1); }
  33% { transform: translate(4%, -6%) scale(1.08); }
  66% { transform: translate(-3%, 4%) scale(0.96); }
}
.aurora-blob {
  position: absolute;
  border-radius: 9999px;
  filter: blur(60px);
  opacity: 0.55;
  animation: auroraDrift 16s ease-in-out infinite;
  pointer-events: none;
}

@keyframes glowPulse {
  0%, 100% { box-shadow: 0 0 0px 0px rgba(56,189,248,0.0), 0 8px 30px rgba(14,165,233,0.10); }
  50% { box-shadow: 0 0 40px 4px rgba(56,189,248,0.35), 0 8px 30px rgba(14,165,233,0.20); }
}
.glow-card { animation: glowPulse 4.5s ease-in-out infinite; }

@keyframes shimmerSweep {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.cell-filled {
  background: linear-gradient(110deg, rgba(125,211,252,0.35) 8%, rgba(240,171,252,0.45) 18%, rgba(125,211,252,0.35) 33%);
  background-size: 200% 100%;
  animation: shimmerSweep 0.9s ease-in-out;
}

@keyframes borderSpin {
  0% { --angle: 0deg; }
  100% { --angle: 360deg; }
}
@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.aurora-border {
  position: relative;
  border-radius: 1.5rem;
}
.aurora-border::before {
  content: "";
  position: absolute; inset: -2px; border-radius: 1.6rem; z-index: 0;
  background: conic-gradient(from var(--angle), #38BDF8, #A78BFA, #22D3EE, #F0ABFC, #38BDF8);
  animation: borderSpin 6s linear infinite;
}
.aurora-border > .aurora-inner {
  position: relative; z-index: 1; border-radius: 1.4rem;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(16px);
}

@keyframes sparklePop {
  0% { transform: scale(0) rotate(0deg); opacity: 0; }
  40% { transform: scale(1.2) rotate(90deg); opacity: 1; }
  100% { transform: scale(0.4) translateY(-40px) rotate(180deg); opacity: 0; }
}
.sparkle { position: absolute; animation: sparklePop 1.4s ease-out forwards; pointer-events: none; }

@keyframes toastIn {
  from { transform: translateX(120%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.toast-in { animation: toastIn 0.35s cubic-bezier(.2,.9,.3,1.3); }

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.4) sepia(1) saturate(4) hue-rotate(170deg);
}

/* Respect de prefers-reduced-motion pour l'accessibilité */
@media (prefers-reduced-motion: reduce) {
  .aurora-blob, .glow-card, .cell-filled, .aurora-border::before, .sparkle, .toast-in {
    animation: none !important;
  }
}
