/* Minimal local fallback to keep login page usable when Tailwind CDN is unavailable */

*,
*::before,
*::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  font-family: 'Inter', sans-serif;
  color: #262626;
  background-color: #f8f8f8;
}

.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }
.max-w-md { max-width: 28rem; }

.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }

.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }

.mb-8 { margin-bottom: 2rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-1 { margin-bottom: 0.25rem; }

.mt-2 { margin-top: 0.5rem; }
.mt-6 { margin-top: 1.5rem; }

.bg-white { background-color: #fff; }
.rounded-2xl { border-radius: 1rem; }
.rounded-xl { border-radius: 0.75rem; }

.border { border-width: 1px; border-style: solid; }
.border-red-200 { border-color: #fecaca; }
.border-green-200 { border-color: #bbf7d0; }

.text-center { text-align: center; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }

.text-neutral-400 { color: #a3a3a3; }
.text-neutral-500 { color: #737373; }
.text-neutral-700 { color: #404040; }

.text-red-700 { color: #b91c1c; }
.text-green-700 { color: #15803d; }

.font-light { font-weight: 300; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }

.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.06); }

.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }

.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }

.px-4.py-3,
.rounded-xl.px-4.py-3 { display: block; }

.space-y-5 > * + * { margin-top: 1.25rem; }

.block { display: block; }

input[type="email"],
input[type="password"] {
  width: 100%;
  border: 1px solid #DDE8E3;
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  background: #fff;
  transition: border-color 150ms ease;
}

input[type="email"]:focus,
input[type="password"]:focus {
  outline: none;
  border-color: #0F3D2E;
  box-shadow: 0 0 0 1px #0F3D2E;
}

button[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 0.75rem;
  padding: 0.875rem 1rem;
  font-weight: 600;
  cursor: pointer;
  background: #C8A951;
  color: #0F3D2E;
  transition: background-color 150ms ease;
}

button[type="submit"]:hover { background: #b59846; }

a { text-decoration: none; }
a:hover { text-decoration: underline; }

.bg-red-50 { background-color: #fef2f2; }
.bg-green-50 { background-color: #f0fdf4; }

.border-\[\#DDE8E3\] { border-color: #DDE8E3; }

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fadeIn 0.6s ease-out forwards; }
