/*
 * Navbar Partial Styles
 * Extracted from vendor/css/core.css and vendor/fonts/iconify-icons.css
 * Only contains styles needed by Views/Shared/Sections/Navbar/_NavbarPartial.cshtml
 */

/* ===== CSS Variables (from core.css :root) ===== */
:root {

  /* Dropdown variables */
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 0.9375rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-paper-bg);
  --bs-dropdown-border-color: var(--bs-border-color);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: 0;
  --bs-dropdown-inner-border-radius: 0;
  --bs-dropdown-divider-bg: var(--bs-border-color);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow-lg);
  --bs-dropdown-link-color: var(--bs-heading-color);
  --bs-dropdown-link-hover-color: var(--bs-dropdown-link-color);
  --bs-dropdown-link-hover-bg: var(--bs-gray-50);
  --bs-dropdown-link-active-color: var(--bs-primary);
  --bs-dropdown-link-active-bg: color-mix(in sRGB, var(--bs-paper-bg) 76%, var(--bs-primary));
  --bs-dropdown-link-disabled-color: var(--bs-secondary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.543rem;
  --bs-dropdown-header-color: var(--bs-secondary-color);
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
}

/* ===== Dropdown Menu (from core.css) ===== */
.dropdown-menu {
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
  box-shadow: var(--bs-dropdown-box-shadow);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu.show {
  display: block;
}
.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}
.dropdown-menu {
  text-align: start;
}

/* ===== Dropdown Divider ===== */
.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

/* ===== Dropdown Item ===== */
.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

/* ===== Hidden dropdown toggle arrow ===== */
.dropdown-toggle.hide-arrow::before,
.dropdown-toggle.hide-arrow::after,
.dropdown-toggle-hide-arrow > .dropdown-toggle::before,
.dropdown-toggle-hide-arrow > .dropdown-toggle::after {
  display: none;
}

/* ===== Navbar ===== */
.layout-navbar {
  background-color: var(--bs-body-bg);
}
.navbar-brand {
  margin-inline: 0 var(--bs-navbar-brand-margin-end);
}
.navbar-brand a {
  color: var(--bs-heading-color);
}
.layout-navbar .navbar {
  transform: translate3d(0, 0, 0);
}
.layout-navbar .navbar-nav-right {
  flex-basis: 100%;
}

/* ===== Navbar Nav ===== */
.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5435rem;
  --bs-nav-link-font-size: 0.9375rem;
  --bs-nav-link-font-weight: 500;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

/* ===== Nav Link ===== */
.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}

/* ===== Layout Menu Toggle ===== */
.layout-menu-toggle .icon-base {
  transform: rotate(0deg);
  transition-duration: 0.3s;
  transition-property: transform;
}

/* ===== Dropdown User ===== */
.layout-navbar .navbar-dropdown.dropdown-user .dropdown-menu {
  min-inline-size: 14rem;
}

/* ===== App Brand ===== */
.app-brand {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  align-items: center;
  line-height: 1;
}
.app-brand .app-brand-text {
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.app-brand .layout-menu-toggle {
  display: block;
}
.app-brand .app-brand-img {
  display: block;
}
.app-brand-text {
  text-transform: uppercase;
}
.app-brand-link {
  display: flex;
  align-items: center;
}

/* ===== Avatar ===== */
.avatar {
  --bs-avatar-size: 2.5rem;
  --bs-avatar-group-border: var(--bs-paper-bg);
  --bs-avatar-initial-inline: 3px;
  --bs-avatar-initial-bg: #eeedf0;
  position: relative;
  block-size: var(--bs-avatar-size);
  cursor: pointer;
  inline-size: var(--bs-avatar-size);
}
.avatar .avatar-initial {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bs-avatar-initial-bg);
  color: var(--bs-white);
  font-size: var(--bs-avatar-initial);
  font-weight: 500;
  inset: 0;
  text-transform: uppercase;
}
.avatar.avatar-online::after,
.avatar.avatar-offline::after,
.avatar.avatar-away::after,
.avatar.avatar-busy::after {
  position: absolute;
  border-radius: 100%;
  block-size: calc(var(--bs-avatar-size) * 0.2);
  box-shadow: 0 0 0 2px var(--bs-white);
  content: "";
  inline-size: calc(var(--bs-avatar-size) * 0.2);
  inset-block-end: 0;
  inset-inline-end: var(--bs-avatar-initial-inline);
}
.avatar img {
  block-size: 100%;
  inline-size: 100%;
}
.avatar.avatar-online::after {
  background-color: var(--bs-success);
}
.avatar.avatar-offline::after {
  background-color: var(--bs-secondary);
}
.avatar.avatar-away::after {
  background-color: var(--bs-warning);
}
.avatar.avatar-busy::after {
  background-color: var(--bs-danger);
}

/* ===== Badge Center ===== */
.badge-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  block-size: 1.5rem;
  inline-size: 1.5rem;
  --bs-badge-font-size: 0.8125rem;
}
.badge-center .icon-base {
  block-size: 0.875rem;
  font-size: 0.875rem;
  inline-size: 0.875rem;
}

/* ===== Icon Base ===== */
.icon-base {
  block-size: var(--bs-icon-size);
  font-size: var(--bs-icon-size);
  inline-size: var(--bs-icon-size);
  line-height: 1;
  vertical-align: middle;
}

/* ===== Icon Sizes ===== */
.icon-16px, .icon-16px::before {
  block-size: 16px !important;
  font-size: 16px !important;
  inline-size: 16px !important;
}
.icon-22px, .icon-22px::before {
  block-size: 22px !important;
  font-size: 22px !important;
  inline-size: 22px !important;
}
.icon-md, .icon-md::before {
  block-size: var(--bs-icon-size-md);
  font-size: var(--bs-icon-size-md);
  inline-size: var(--bs-icon-size-md);
}

/* ===== Width Utility ===== */
.w-px-40 {
  width: 40px !important;
}

/* ===== Remix Icon Base (from iconify-icons.css) ===== */
.ri {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

/* ===== Remix Icons used in navbar partial ===== */
.ri-menu-line {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M3 4h18v2H3zm0 7h18v2H3zm0 7h18v2H3z'/%3E%3C/svg%3E");
}
.ri-user-3-line {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20 22h-2v-2a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v2H4v-2a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5zm-8-9a6 6 0 1 1 0-12a6 6 0 0 1 0 12m0-2a4 4 0 1 0 0-8a4 4 0 0 0 0 8'/%3E%3C/svg%3E");
}
.ri-settings-4-line {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M2 12c0-.865.11-1.704.316-2.504A3 3 0 0 0 4.99 4.867a10 10 0 0 1 4.335-2.506a3 3 0 0 0 5.348 0a10 10 0 0 1 4.335 2.506a3 3 0 0 0 2.675 4.63c.206.8.316 1.638.316 2.503c0 .864-.11 1.703-.316 2.503a3 3 0 0 0-2.675 4.63a10 10 0 0 1-4.335 2.505a3 3 0 0 0-5.348 0a10 10 0 0 1-4.335-2.505a3 3 0 0 0-2.675-4.63C2.11 13.703 2 12.864 2 12m4.804 3c.63 1.091.81 2.346.564 3.524q.613.436 1.297.75A5 5 0 0 1 12 18c1.26 0 2.438.471 3.335 1.274q.684-.314 1.297-.75A5 5 0 0 1 17.196 15a5 5 0 0 1 2.77-2.25a8 8 0 0 0 0-1.5A5 5 0 0 1 17.196 9a5 5 0 0 1-.564-3.524a8 8 0 0 0-1.297-.75A5 5 0 0 1 12 6a5 5 0 0 1-3.335-1.274a8 8 0 0 0-1.297.75A5 5 0 0 1 6.804 9a5 5 0 0 1-2.77 2.25a8 8 0 0 0 0 1.5A5 5 0 0 1 6.805 15M12 15a3 3 0 1 1 0-6a3 3 0 0 1 0 6m0-2a1 1 0 1 0 0-2a1 1 0 0 0 0 2'/%3E%3C/svg%3E");
}
.ri-file-text-line {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995zm-2 1h-5V4H5v16h14zM8 7h3v2H8zm0 4h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");
}
.ri-logout-box-r-line {
  --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5 22a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3h-2V4H6v16h12v-2h2v3a1 1 0 0 1-1 1zm13-6v-3h-7v-2h7V8l5 4z'/%3E%3C/svg%3E");
}