:root {
  --swyft-primary: #193b3b;
  --swyft-tertiary: #3bab53;
  --swyft-secondary: #304f4f;
  --swyft-white: #ffffff;
  --swyft-danger: #d9534f;
  --swyft-info: #29a57a;
  --swyft-lighter-primary: #225454;
  --swyft-border-radius-default: 12px;
}

/* === CONTAINERS === */

a.d-block {
  color: var(--swyft-white) !important;
}

div.login-box > div.card {
  border-radius: var(--swyft-border-radius-default);
}
.brand-link img {
  max-height: 40px !important; /* controls height in sidebar */
  width: auto !important;
}

.login-box-msg {
  color: var(--swyft-primary);
}

/* === NAVBAR === */

.nav-tabs .nav-link.active {
  background-color: var(--swyft-secondary) !important;
  border-color: var(--swyft-secondary) !important;
  color: var(--swyft-white) !important;
}

.bg-custom-navbar {
  background-color: var(--swyft-primary) !important;
}

.navbar-dark {
  background-color: inherit;
}

.navbar-dark .navbar-brand,
.navbar-dark .nav-link {
  color: var(--swyft-white) !important;
  font-weight: 500;
}

/* === SIDEBAR === */

/* Prevent unnecessary horizontal scrolling in sidebar */
.sidebar {
  overflow-x: hidden !important;
  white-space: normal !important;
}

/* Ensure sidebar links don’t overflow */
.sidebar .nav-link {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-dark-custom {
  background-color: var(--swyft-primary) !important;
}

.sidebar-dark-custom .nav-link {
  color: var(--swyft-white) !important;
  border-radius: var(--swyft-border-radius-default);
  margin: 4px 6px;
  transition: background 0.2s ease;
}

.sidebar-dark-custom .nav-link.active,
.sidebar-dark-custom .nav-link:hover {
  background-color: var(--swyft-lighter-primary) !important;
  color: var(--swyft-white) !important;
  font-weight: 600;
}

/* === BUTTONS === */
.btn-danger,
.btn-primary,
.btn-secondary,
.btn-success,
.btn-info {
  border-radius: var(--swyft-border-radius-default);
  font-weight: 400;
}

.btn-success {
  background-color: var(--swyft-secondary);
  border-color: var(--swyft-secondary);
}

.btn-primary {
  background-color: var(--swyft-lighter-primary);
  border-color: var(--swyft-lighter-primary);
}

.btn-info {
  background-color: var(--swyft-info);
  border-color: var(--swyft-info);
}

.btn-info:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-success:not(:disabled):not(.disabled):active {
  background-color: var(--swyft-tertiary);
  border-color: var(--swyft-tertiary)
}

.btn-info:focus,
.btn-primary:focus,
.btn-success:focus {
  background-color: var(--swyft-tertiary);
  border-color: var(--swyft-tertiary)
}

input[type=checkbox]:checked, input[type=radio]:checked {
  background-color: var(--swyft-primary) !important;
}

/* === TABLES === */

div.card {
  background-color: var(--swyft-white);
  border-radius: 20px;
}

div.card-body {
  border-radius: inherit;
}

.table td {
  color: var(--swyft-secondary);
}

table > thead {
  background-color: #225454;
}

thead > tr a {
  color: var(--swyft-white) !important;
}

/* === LOGIN PAGE LOGO STYLING === */
.login-logo img {
  max-width: 500px;
  padding: 20px;
  margin: 0 auto;
}

/* === FORM INPUTS === */
input[type="text"],
input[type="password"],
select,
textarea {
  border-radius: var(--swyft-border-radius-default);
  border: 1px solid #ccc;
  padding: 6px 10px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: unset !important;
}

body {
  background-color: var(--swyft-primary);
  color: var(--swyft-secondary);
  font-weight: 400;
}

.input-group-text {
  background-color: var(--swyft-primary);
}

.dropdown-menu {
  background-color: var(--swyft-primary);
}

.dropdown-header {
  color: var(--swyft-white);
}

.accent-teal .btn-link,
.accent-teal .nav-tabs .nav-link,
.accent-teal
  a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(
    .page-link
  ):not(.btn) {
  color: var(--swyft-secondary);
  text-decoration: none;
}

a.back-link:hover,
a.detail-link:hover {
  color: var(--swyft-white) !important;
}

.vSelect {
  height: calc(2.25rem + 2px) !important;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 transparent !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.select2-container--default
  .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--swyft-white);
  color: var(--swyft-primary);
}

.select2-container--default .select2-selection--single {
  border-radius: 12px !important;
}

.select2-container--default .select2-dropdown .select2-search__field:focus,
.select2-container--default
  .select2-search--inline
  .select2-search__field:focus {
  border-radius: var(--swyft-border-radius-default);
  border: 1px solid var(--swyft-primary);
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected],
.select2-container--default
  .select2-results__option--highlighted[aria-selected]:hover {
  border: 1px solid var(--swyft-primary);
  background-color: var(--swyft-primary);
}

.select2-container--default
  .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--swyft-primary) !important;
}

.vTextField,
.vLargeTextField,
.vURLField,
.vIntegerField,
.vBigIntegerField,
.vForeignKeyRawIdAdminField,
.vDateField,
.vTimeField,
input[type="number"],
input[type="text"] {
  border-radius: 8px;
  color: var(--swyft-secondary);
}

.select2-dropdown {
  border-radius: var(--swyft-border-radius-default) !important;
}

.select2-results__option--highlighted {
  border-radius: var(--swyft-border-radius-default) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border-radius: var(--swyft-border-radius-default);
}

.selector-chosen h2 {
  background: var(--swyft-lighter-primary);
  color: var(--swyft-white);
}

.selector-available h2 {
  background: var(--swyft-white) !important;
  color: var(--swyft-lighter-primary) !important;
}

div.id_groups_selector_chosen,
div.selector-available {
  border-radius: var(--swyft-border-radius-default);
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: var(--swyft-secondary) !important;
  border-color: var(--swyft-lighter-primary) !important;
}
:focus {
  box-shadow: none !important;
  border-color: var(--swyft-secondary) !important;
}

body > div.wrapper > footer > div.float-right.d-none.d-sm-inline {
  display: none !important;
}
