:root {
  --blue-deep: #1e3a8a;
  --teal: #14b8a6;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(20,184,166,0.08) 0%, transparent 40%),
    radial-gradient(circle at 0% 100%, rgba(30,58,138,0.06) 0%, transparent 45%),
    #f1f5f9;
  min-height: 100vh;
  color: #1e293b;
}

/* Persian number rendering, force digits font consistency */
input, select, button, textarea {
  font-family: 'Vazirmatn', sans-serif;
}

/* Scrollbar styling */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #14b8a6; }

/* Page load fade */
#root { animation: fadeIn 0.5s ease; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Calendar cell entrance stagger on select */
.animate-pulse { animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Remove number input spinners for cleaner look */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none; margin: 0;
}
input[type=number] { -moz-appearance: textfield; }