:root {
  --pearl-navy: #182557;
  --pearl-blue: #1745ea;
  --pearl-blue-hover: #123ac7;
  --pearl-blue-soft: #edf2ff;
  --pearl-green: #16a36a;
  --pearl-green-hover: #118154;
  --ps-primary: #1745ea;
  --ps-secondary: #182557;
}

/* Bootstrap and Argon application primitives. */
.bg-gradient-primary,
.main-content > .header.bg-gradient-primary,
.ps-dashboard-header,
.ps-settings-header {
  background: var(--pearl-navy) !important;
  background-image: none !important;
}

.btn-primary,
button.btn-primary,
a.btn-primary,
.bg-gradient-primary.btn,
button.bg-gradient-primary,
a.bg-gradient-primary {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  background-image: none !important;
  box-shadow: 0 7px 16px rgba(23, 69, 234, .18) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.bg-gradient-primary.btn:hover,
button.bg-gradient-primary:hover,
a.bg-gradient-primary:hover {
  color: #fff !important;
  border-color: var(--pearl-blue-hover) !important;
  background: var(--pearl-blue-hover) !important;
  background-image: none !important;
}

.btn-success,
button.btn-success,
a.btn-success,
.ps-btn-export {
  color: #fff !important;
  border-color: var(--pearl-green) !important;
  background: var(--pearl-green) !important;
  background-image: none !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):active,
.ps-btn-export:hover,
.ps-btn-export:focus {
  color: #fff !important;
  border-color: var(--pearl-green-hover) !important;
  background: var(--pearl-green-hover) !important;
  background-image: none !important;
}

.btn-outline-primary {
  color: var(--pearl-blue) !important;
  border-color: var(--pearl-blue) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
}

a,
.text-primary {
  color: var(--pearl-blue);
}

a:hover,
a:focus {
  color: var(--pearl-blue-hover);
}

.form-control:focus,
.custom-select:focus,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
  border-color: var(--pearl-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 69, 234, .12) !important;
}

/* Consistent commercial select controls, including dropdowns appended to body. */
.select2-container.form-control {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.select2-container .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  height: 38px !important;
  padding: 0 34px 0 12px !important;
  border: 1px solid #d8deea !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  width: 100%;
  padding: 0 !important;
  color: #344054 !important;
  font-size: 13px;
  line-height: 36px !important;
  text-align: left;
}

.select2-container .select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  right: 10px !important;
  width: 18px !important;
  height: 18px !important;
  transform: translateY(-50%);
}

.select2-dropdown {
  margin-top: 6px;
  overflow: hidden;
  border: 1px solid #d8deea !important;
  border-radius: 10px !important;
  background: #fff;
  box-shadow: 0 16px 38px rgba(24, 37, 87, .16);
}

.select2-search--dropdown {
  padding: 8px !important;
  border-bottom: 1px solid #edf0f5;
}

.select2-search--dropdown .select2-search__field {
  height: 36px;
  padding: 6px 10px;
  border: 1px solid #d8deea !important;
  border-radius: 7px;
  outline: 0;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: var(--pearl-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 69, 234, .12);
}

.select2-results__option {
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px !important;
  color: #475467;
  font-size: 13px;
  line-height: 1.35;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  color: var(--pearl-blue) !important;
  background: var(--pearl-blue-soft) !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  color: #fff !important;
  background: var(--pearl-blue) !important;
}

/* Product-entry selects must remain identical even if Select2 initializes late. */
select.item-entry-select {
  display: block;
  width: 100%;
  height: 44px;
  padding: 0 34px 0 12px;
  color: #344054;
  font-size: 13px;
  border: 1px solid #d8deea;
  border-radius: 8px;
  background-color: #fff;
}

.item-entry-select + .select2-container {
  display: block;
  width: 100% !important;
}

.item-entry-select + .select2-container .select2-selection--single {
  height: 44px !important;
}

.item-entry-select + .select2-container .select2-selection__rendered {
  line-height: 42px !important;
}

.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before,
.custom-toggle input:checked + .custom-toggle-slider {
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
}

.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  box-shadow: none !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.main-content .dropdown-menu .dropdown-item:hover,
.main-content .dropdown-menu a:hover,
#navbar-main .dropdown-item:hover,
#sidenav-main .dropdown-item:hover {
  color: var(--pearl-blue) !important;
  background: var(--pearl-blue-soft) !important;
}

.table-hover tbody tr:hover,
.ps-orders-table-wrap tbody tr:hover,
.ps-report-table tbody tr:hover,
.ps-expenses-table tbody tr:hover {
  background: #f2f5ff !important;
}

#sidenav-main .nav-link:hover {
  color: var(--pearl-blue) !important;
  background: var(--pearl-blue-soft) !important;
}

#sidenav-main .nav-link.active,
#sidenav-main .nav-link.active-pro {
  color: var(--pearl-navy) !important;
}

#navbar-main .nav-link i,
#navbar-main .dropdown-item i,
#sidenav-main .dropdown-item i {
  color: var(--pearl-blue) !important;
}

#navbar-main .avatar {
  background: var(--pearl-blue) !important;
  background-image: none !important;
  box-shadow: 0 8px 20px rgba(23, 69, 234, .18) !important;
}

/* Dashboard, settings, orders and reports. */
.ps-settings-nav .nav-link.active,
.ps-report-tab.active,
.ps-report-tab:hover,
.ps-orders-tab.active,
.ps-expenses-tab.active {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.ps-expense-header {
  background: var(--pearl-navy) !important;
  background-image: none !important;
}

.ps-rank,
.ps-icon-orders,
.ps-icon-fee,
.ps-summary-orders::before,
.ps-clean-plus-btn {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  background-image: none !important;
}

.ps-settings-nav .nav-link:hover,
.ps-expenses-tab:hover {
  color: var(--pearl-blue) !important;
  background: var(--pearl-blue-soft) !important;
}

.ps-report-total::before {
  background: var(--pearl-navy) !important;
  background-image: none !important;
}

.ps-btn-primary {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
}

.ps-btn-primary:hover,
.ps-btn-primary:focus,
.ps-btn:not(.ps-btn-primary):not(.ps-btn-export):hover {
  color: #fff !important;
  border-color: var(--pearl-blue-hover) !important;
  background: var(--pearl-blue-hover) !important;
}

/* POS shell. */
.ps-pos-navbar,
.ps-pos-rail {
  background: var(--pearl-navy) !important;
  background-image: none !important;
}

.ps-pos-btn-primary,
.ps-pos-rail-brand,
.ps-pos-product-cart-badge,
.ps-cart-mode-btn.active,
.ps-pos-orders-tab.active,
.ps-pos-modal .modal-header,
.ps-payment-option.active,
.ps-payment-option:hover,
.ps-pos-print-btn,
.ps-category-btn.active,
.ps-category-btn:hover {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  background-image: none !important;
}

.ps-pos-btn-primary:hover,
.ps-pos-product-card:hover .ps-pos-product-cart-badge,
.ps-cart-mode-btn:hover,
.ps-pos-orders-tab:hover,
.ps-pos-print-btn:hover {
  color: #fff !important;
  border-color: var(--pearl-blue-hover) !important;
  background: var(--pearl-blue-hover) !important;
}

.ps-pos-input:focus,
.ps-pos-select:focus,
.ps-pos-search-box .select2-container--focus .select2-selection,
.ps-pos-search-box .select2-container--open .select2-selection {
  border-color: var(--pearl-blue) !important;
  box-shadow: 0 0 0 3px rgba(23, 69, 234, .12) !important;
}

.ps-payment-option i,
.ps-pos-order-resume,
.ps-pos-orders-table .ps-pos-action-link,
.ps-pos-product-price {
  color: var(--pearl-blue) !important;
}

/* Authentication screens use the same restrained palette. */
.ps-auth-brand-side,
.ps-reset-side,
.ps-register-side,
.ps-verify-side {
  background: var(--pearl-navy) !important;
  background-image: none !important;
}

.ps-auth-submit,
.ps-auth-btn,
.ps-reset-submit,
.ps-register-submit,
.ps-verify-submit {
  color: #fff !important;
  border-color: var(--pearl-blue) !important;
  background: var(--pearl-blue) !important;
  background-image: none !important;
}

.ps-auth-submit:hover,
.ps-auth-btn:hover,
.ps-reset-submit:hover,
.ps-register-submit:hover,
.ps-verify-submit:hover {
  background: var(--pearl-blue-hover) !important;
}
