/*
 * Common utility classes (not feature-specific).
 * Use for spacing, colors, and typography utilities across the app.
 */

body {
  font-size: 16px;
  line-height: 24px;
  color: #1c2233;
  background-color: #f9f9f9;
  font-family: "Whitney SSm A", "Whitney SSm B";
  font-style: normal;
  font-weight: 400;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* Background Colors */
.bg-white {
  background-color: #ffffff !important;
}

.bg-black {
  background-color: #000000 !important;
}

.bg-primary {
  background-color: #007bff !important;
}

.bg-secondary {
  background-color: #6c757d !important;
}

.bg-light {
  background-color: #f8f9fa !important;
}

.bg-dark {
  background-color: #343a40 !important;
}

.bg-transparent {
  background-color: transparent !important;
}

/* Text Colors */
.text-white {
  color: #ffffff !important;
}

.text-black {
  color: #000000 !important;
}

.text-primary {
  color: #007bff !important;
}

.text-secondary {
  color: #6c757d !important;
}

.text-muted {
  color: #6c757d !important;
}

.text-dark {
  color: #343a40 !important;
}

/* Margin Utilities */
.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 10px !important;
}

.m-2 {
  margin: 20px !important;
}

.m-3 {
  margin: 30px !important;
}

.m-4 {
  margin: 40px !important;
}

.m-5 {
  margin: 50px !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 10px !important;
}

.mt-2 {
  margin-top: 20px !important;
}

.mt-3 {
  margin-top: 30px !important;
}

.mt-4 {
  margin-top: 40px !important;
}

.mt-5 {
  margin-top: 50px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 10px !important;
}

.mb-2 {
  margin-bottom: 20px !important;
}

.mb-3 {
  margin-bottom: 30px !important;
}

.mb-4 {
  margin-bottom: 40px !important;
}

.mb-5 {
  margin-bottom: 50px !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-1 {
  margin-left: 10px !important;
}

.ml-2 {
  margin-left: 20px !important;
}

.ml-3 {
  margin-left: 30px !important;
}

.ml-4 {
  margin-left: 40px !important;
}

.ml-5 {
  margin-left: 50px !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-1 {
  margin-right: 10px !important;
}

.mr-2 {
  margin-right: 20px !important;
}

.mr-3 {
  margin-right: 30px !important;
}

.mr-4 {
  margin-right: 40px !important;
}

.mr-5 {
  margin-right: 50px !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx-1 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.mx-2 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mx-3 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.mx-4 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.mx-5 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.my-2 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.my-3 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.my-4 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.my-5 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

/* Padding Utilities */
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 10px !important;
}

.p-2 {
  padding: 20px !important;
}

.p-3 {
  padding: 30px !important;
}

.p-4 {
  padding: 40px !important;
}

.p-5 {
  padding: 50px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 10px !important;
}

.pt-2 {
  padding-top: 20px !important;
}

.pt-3 {
  padding-top: 30px !important;
}

.pt-4 {
  padding-top: 40px !important;
}

.pt-5 {
  padding-top: 50px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 10px !important;
}

.pb-2 {
  padding-bottom: 20px !important;
}

.pb-3 {
  padding-bottom: 30px !important;
}

.pb-4 {
  padding-bottom: 40px !important;
}

.pb-5 {
  padding-bottom: 50px !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-1 {
  padding-left: 10px !important;
}

.pl-2 {
  padding-left: 20px !important;
}

.pl-3 {
  padding-left: 30px !important;
}

.pl-4 {
  padding-left: 40px !important;
}

.pl-5 {
  padding-left: 50px !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-1 {
  padding-right: 10px !important;
}

.pr-2 {
  padding-right: 20px !important;
}

.pr-3 {
  padding-right: 30px !important;
}

.pr-4 {
  padding-right: 40px !important;
}

.pr-5 {
  padding-right: 50px !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-1 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.px-2 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.px-3 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.px-4 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.px-5 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.py-2 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.py-3 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.py-4 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.py-5 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Font Weight */
.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-weight-bolder {
  font-weight: bolder !important;
}

.font-weight-light {
  font-weight: 300 !important;
}

/* ========================================
   END UTILITY CLASSES
   ======================================== */

/* Min-height */
.min-h-0 {
  min-height: 0 !important;
}
