:root {
  --bs-primary: #4f46e5;
  --bs-primary-rgb: 79, 70, 229;
  --bs-primary-text-emphasis: #3730a3;
  --bs-primary-bg-subtle: #eef2ff;
  --bs-primary-border-subtle: #c7d2fe;
  --msl-accent: #f59e0b;
  --msl-accent-rgb: 245, 158, 11;
  --msl-brand-gold: #ba9458;
}

:root[data-bs-theme="light"] {
  --bs-body-bg: #eef0f6;
}

.card {
  box-shadow: 0 0.25rem 1.25rem rgba(15, 23, 42, 0.06);
}

.input-group.input-group-merge::before {
  pointer-events: none;
}

.msl-flag {
  inline-size: 1.5rem;
  block-size: 1.125rem;
  border-radius: 0.125rem;
  object-fit: cover;
  flex-shrink: 0;
}

.password-toggle {
  cursor: pointer;
  color: var(--bs-secondary-color);
  transition: color 0.15s ease;
}

.password-toggle:hover,
.password-toggle:focus {
  color: var(--bs-primary);
}

#mslToastContainer {
  z-index: 1090;
}

#layout-navbar .navbar-nav-right {
  flex-grow: 1;
  min-inline-size: 0;
}

#layout-navbar .navbar-nav-right > .navbar-nav {
  flex-shrink: 0;
}

#layout-navbar .navbar-brand {
  min-inline-size: 0;
  overflow: hidden;
  margin-inline-end: 1rem;
}

#layout-navbar .app-brand-link {
  min-inline-size: 0;
  overflow: hidden;
}

#layout-navbar .app-brand-text {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 399.98px) {
  #layout-navbar .app-brand-text {
    display: none;
  }
}

.brand-mark {
  display: block;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  object-fit: contain;
}

[data-bs-theme="dark"] {
  --bs-primary: #6366f1;
  --bs-primary-rgb: 99, 102, 241;
  --bs-primary-text-emphasis: #c7d2fe;
  --bs-primary-bg-subtle: #2b2c57;
  --bs-primary-border-subtle: #4338ca;
  --msl-accent: #fbbf24;
  --msl-accent-rgb: 251, 191, 36;
}

@media (min-width: 1400px) {
  .container-xxl {
    max-width: 1920px;
  }

  .layout-navbar.navbar-detached.container-xxl {
    max-inline-size: calc(1920px - 1.5rem * 2);
  }
}
