/* NEIT Custom Styles */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body { font-family: 'Inter', sans-serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #7C3AED; border-radius: 3px; }

/* Gradient text */
.gradient-text {
  background: linear-gradient(135deg, #7C3AED, #C084FC);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.animate-fade-up { animation: fadeInUp 0.5s ease both; }

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-8px); }
}
.animate-float { animation: float 3s ease-in-out infinite; }

/* Card hover */
.card-hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(124,58,237,0.12);
}

/* Admin sidebar */
.admin-sidebar {
  width: 240px;
  min-height: 100vh;
  background: #1E293B;
}

/* Badge */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

/* Section heading */
.section-heading {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  color: #1E293B;
}

/* Form inputs */
.form-input {
  width: 100%;
  padding: 10px 16px;
  border: 1.5px solid #E2E8F0;
  border-radius: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: #1E293B;
  transition: border-color 0.15s, box-shadow 0.15s;
  background: white;
}
.form-input:focus {
  outline: none;
  border-color: #7C3AED;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.15);
}

/* Buttons */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: #7C3AED;
  color: white;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.875rem;
  transition: background 0.15s, transform 0.15s;
  border: none;
  cursor: pointer;
}
.btn-primary:hover { background: #6D28D9; transform: translateY(-1px); }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border: 2px solid #7C3AED;
  color: #7C3AED;
  border-radius: 12px;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.15s;
  background: transparent;
  cursor: pointer;
}
.btn-outline:hover { background: #7C3AED; color: white; }

/* Notice badge */
.notice-important { background: #FEF3C7; color: #D97706; }
.notice-normal    { background: #EFF6FF; color: #3B82F6; }

/* Skeleton loading */
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* Star rating */
.stars { color: #FBBF24; }

/* Table */
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th { background: #F8FAFC; padding: 10px 16px; text-align: left; font-size: 0.75rem; font-weight: 600; color: #64748B; text-transform: uppercase; letter-spacing: 0.05em; }
.admin-table td { padding: 12px 16px; border-top: 1px solid #F1F5F9; font-size: 0.875rem; }
.admin-table tr:hover td { background: #FAFAFA; }

/* Alert */
.alert { padding: 12px 16px; border-radius: 12px; font-size: 0.875rem; }
.alert-success { background: #ECFDF5; color: #059669; border: 1px solid #A7F3D0; }
.alert-error   { background: #FEF2F2; color: #DC2626; border: 1px solid #FECACA; }
.alert-info    { background: #EFF6FF; color: #2563EB; border: 1px solid #BFDBFE; }
