/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com */
@import url('https://cdn.jsdelivr.net/npm/tailwindcss@3.4.1/base.min.css');

*, ::before, ::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}

body {
  margin: 0;
  line-height: inherit;
}

@layer utilities {
  .min-h-screen { min-height: 100vh; }
  .flex { display: flex; }
  .items-center { align-items: center; }
  .justify-center { justify-content: center; }
  .bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
  .from-primary-500 { --tw-gradient-from: #667eea; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, #667eea00); }
  .to-secondary-500 { --tw-gradient-to: #764ba2; }
  .p-5 { padding: 1.25rem; }
  .w-full { width: 100%; }
  .max-w-md { max-width: 28rem; }
  .relative { position: relative; }
  .z-10 { z-index: 10; }
  .bg-white { background-color: #fff; }
  .rounded-2xl { border-radius: 1rem; }
  .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
  .p-12 { padding: 3rem; }
  .text-center { text-align: center; }
  .mb-8 { margin-bottom: 2rem; }
  .w-16 { width: 4rem; }
  .h-16 { height: 4rem; }
  .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
  .rounded-full { border-radius: 9999px; }
  .mx-auto { margin-left: auto; margin-right: auto; }
  .mb-5 { margin-bottom: 1.25rem; }
  .shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); }
  .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
  .font-bold { font-weight: 700; }
  .text-gray-900 { color: #111827; }
  .mb-2 { margin-bottom: 0.5rem; }
  .text-gray-600 { color: #4b5563; }
  .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
  .from-red-50 { --tw-gradient-from: #fef2f2; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, #fef2f200); }
  .to-red-100 { --tw-gradient-to: #fee2e2; }
  .border { border-width: 1px; }
  .border-red-200 { border-color: #fecaca; }
  .text-red-600 { color: #dc2626; }
  .px-4 { padding-left: 1rem; padding-right: 1rem; }
  .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
  .rounded-lg { border-radius: 0.5rem; }
  .mb-6 { margin-bottom: 1.5rem; }
  .gap-3 { gap: 0.75rem; }
  .flex-shrink-0 { flex-shrink: 0; }
  .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
  .font-medium { font-weight: 500; }
  .space-y-5 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
  .block { display: block; }
  .font-semibold { font-weight: 600; }
  .absolute { position: absolute; }
  .left-4 { left: 1rem; }
  .top-1\/2 { top: 50%; }
  .-translate-y-1\/2 { transform: translateY(-50%); }
  .text-gray-400 { color: #9ca3af; }
  .transition-colors { transition-property: color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
  .peer:focus ~ .peer-focus\:text-primary-500 { color: #667eea; }
  .mt-6 { margin-top: 1.5rem; }
  .pt-6 { padding-top: 1.5rem; }
  .border-t { border-top-width: 1px; }
  .border-gray-200 { border-color: #e5e7eb; }
}

.input-field {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 3rem;
  border: 2px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  background-color: #f9fafb;
  color: #111827;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.input-field:hover {
  border-color: #667eea;
  background-color: #fff;
}

.input-field:focus {
  outline: none;
  border-color: #667eea;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.btn-primary {
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  font-weight: 600;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: none;
  cursor: pointer;
  width: 100%;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}
