/* TailAdmin-inspired custom styles for SaaS look */
.card {
  @apply bg-white rounded-lg shadow p-6 mb-6;
}
.card-title {
  @apply text-xl font-semibold mb-2;
}
.card-actions {
  @apply mt-4 flex gap-2;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease,
    border-color 0.15s ease;
}
.btn:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background: #2563eb;
  color: #fff;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.btn-primary:hover {
  background: #1d4ed8;
}
.btn-primary:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: 2px;
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid #d0d5dd;
  background: #f3f4f6;
  color: #1f2937;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.btn-secondary:hover,
.btn:hover {
  background: #e5e7eb;
}
.btn-secondary:focus-visible,
.btn:focus-visible {
  outline: 2px solid #bfdbfe;
  outline-offset: 2px;
}
.btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background: #16a34a;
  color: #fff;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.btn-success:hover {
  background: #15803d;
}
.btn-success:focus-visible {
  outline: 2px solid #4ade80;
  outline-offset: 2px;
}
.btn-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background: #dc2626;
  color: #fff;
  font-weight: 600;
  line-height: 1.25rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.btn-danger:hover {
  background: #b91c1c;
}
.btn-danger:focus-visible {
  outline: 2px solid #f87171;
  outline-offset: 2px;
}
.btn {
  background: #f3f4f6;
  color: #1f2937;
}
.form-input, input, select, textarea {
  @apply block w-full rounded-md border border-gray-300 py-2 px-3 shadow-sm focus:border-blue-500 focus:ring-blue-500 text-gray-900 placeholder-gray-400;
}
