:root {
  --oip-surface: #f5f7fb;
  --oip-established-navbar-background: #0d6efd;
  --oip-established-navbar-link: #ffffff;
  --oip-established-primary-text: #052c65;
  --oip-established-secondary-text: #5c636a;
}

body {
  min-height: 100vh;
  background: var(--oip-surface);
}

.navbar-brand {
  letter-spacing: 0.01em;
}

.oip-established-navbar {
  --bs-navbar-color: var(--oip-established-navbar-link);
  --bs-navbar-hover-color: var(--oip-established-navbar-link);
  --bs-navbar-active-color: var(--oip-established-navbar-link);
  --bs-navbar-toggler-border-color: var(--oip-established-navbar-link);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-color: var(--oip-established-navbar-background) !important;
}

.oip-established-navbar .nav-link:hover,
.oip-established-navbar .nav-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.oip-established-navbar .nav-link:focus-visible,
.oip-established-navbar .navbar-brand:focus-visible {
  outline: 2px solid var(--oip-established-navbar-link);
  outline-offset: 2px;
}

.oip-established-navbar .navbar-toggler:focus-visible {
  box-shadow: 0 0 0 4px var(--oip-established-navbar-link);
}

.oip-established-navbar .btn-outline-light {
  --bs-btn-color: var(--oip-established-navbar-link);
  --bs-btn-border-color: var(--oip-established-navbar-link);
  --bs-btn-hover-color: var(--oip-established-primary-text);
  --bs-btn-hover-bg: var(--oip-established-navbar-link);
  --bs-btn-hover-border-color: var(--oip-established-navbar-link);
  --bs-btn-active-color: var(--oip-established-primary-text);
  --bs-btn-active-bg: var(--oip-established-navbar-link);
  --bs-btn-active-border-color: var(--oip-established-navbar-link);
  --bs-btn-disabled-color: var(--oip-established-navbar-link);
  --bs-btn-disabled-border-color: var(--oip-established-navbar-link);
}

.oip-established-navbar .btn-outline-light:focus-visible {
  outline: 2px solid var(--oip-established-navbar-link);
  outline-offset: 2px;
}

body:not(.oip-next-shell) .text-primary.text-uppercase.small {
  color: var(--oip-established-primary-text) !important;
}

body:not(.oip-next-shell) .text-secondary {
  color: var(--oip-established-secondary-text) !important;
}

.oip-navbar-search {
  min-width: min(20rem, 100%);
}

.oip-established-navbar .oip-navbar-search {
  min-width: min(14rem, 100%);
}

.oip-established-navbar .oip-established-account {
  min-width: 0;
}

.oip-established-navbar .oip-established-account .navbar-text {
  display: block;
  max-width: 14rem;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.card {
  border-color: rgba(13, 110, 253, 0.12);
}

.login-card {
  margin-top: clamp(1rem, 6vh, 4rem);
}

.preserve-lines {
  white-space: pre-wrap;
}

.table-sort-link {
  color: inherit;
  display: inline-flex;
  gap: 0.35rem;
  text-decoration: none;
}

.table-sort-link:hover,
.table-sort-link:focus-visible {
  color: var(--bs-link-color);
  text-decoration: underline;
}
