:root,
:root[data-glpi-theme] {
  --ll-navy: #0a2948;
  --ll-navy-deep: #061d34;
  --ll-blue: #006fae;
  --ll-cyan: #00a8e8;
  --ll-yellow: #f7bd3f;
  --ll-canvas: #f3f7fb;
  --ll-surface: #ffffff;
  --ll-border: #d8e3ed;
  --ll-text: #17324d;
  --tblr-primary-rgb: 0, 143, 204 !important;
  --tblr-primary: rgb(var(--tblr-primary-rgb)) !important;
  --tblr-primary-fg: #ffffff !important;
  --glpi-mainmenu-bg: var(--ll-navy) !important;
  --glpi-mainmenu-fg: #f5f9fc !important;
  --glpi-mainmenu-fg-muted: #c7d7e5 !important;
  --glpi-mainmenu-active-bg: #164a73 !important;
  --glpi-helpdesk-header: #e6f1f8 !important;
  --glpi-illustrations-primary: var(--ll-yellow) !important;
  --glpi-illustrations-header-dark: var(--ll-navy) !important;
  --glpi-illustrations-header-light: #d5e8f4 !important;
  --glpi-logo: url("/pics/ll-solutions-login.png") !important;
  --glpi-logo-reduced: url("/pics/ll-solutions-login.png") !important;
}

body.central,
body.helpdesk {
  color: var(--ll-text);
}

body.central .page-wrapper,
body.helpdesk .page-wrapper {
  background: var(--ll-canvas);
}

.navbar.sidebar,
.navbar.topbar {
  background-color: var(--ll-navy) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.page .navbar-brand {
  position: relative;
  min-width: 174px;
}

.page .navbar-brand .glpi-logo {
  width: 174px !important;
  height: 60px !important;
  background-image: url("/pics/ll-solutions-login.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 210px 210px !important;
}

.page .navbar-brand::after {
  content: "HML";
  position: absolute;
  top: 8px;
  right: -2px;
  padding: 2px 5px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 4px;
  color: #ffffff;
  background: rgba(0, 168, 232, 0.2);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}

.sidebar .nav-link,
.topbar .nav-link {
  border-radius: 4px;
}

.sidebar .nav-link:hover,
.topbar .nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
}

.sidebar .nav-item.active > .nav-link,
.topbar .nav-item.active > .nav-link,
.sidebar .nav-link.active,
.topbar .nav-link.active {
  color: #ffffff !important;
  background: #154d76 !important;
  box-shadow: inset 3px 0 0 var(--ll-cyan);
}

.secondary-bar,
header.navbar.navbar-light {
  border-bottom: 1px solid var(--ll-border);
  background: rgba(255, 255, 255, 0.97) !important;
}

.card {
  border-color: var(--ll-border);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(10, 41, 72, 0.05);
}

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

.btn-primary:hover,
.btn-primary:focus {
  border-color: var(--ll-navy) !important;
  background: var(--ll-navy) !important;
}

.form-control:focus,
.form-select:focus,
.select2-container--focus .select2-selection {
  border-color: var(--ll-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 168, 232, 0.14) !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--ll-navy) !important;
  border-bottom-color: var(--ll-cyan) !important;
}

.breadcrumb a,
a:not(.btn):not(.nav-link):not(.card) {
  color: var(--ll-blue);
}

.helpdesk-home-container .search-banner {
  min-height: 420px;
  overflow: hidden;
  border-bottom: 1px solid #bfd6e6;
  background-color: #e6f1f8 !important;
}

.helpdesk-home-container .search-banner::before {
  content: "";
  position: absolute;
  top: 34px;
  left: 50%;
  z-index: 2;
  width: 300px;
  height: 86px;
  transform: translateX(-50%);
  background: url("/pics/ll-solutions-blue.png") center / 290px 290px no-repeat;
}

.helpdesk-home-container .search-banner-content {
  position: relative;
  z-index: 2;
  padding-top: 145px !important;
  padding-bottom: 58px !important;
}

.helpdesk-home-container .search-banner h1 {
  color: var(--ll-navy);
  font-size: 2.65rem;
  font-weight: 700;
}

.helpdesk-home-container .home-search {
  height: 54px;
  border: 1px solid #b9cede;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 10px 28px rgba(10, 41, 72, 0.12);
}

.helpdesk-home-container .tiles-banner {
  padding-top: 28px;
  padding-bottom: 32px;
  background: var(--ll-canvas);
}

.helpdesk-home-container .tiles-banner .card {
  border-top: 3px solid var(--ll-cyan);
  box-shadow: 0 6px 18px rgba(10, 41, 72, 0.07);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.helpdesk-home-container .tiles-banner .card:hover {
  border-top-color: var(--ll-yellow);
  box-shadow: 0 10px 24px rgba(10, 41, 72, 0.12);
  transform: translateY(-2px);
}

.helpdesk-home-container .tickets-banner {
  background: var(--ll-surface);
}

[data-glpi-service-catalog-items] > .col-12 > .card {
  overflow: hidden;
  border-top: 3px solid var(--ll-blue);
}

[data-glpi-service-catalog-items] .card-title h2,
[data-glpi-service-catalog-items] h2.card-title,
[data-glpi-service-catalog-items] .card-title {
  color: var(--ll-navy);
}

[data-glpi-service-catalog-items] a.card {
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

[data-glpi-service-catalog-items] a.card:hover {
  border-color: var(--ll-cyan);
  box-shadow: 0 8px 22px rgba(10, 41, 72, 0.11);
  transform: translateY(-2px);
}

[data-glpi-service-catalog-filter-items] {
  border-color: #bfd0de;
}

body.navbar-collapsed .navbar-brand {
  min-width: 42px;
}

body.navbar-collapsed .navbar-brand .glpi-logo {
  width: 42px !important;
  height: 44px !important;
  background-position: 25% center !important;
  background-size: 140px 140px !important;
}

body.navbar-collapsed .navbar-brand::after {
  display: none;
}

:root[data-glpi-theme-dark="1"] {
  --ll-canvas: #111c29;
  --ll-surface: #182536;
  --ll-border: #2b4054;
  --ll-text: #e7f0f7;
  --glpi-helpdesk-header: #122f49 !important;
}

:root[data-glpi-theme-dark="1"] .helpdesk-home-container .search-banner {
  border-color: #294b67;
  background-color: #122f49 !important;
}

:root[data-glpi-theme-dark="1"] .helpdesk-home-container .search-banner::before {
  background-image: url("/pics/ll-solutions-login.png");
}

:root[data-glpi-theme-dark="1"] .helpdesk-home-container .search-banner h1 {
  color: #f4f9fc;
}

@media (max-width: 991.98px) {
  .page .navbar-brand {
    min-width: 150px;
  }

  .page .navbar-brand .glpi-logo {
    width: 150px !important;
    background-size: 185px 185px !important;
  }

  .helpdesk-home-container .search-banner {
    min-height: 360px;
  }

  .helpdesk-home-container .search-banner::before {
    top: 22px;
    width: 240px;
    height: 72px;
    background-size: 235px 235px;
  }

  .helpdesk-home-container .search-banner-content {
    padding-top: 118px !important;
    padding-bottom: 38px !important;
  }

  .helpdesk-home-container .search-banner h1 {
    font-size: 2rem;
  }
}

@media (max-width: 575.98px) {
  .helpdesk-home-container .search-banner {
    min-height: 320px;
  }

  .helpdesk-home-container .search-banner h1 {
    font-size: 1.65rem;
  }

  .helpdesk-home-container .search-bar-container {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  [data-glpi-service-catalog-items] .card-body > .d-flex {
    align-items: flex-start;
  }
}
