* { font-family: 'Inter', sans-serif; }

.gradient-bg {
  background: #080706;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(245, 158, 11, 0.15), transparent),
    radial-gradient(ellipse 50% 40% at 100% 50%, rgba(245, 158, 11, 0.06), transparent),
    radial-gradient(ellipse 40% 30% at 0% 80%, rgba(16, 185, 129, 0.05), transparent);
  min-height: 100vh;
}

.glass {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

.glass-strong {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(16px);
}

.input-field {
  width: 100%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.75rem;
  padding: 0.625rem 1rem;
  color: white;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.input-field:focus {
  outline: none;
  border-color: rgba(245, 158, 11, 0.6);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
}
.input-field::placeholder { color: #6b7280; }

.btn-primary {
  background: linear-gradient(135deg, #d97706, #b45309);
  color: white;
  font-weight: 600;
  border-radius: 0.75rem;
  padding: 0.625rem 1.25rem;
  transition: opacity 0.2s, transform 0.1s;
}
.btn-primary:hover:not(:disabled) { opacity: 0.9; }
.btn-primary:active:not(:disabled) { transform: scale(0.98); }
.btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }

.btn-ghost {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  border-radius: 0.75rem;
  padding: 0.5rem 1rem;
  transition: background 0.2s;
}
.btn-ghost:hover { background: rgba(255, 255, 255, 0.14); }

.btn-success { background: #059669; }
.btn-success:hover:not(:disabled) { background: #047857; }
.btn-danger { background: #dc2626; }
.btn-danger:hover:not(:disabled) { background: #b91c1c; }

.badge {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
}
.badge-pending { background: rgba(245, 158, 11, 0.2); color: #fbbf24; }
.badge-active { background: rgba(16, 185, 129, 0.2); color: #34d399; }
.badge-rejected { background: rgba(239, 68, 68, 0.2); color: #f87171; }
.badge-inactive { background: rgba(107, 114, 128, 0.2); color: #9ca3af; }

.tab-btn {
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #9ca3af;
  transition: all 0.2s;
}
.tab-btn.active {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}

.logo-box {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(245,158,11,0.25), rgba(245,158,11,0.08));
  border: 1px solid rgba(245, 158, 11, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fbbf24;
}

.auth-card { border-radius: 1.25rem; }

.nav-bar {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(8px);
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fadeUp 0.4s ease-out; }
