:root {
  --primary-color: #161616;
  --secondary-color: #FFFFFF;
  --accent-color: #868BF1;
  --background-light: #CAD0FB;
  --background-options: #F5F5F5;
  --toast-success: #10b981;
  --toast-error: #ef4444;
  --toast-warning: #f59e0b;
  --toast-info: #868BF1;
  --page-home-bg: #D5DCFC;
  --page-business-bg: #BFE8D3;
  --page-add-bg: #B6E6F3;
  --page-subtract-bg: #FCD7C7;
  --page-since-bg: #F9D6EB;
  --page-until-bg: #E2E0B9;
  --font-primary: 'Sora', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-manrope: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-montserrat: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-hind: 'Hind', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-inter: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 24px;
  --font-size-2xl: 44px;
  --font-size-3xl: 60px;
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 24px;
  --spacing-xl: 34px;
  --spacing-2xl: 50px;
  --border-radius-sm: 8px;
  --border-radius-md: 24px;
  --border-radius-lg: 51px;
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --input-height: 32px;
  --z-index-base: 1;
  --z-index-dropdown: 10;
  --z-index-modal: 1000;
}
* {
  font-family: var(--font-primary);
  font-weight: 400;
  font-size: var(--font-size-base);
  color: var(--primary-color);
  box-sizing: border-box;
}
body {
  background-color: var(--secondary-color);
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
img { max-width: 100%; }
ul { list-style-type: none; padding: 0; margin: 0; }
a { text-decoration: none; color: inherit; cursor: pointer; }
input, textarea, button, select { outline: none; border: 0; }
h1, h2, h3, h4, h5, h6, p { margin: 0; }
main { padding-top: var(--spacing-xl); flex: 1; }
.container { max-width: 950px; margin: 0 auto; padding: 0 12px; }
@media (max-width: 767px) {
  main { padding-top: var(--spacing-lg); }
}
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-row { flex-direction: row; }
.align-items-center { align-items: center; }
.align-items-start { align-items: flex-start; }
.align-items-end { align-items: flex-end; }
.align-items-stretch { align-items: stretch; }
.justify-content-center { justify-content: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-end { justify-content: flex-end; }
.hidden { display: none !important; }
.flex-grow-1 { flex-grow: 1; }
.row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.col-12 { flex: 0 0 100%; max-width: 100%; padding: 0 12px; }
@media (min-width: 768px) {
  .col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; }
}
.in-desktop { display: block !important; }
.in-desktop.d-flex { display: flex !important; }
.in-tablet { display: none !important; }
.hide-mobile { display: block; }
.show-mobile { display: none; }
@media (max-width: 991px) {
  .in-desktop, .in-desktop.d-flex { display: none !important; }
  .in-tablet { display: block !important; }
  .in-tablet.d-flex { display: flex !important; }
}
@media (max-width: 991px) {
  .hide-mobile { display: none !important; }
  .show-mobile { display: block !important; }
  .show-mobile.d-flex { display: flex !important; }
}
.icon { display: inline-block; width: 24px; height: 24px; }
.icon--sm { width: 16px; height: 16px; }
.icon--lg { width: 24px; height: 24px; }
