/* Custom styles to match Next.js app */

/* Custom indigo color theme matching Lowry Finance brand */
:root {
  --color-indigo-50: #e6f7fd;
  --color-indigo-100: #b3e5f8;
  --color-indigo-200: #80d3f3;
  --color-indigo-300: #4dc1ee;
  --color-indigo-400: #26b4eb;
  --color-indigo-500: #00a3de;
  --color-indigo-600: #00a3de;
  --color-indigo-700: #007aa8;
  --color-indigo-800: #006288;
  --color-indigo-900: #004a68;
}

/* Override Tailwind indigo colors */
.bg-indigo-600,
.bg-indigo-500 {
  background-color: #00a3de !important;
}

.text-indigo-600 {
  color: #00a3de !important;
}

.border-indigo-500 {
  border-color: #00a3de !important;
}

.ring-indigo-500 {
  --tw-ring-color: #00a3de !important;
}

.hover\:bg-indigo-700:hover {
  background-color: #007aa8 !important;
}

.hover\:text-indigo-500:hover {
  color: #00a3de !important;
}

/* Form input styles */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="password"],
select,
textarea {
  border: 1px solid #d1d5db !important;
  background: white !important;
  outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  border-color: #00a3de !important;
  box-shadow: 0 0 0 2px rgba(0, 163, 222, 0.2) !important;
}

/* Error state */
input.border-red-500,
select.border-red-500,
textarea.border-red-500 {
  border-color: #ef4444 !important;
}

/* Loading animations */
@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.animate-bounce {
  animation: bounce 1s infinite;
}

/* Progress bar styling */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

/* Fix for buttons */
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

