@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #f8fafc; }

/* Animations */
@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-up { animation: fadeUp 0.5s ease-out; }
@keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-4px)} 75%{transform:translateX(4px)} }
.shake { animation: shake 0.3s ease; }

/* Form improvements */
#registrationForm input, #registrationForm select, #registrationForm textarea {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
#registrationForm input:focus, #registrationForm select:focus, #registrationForm textarea:focus {
  border-color: #2d6a4f;
  box-shadow: 0 0 0 3px rgba(45,106,79,0.12);
}

/* File upload */
#filePreview, #fileUploadArea, #regOtpBox { transition: all 0.2s ease; }
.invisible { visibility: hidden; }

/* Select arrow fix */
select { background-color: #fff; }
select:disabled { background-color: #f3f4f6; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
::-webkit-scrollbar-track { background: transparent; }
.scrollbar-thin::-webkit-scrollbar { width: 6px; height: 6px; }
.scrollbar-thin::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
#registrationForm::-webkit-scrollbar { width: 5px; }

/* Responsive fixes */
@media (max-width: 640px) {
  #formCard { margin: 0 8px; }
  #registrationForm { padding-left: 16px; padding-right: 16px; }
  .grid { gap: 16px; }
}
@media (max-width: 380px) {
  #registrationForm input, #registrationForm select, #registrationForm textarea { font-size: 14px; padding: 10px 12px; }
}
