*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { -webkit-font-smoothing: antialiased; }

body {
  font-family: 'Inter', system-ui, sans-serif;
  background: #05070B;
  color: #F8FAFC;
  min-height: 100vh;
}

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.18); }

input::placeholder, textarea::placeholder { color: #334155; }

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.4);
  cursor: pointer;
}

select option {
  background: #0B1220;
  color: #F8FAFC;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes modalIn {
  from { opacity: 0; transform: scale(0.95) translateY(8px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

.fade-up   { animation: fadeUp   0.4s ease both; }
.modal-in  { animation: modalIn  0.22s ease both; }

.btn-glow {
  background: linear-gradient(135deg, #0057FF 0%, #00A3FF 100%);
  color: #fff;
  border: none;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 0 32px rgba(0,87,255,0.35), 0 4px 16px rgba(0,87,255,0.25);
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 52px rgba(0,87,255,0.5), 0 8px 28px rgba(0,87,255,0.4);
}
.btn-glow:active  { transform: translateY(0); }
.btn-glow:disabled {
  background: rgba(255,255,255,0.06);
  color: #334155;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}
