@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans:wght@300;400;500;600;700&family=Dancing+Script:wght@700&family=JetBrains+Mono:wght@400;700&display=swap');

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 10px;
  border: 2px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.dark ::-webkit-scrollbar-thumb { background: #475569; }

body {
  transition: background-color 0.3s ease, color 0.3s ease;
  font-family: 'Inter', sans-serif;
}

/* Glassmorphism Classes */
.glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.3);
}
.dark .glass {
  background: rgba(30, 41, 59, 0.7);
  border: 1px solid rgba(255,255,255,0.05);
}

/* A4 Paper Styling for Print/PDF */
.a4-page {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  background: white;
  padding: 12mm;
  position: relative;
  color: #000;
}

.form-border-box {
  border: 4px double #1e73be;
  padding: 30px;
  min-height: 273mm;
  display: flex;
  flex-direction: column;
}

/* Animations */
.slide-up { animation: slideUp 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.shimmer {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Modern Checkbox */
.custom-checkbox {
  appearance: none;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid #cbd5e1;
  border-radius: 0.25rem;
  cursor: pointer;
  position: relative;
  transition: all 0.2s;
}
.custom-checkbox:checked {
  background-color: #1e73be;
  border-color: #1e73be;
}
.custom-checkbox:checked::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: white;
  font-size: 0.75rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Nav Link Hover */
.nav-link-active {
  background: #1e73be;
  color: white;
  box-shadow: 0 4px 12px rgba(30, 115, 190, 0.3);
}

/* Form Inputs Focus */
.form-input-premium {
  border-bottom: 2px solid #e2e8f0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.form-input-premium:focus {
  border-bottom-color: #1e73be;
  transform: translateY(-1px);
}

/* Stats Card Hover */
.stat-card:hover .stat-icon { transform: scale(1.1) rotate(5deg); }
