body {
  background-color: #F7F9FA;
  color: #1E1E1E;
  font-family: "Inter", "IBM Plex Sans", "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.btn-primary {
  background-color: #145386;
  border-color: #145386;
}

.btn-primary:hover {
  background-color: #1A6592;
  border-color: #1A6592;
}

.alert-success {
  background-color: #2E8B57;
  color: #fff;
}

.avatar {
  background-color: #145386;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

.auth-layout {
  min-height: 100vh;
}

.auth-card {
  max-width: 420px;
  margin: 0 auto;
}

.auth-logo {
  max-height: 56px;
  width: auto;
}

.topbar-logo {
  height: 32px;
  width: auto;
}

.navbar-vertical .nav-link {
  color: #5B616B;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.navbar-vertical .nav-link:hover,
.navbar-vertical .nav-link:focus {
  color: #145386;
}

.navbar-vertical .nav-link-icon {
  height: 1.75rem;
  width: 1.75rem;
  font-size: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #145386;
}

@media (min-width: 992px) {
  body.sidebar-mini .page {
    display: flex;
  }

  body.sidebar-mini .navbar-vertical {
    width: 68px;
    flex: 0 0 68px;
    overflow: hidden;
    transition: width 0.2s ease;
  }

  body.sidebar-mini .navbar-vertical:hover {
    width: 260px;
    flex: 0 0 260px;
  }

  body.sidebar-mini .navbar-vertical .nav-link {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    transition: padding 0.2s ease, justify-content 0.2s ease;
  }

  body.sidebar-mini .navbar-vertical:hover .nav-link {
    justify-content: flex-start;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  body.sidebar-mini .navbar-vertical .nav-link-icon {
    margin-right: 0;
    transition: margin-right 0.2s ease;
  }

  body.sidebar-mini .navbar-vertical:hover .nav-link-icon {
    margin-right: 0.75rem;
  }

  body.sidebar-mini .navbar-vertical .nav-link-title {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
  }

  body.sidebar-mini .navbar-vertical:hover .nav-link-title {
    opacity: 1;
    visibility: visible;
  }

  body.sidebar-mini .navbar-vertical~.page-wrapper {
    margin-left: 68px !important;
    transition: margin-left 0.2s ease;
  }

  body.sidebar-mini .navbar-vertical:hover~.page-wrapper {
    margin-left: 260px !important;
  }
}

/* Simple-DataTables: reset floats for custom layout */
.datatable-top>nav,
.datatable-top>div,
.datatable-bottom>nav,
.datatable-bottom>div {
  float: none !important;
}

/* Arrange Simple-DataTables controls */
.datatable-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}

.datatable-top .datatable-search {
  order: 0;
  margin-right: auto;
}

.datatable-top .datatable-search input {
  margin-right: 0;
  max-width: 240px;
}

.datatable-top .datatable-dropdown {
  display: none;
}

.datatable-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.datatable-bottom .datatable-dropdown-bottom {
  margin-left: auto;
}

/* Flatpickr styling to match Tabler theme */
.flatpickr-calendar {
  font-family: inherit;
  border-radius: 0.375rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #145386;
  border-color: #145386;
}

.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: #1A6592;
  border-color: #1A6592;
}

.flatpickr-day.inRange {
  background: rgba(20, 83, 134, 0.1);
  border-color: rgba(20, 83, 134, 0.1);
}