@charset "UTF-8";
/*!
 * [SAVA]
 * Copyright 2018-2025 Julien Jadoul, TMS Prod
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,100..900;1,100..900&display=swap");

:root {
  --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

html {
  overscroll-behavior-y: none;
}

body {
  background-color: var(--bs-secondary-bg);
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  overflow-y: scroll;
  overflow-x: hidden;
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: normal;
  -webkit-hyphens: manual;
  -moz-hyphens: manual;
  hyphens: manual;
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  overscroll-behavior: none;
}

main {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
} /*
@media (min-width: 992px) {
  main {
    margin-left: 230px;
  }
}*/
@media print {
  main {
    padding-top: 0;
  }

  .page,
  main {
    width: 100%;
    margin: 0;
  }

  html,
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.max-w {
  max-width: 1750px;
  margin-left: auto;
  margin-right: auto;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  --bs-gutter-x: 2rem;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (min-width: 576px) {
  .grid-cols-sm-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-sm-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-sm-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-sm-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-sm-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .col-lg-middle {
    grid-column: 2;
  }
}
@media (min-width: 1200px) {
  .grid-cols-xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 1750px) {
  .grid-cols-xxl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xxl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xxl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xxl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xxl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xxl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.col-span-full {
  grid-column: 1/-1;
}
.alias {
  cursor: alias;
}
.all-scroll {
  cursor: all-scroll;
}
.auto {
  cursor: auto;
}
.cell {
  cursor: cell;
}
.context-menu {
  cursor: context-menu;
}
.col-resize {
  cursor: col-resize;
}
.copy {
  cursor: copy;
}
.crosshair {
  cursor: crosshair;
}
.default {
  cursor: default;
}
.e-resize {
  cursor: e-resize;
}
.ew-resize {
  cursor: ew-resize;
}
.grab {
  cursor: -webkit-grab;
  cursor: grab;
}
.grabbing {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.help {
  cursor: help;
}
.move {
  cursor: move;
}
.n-resize {
  cursor: n-resize;
}
.ne-resize {
  cursor: ne-resize;
}
.nesw-resize {
  cursor: nesw-resize;
}
.ns-resize {
  cursor: ns-resize;
}
.nw-resize {
  cursor: nw-resize;
}
.nwse-resize {
  cursor: nwse-resize;
}
.no-drop {
  cursor: no-drop;
}
.none {
  cursor: none;
}
.not-allowed {
  cursor: not-allowed;
}
.pointer {
  cursor: pointer;
}
.progress {
  cursor: progress;
}
.row-resize {
  cursor: row-resize;
}
.s-resize {
  cursor: s-resize;
}
.se-resize {
  cursor: se-resize;
}
.sw-resize {
  cursor: sw-resize;
}
.text {
  cursor: text;
}
.w-resize {
  cursor: w-resize;
}
.wait {
  cursor: wait;
}
.zoom-in {
  cursor: zoom-in;
}
.zoom-out {
  cursor: zoom-out;
}

/* HEADER 
header {
  overscroll-behavior: none;
}
header #top-navigation-bar {
  top: 0;
  left: 0;
  z-index: 1048;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  border-bottom: 1px solid var(--bs-primary);
  color: var(--bs-body-color-rgb);
  background-image: linear-gradient(
    rgba(var(--bs-body-bg-rgb), 1),
    rgba(var(--bs-body-bg-rgb), 0.95)
  );
}
header #top-navigation-bar .navigation-sidebar {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
}
header #top-navigation-bar .navigation-main {
  -ms-flex: 1;
  flex: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
  padding-left: 0;
}
header #top-navigation-bar .navigation-sidebar .navigation-logo {
  position: relative;
  display: block;
  width: 80px;
  text-decoration: none;
}
html[data-bs-theme="light"]
  header
  #top-navigation-bar
  .navigation-sidebar
  .navigation-logo {
  color: var(--bs-primary);
}
header .navigation-logo .icon {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.navbar-collapse .navbar-text .icon {
  top: auto;
}

.navbar-collapse input {
  border-bottom: none !important;
}
header #search-data {
  outline: none;
  box-shadow: none;
  display: block;
  border: none;
  background: none;
  border-radius: 0 !important;
}
header #search-data::-webkit-input-placeholder,
header #search-data:-moz-placeholder,
header #search-data::-moz-placeholder,
header #search-data::placeholder,
header #search-data:-ms-input-placeholder {
  color: var(--bs-tertiary-color) !important;
}

header #search-data:focus {
  background: none;
  color: var(--bs-link-color) !important;
  border-bottom: none !important;
}
@media (min-width: 992px) {
  header #top-navigation-bar .navigation-sidebar {
    -ms-flex: 230px 0 0px;
    flex: 230px 0 0;
    max-width: 230px;
    padding: 0.5rem 2rem;
  }

  header #top-navigation-bar .navigation-main {
    padding: 20px 1rem;
  }

  .navigation-main ul li:first-child {
    padding-left: 0;
  }
}*/
/* BARRE DE CHARGEMENT */
.loading-indicator {
  /* Changer Scale et Opacité pour acitver */
  position: fixed;
  top: 0px;
  right: 0px;
  left: 0px;
  pointer-events: none;
  width: auto;
  height: 3px;
  opacity: 0;
  background: var(--bs-orange);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.1s, height 0.4s, opacity 0.4s;
  z-index: 999999;
}
/* HEADER SAVA CACHE REFRESH */
header .savafresh .bi-arrow-clockwise::before {
  -webkit-animation: 0.75s linear infinite spinner-border;
  animation: 0.75s linear infinite spinner-border;
}

header #savafresh .bi-arrow-clockwise::before {
  vertical-align: sub;
}

header #savafresh {
  box-shadow: none !important;
}
/* HEADER RECHERCHE BAR + PANEL */
header .live-serach-bar {
  position: fixed;
  top: 60px;
  left: 0;
  z-index: 1040;
  width: 100%;
  background: var(--bs-body-bg-rgb);
  height: calc(100% - 60px);
  overflow-y: scroll;
  padding: 10px;
  color: var(--bs-secondary-color);
  transition: transform 0.3s;
  overflow-x: hidden;
  background: rgba(var(--bs-body-bg-rgb), 0.8);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  color: #ffffff00;
}
header .live-serach-bar.hiden {
  height: 0;
  padding: 0 10px;
  overflow: hidden;
}
header .live-serach-bar .card {
  /*max-width: 180px;*/
  overflow: hidden;
  transition: transform 0.5s ease;
  transform: scale(1);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
header .live-serach-bar .card:hover > .card-img {
  transition: transform 0.5s ease;
  transform: scale(1.05);
}
header .live-serach-bar .card:hover > .card-img-overlay {
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}
header .live-serach-bar .card:hover {
  transform: scale(1.1);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
header .live-serach-bar .poster {
  position: absolute;
  bottom: 0;
  padding: 1.25rem;
  background-image: linear-gradient(to top, #000, transparent);
  bottom: 0;
  text-shadow: 0px 0 2px rgba(0, 0, 0, 0.8);
  width: 100%;
}
header .live-serach-bar .row-cols-manu .col {
  width: 50%;
  flex: 0 0 auto;
}
@media (min-width: 992px) {
  header .live-serach-bar {
    width: calc(100% - 230px);
    left: 230px;
  }
}
@media (min-width: 720px) {
  header .live-serach-bar .row-cols-manu .col {
    width: 25%;
  }
}

@media (min-width: 1140px) {
  header .live-serach-bar .row-cols-manu .col {
    width: 20%;
  }
}

@media (min-width: 1320px) {
  header .live-serach-bar .row-cols-manu .col {
    width: 16.6666666667%;
    max-width: 200px;
  }
}
/* SIDEBAR PRINCIPALE 
.sidebar {
  width: 100%;
  position: fixed;
  transition: translateY 180ms cubic-bezier(0.4, 0, 0.6, 1),
    backdrop-filter 240ms cubic-bezier(0.4, 0, 0.6, 1) 80ms,
    background-color 480ms cubic-bezier(0.4, 0, 0.6, 1) 180ms;
  transform: translateY(0);
  overflow: hidden;
  height: 100%;
  padding: 1rem;
  padding-top: 60px;
  top: 0;
  white-space: nowrap;
  transform: translateY(-100%);
  visibility: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px);
  background-color: rgba(var(--bs-tertiary-bg-rgb), 0);
  z-index: 1050;
  padding-top: 1rem;
  position: fixed;
  overflow-y: scroll;
}
.sidebar h4 {
  font-weight: 400;
}
.sidebar h6 {
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  margin-bottom: 0;
  margin-top: var(--bs-nav-link-padding-y);
  color: var(--bs-secondary-color);
}
.sidebar .small {
  font-size: 0.8em;
  padding: 0.2rem 1rem;
}
.sidebar .nav {
  display: block !important;
}
.sidebar .nav-pills,
.population .sidebar-pop .nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: var(--bs-link-color);
  --bs-nav-pills-link-active-bg: var(--bs-primary-bg-subtle);
}
.sidebar .link-body-emphasis:focus,
.sidebar .link-body-emphasis:hover {
  background-color: var(--bs-body-bg);
}
.sidebar .navigation {
  width: 100%;
}
.sidebar .navigation li {
  transform: translateX(0);
  display: block;
  margin: 7px 0;
  transition: all 0.15s ease-in-out;
  border-bottom: 1px solid #f1f5f5;
  padding-left: 0;
}
.sidebar .navigation li a {
  font-weight: 300;
  display: block;
  margin: 10px 0;
  text-decoration: none !important;
  position: relative;
  padding-left: 22px;
}
@media (max-width: 992px) {
  .sidebar.sidebar-open {
    visibility: visible;
    transform: translateY(0);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background-color: rgba(var(--bs-tertiary-bg-rgb), 0.6);
  }

  .sidebar .category {
    opacity: 0;
    transform: translateY(-8px);
    transition-delay: calc(0.2s + var(--item-number) * 20ms);
    transition-duration: 0.24s;
    transition-property: opacity, transform, visibility;
    transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1),
      cubic-bezier(0.4, 0, 0.6, 1), step-start;
  }

  .sidebar.sidebar-open .category {
    transform: translateX(0);
    opacity: 1;
  }

  body:has(.sidebar.sidebar-open),
  body:has(.sidebar-pop) {
    overflow: hidden !important;
  }
}
@media (min-width: 992px) {
  .sidebar {
    background-color: var(--bs-tertiary-bg);
    visibility: visible;
    z-index: 100;
    width: 230px;
    top: 0;
    transform: translateY(0%);
    min-height: -webkit-fill-available;
    padding: 1rem;
    padding-top: 60px;
    overflow-x: hidden;
    height: 100%;
    position: fixed;
    scrollbar-width: none;
    scrollbar-gutter: stable;
  }
}*/
/* SIDE BAR COMPACT 
@media (min-width: 992px) {
  .sidebar.compact {
    width: 72px;
  }

  body:has(.sidebar.compact) main {
    margin-left: 65px !important;
  }

  body:has(.sidebar.compact) .navigation-sidebar {
    -ms-flex: 65px 0 0px;
    flex: 65px 0 0;
    max-width: 65px;
    padding: 0.5rem 1.07rem;
  }

  body:has(.sidebar.compact) .live-serach-bar {
    width: calc(100% - 65px);
    left: 65px;
  }

  body:has(.sidebar.compact) .navigation-sidebar svg {
    width: 80px;
  }

  body:has(.sidebar.compact) .navigation-sidebar .crochet {
    transform: translateX(-170px);
  }

  body:has(.sidebar.compact) .navigation-sidebar .minimalist {
    display: none;
  }

  .sidebar.compact h6 {
    opacity: 0;
  }

  .sidebar.compact h6,
  .sidebar.compact a.nav-link {
    overflow: hidden;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-y);
  }

  .sidebar.compact a.nav-link:hover {
    overflow: visible;
    z-index: 2;
  }

  .sidebar.compact .smallgroup,
  .sidebar.compact .d-md-block {
    display: none;

  }


  .sidebar.compact {
    width: 65px;

    overflow-x: hidden;
  }


  .sidebar.compact:hover {
    width: 230px;

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background-color: rgba(var(--bs-tertiary-bg-rgb), 0.6);
    border-right-width: 1px;
    border-right-color: #ffffff1a;
    border-right-style: solid;

  }


  .sidebar.compact .nav-link {
    color: none !important;
    text-shadow: none;
    transition: color 0.3s ease;
    overflow: hidden;
  }

  .sidebar.compact .nav-link span {
    opacity: 0;
  }

  .sidebar.compact .nav-link:hover span {
    opacity: 1;
  }

  .sidebar.compact .nav-link:hover {
    width: 198px;
  }

  .sidebar.compact:hover .nav-link span {
    color: inherit !important;
    opacity: 0.8;
  }

  .sidebar.compact h6 {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .sidebar.compact:hover h6 {
    opacity: 1;
  }
}
*/
/* POPULATION */

/* Conteneur principal */
.population {
  height: 100dvh;
  overflow: hidden;
}
.population #app {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}

/* Colonne agents */
.population .sidebar-pop-sticky {
  padding: 1rem;
  width: 100% !important;
  position: absolute !important;
  min-height: -webkit-fill-available;
}

/* Contenu fiche */
.population .fisher {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.population .sidebar-pop {
  width: 300px;
  /*height: calc(
    100vh - 60px - env(safe-area-inset-top) - env(safe-area-inset-bottom)
  );*/
  height: 100%;
  background: var(--bs-tertiary-bg);
  overflow-y: auto;
  z-index: 1010;
  scrollbar-width: none;
  flex-shrink: 0;
  height: 100%;
  z-index: 1010;
  overflow: auto; /* obligatoire avec resize */
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background-color: rgba(var(--bs-tertiary-bg-rgb), 0.6);
  transform: translateX(-100%);
  width: 100%;
}
.population .sidebar-pop .nav-pills .nav-link:not(.collapsed) {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}
.population #population .list-group-item {
  cursor: pointer;
  border: none;
  background-color: var(--bs-secondary-bg);
}

@media (min-width: 992px) {
  .population .sidebar-pop {
    background: var(--bs-tertiary-bg);
    width: 300px;
    min-width: 250px; /* largeur minimale */
    max-width: 500px; /* largeur maximale */
    transform: translateX(0);
    position: relative;
    scrollbar-width: none;
    z-index: 10;
  }
  .sidebar-pop .resize-handle {
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    cursor: ew-resize;
    opacity: 0;
    background: var(--bs-blue);
    transition: opacity 500ms cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: width 250ms cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: box-shadow 650ms cubic-bezier(0.075, 0.82, 0.165, 1);
    box-shadow: 0 0rem 0 0 var(--bs-primary-border-subtle) !important;
  }
  .sidebar-pop:hover.sidebar-pop .resize-handle {
    opacity: 1;
  }
  .sidebar-pop .resize-handle:hover {
    opacity: 1;
    width: 4px;
    box-shadow: -6px 0rem 2rem 2px var(--bs-primary-border-subtle) !important;
  }
}
/* Mobile : sidebar cachée par défaut */
@media (max-width: 992px) {
  .population .sidebar-pop {
    transition: transform 0.2s ease-in-out;
  }
  .population .sidebar-pop.open {
    transform: translateX(0);
  }
  .population .sidebar-pop:has(.open) .population .fisher {
    overflow: hidden;
  }
  .sidebar-pop.open + .sidebar-pop-overlay {
    opacity: 1;
    visibility: visible;
  }

  body.sidebar-open {
    overflow: hidden;
    touch-action: none;
  }
  .population .fisher {
    position: absolute;
  }
}
/* AVATAR GROUP */
.avatar {
  width: var(--size-avatar-group);
  height: var(--size-avatar-group);
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--bs-body-bg);
  background-color: var(--bs-tertiary-bg);
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--bs-secondary-text-emphasis);
}
.avatar-group .avatar {
  margin-left: -10px;
}
.avatar-group .avatar img,
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.d-grid {
  grid-template-rows: min-content min-content;
}

/* SIDEBAR 2025 https://ui.shadcn.com/view/sidebar-07 */
@supports (color: color-mix(in lab, red, red)) {
  * {
    outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
  }
}
body {
  overscroll-behavior: none;
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--text-xs--line-height);
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.min-h-0 {
  min-height: calc(var(--spacing) * 0);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.h-8 {
  height: calc(var(--spacing) * 8);
}
.w-8 {
  width: calc(var(--spacing) * 8);
}

.sidebar-wrapper {
  min-height: 100dvh;

  --sidebar-width: 16rem;
  --sidebar-width-icon: 3rem;
  --spacing: 0.25rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --ring: oklch(70.8% 0 0);
}
.sidebar-wrapper .gap-1 {
  gap: calc(var(--spacing) * 1) !important;
}
.sidebar-wrapper .gap-2 {
  gap: calc(var(--spacing) * 2) !important;
}
.sidebar-wrapper .px-2 {
  padding-inline: calc(var(--spacing) * 2) !important;
}
.sidebar-wrapper .sidebar {
  position: unset;
}

@media (max-width: 768px) {
  .sidebar-wrapper .sidebar {
    position: fixed;
    z-index: 2000;
    left: calc(var(--spacing) * 0);
    inset-block: calc(var(--spacing) * 0);
    transition-property: color, background-color, border-color, outline-color,
      text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via,
      --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate,
      filter, -webkit-backdrop-filter, backdrop-filter, display, visibility,
      content-visibility, overlay, pointer-events;
    animation: enter 0.15s ease 0s 1 normal none;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.5s;

    box-shadow: none;
    transform: translateX(-100%);
  }
  .sidebar-wrapper.show .sidebar {
    transform: translateX(0);
    box-shadow: var(--bs-box-shadow-lg);
  }
}

@keyframes enter {
  0% {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(
        var(--tw-enter-translate-x, 0),
        var(--tw-enter-translate-y, 0),
        0
      )
      scale3d(
        var(--tw-enter-scale, 1),
        var(--tw-enter-scale, 1),
        var(--tw-enter-scale, 1)
      )
      rotate(var(--tw-enter-rotate, 0));
  }
}
.sidebar-wrapper .sidebar .sidebar-gap {
  position: relative;
  width: var(--sidebar-width);
  background-color: #0000;
  transition-property: width;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}
.sidebar-wrapper .sidebar .sidebar-container {
  position: fixed;
  inset-block: calc(var(--spacing) * 0);
  left: calc(var(--spacing) * 0);
  z-index: 10;
  display: none;
  height: 100dvh;
  width: var(--sidebar-width);
  transition-property: left, right, width;
  transition-duration: 0.2s;
  transition-timing-function: linear;
}
.sidebar-wrapper .sidebar .sidebar-container .navigation-logo svg {
  height: calc(var(--spacing) * 8);
}
.sidebar-wrapper .sidebar .sidebar-container .sidebar-inner {
  display: flex;
  height: 100%;
  width: 100%;
  flex-direction: column;
  background-color: var(--bs-tertiary-bg);
}
.sidebar-wrapper .sidebar .sidebar-container .sidebar-inner .sidebar-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: calc(var(--spacing) * 0);
  gap: calc(var(--spacing) * 2);
  overflow: auto;
}
.sidebar-wrapper .sidebar .sidebar-container .sidebar-rail {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border: none;
  opacity: 1;
  background-color: #0000;
  border-radius: 0;
  position: absolute;
  inset-block: calc(var(--spacing) * 0);
  z-index: 20;
  display: none;
  width: calc(var(--spacing) * 4);
  translate: var(--tw-translate-x) var(--tw-translate-y);
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
  transition-duration: 0.15s;
  transition-property: all;
  transition-timing-function: linear;
  cursor: w-resize;
  display: flex;
  right: calc(var(--spacing) * -4);
}
.sidebar-wrapper .sidebar .sidebar-container .sidebar-rail:after {
  content: "";
  left: 50%;
  width: 2px;
  inset-block: calc(var(--spacing) * 0);
  cursor: w-resize;
}
.sidebar-inner menu,
.sidebar-inner ol,
.sidebar-inner ul {
  list-style: none;
  border: 0 solid;
  margin: 0;
  padding: 0;
}

.sidebar-wrapper
  .sidebar
  .sidebar-container
  .sidebar-inner
  .sidebar-group-label {
  transition-duration: 0.2s;
  transition-property: margin, opacity;
  transition-timing-function: linear;
}

.sidebar-wrapper
  .sidebar
  .sidebar-container
  .sidebar-inner
  .sidebar-menu-button {
  outline-style: none;
  transition-property: width, height, padding;
  padding-right: calc(var(--spacing) * 8);
  transition-timing-function: var(linear, cubic-bezier(0.4, 0, 0.2, 1));
  transition-duration: var(0.2s, 0.15s);
  text-decoration: auto;
  color: inherit;
}
.sidebar-wrapper .sidebar .sidebar-container .sidebar-menu-button:hover,
.sidebar-wrapper .sidebar .sidebar-container .menu-button:hover {
  background-color: rgba(var(--bs-secondary-color-rgb), 0.02) !important;
}
.\[\&\>span\:last-child\]\:truncate > span:last-child {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
@media (min-width: 768px) {
  .collapsible-opacity-0 {
    transition-duration: 0.1s;
    transition-property: opacity;
    transition-timing-function: linear;
  }
  .collapsible-size-8,
  .collapsible-p-0,
  .collapsible-height {
    transition-property: width, height, padding;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.15s;
  }
  .collapsible-opacity-0:is(:where(.sidebar)[data-collapsible="icon"] *) {
    opacity: 0 !important ;
  }
  .collapsible-mt-8:is(:where(.sidebar)[data-collapsible="icon"] *) {
    margin-top: calc(var(--spacing) * -8);
  }
  .sidebar-gap:is(:where(.sidebar)[data-collapsible="icon"] *),
  .sidebar-container:is(:where(.sidebar)[data-collapsible="icon"] *) {
    width: 3rem !important;
  }
  .collapsible-p-0:is(:where(.sidebar)[data-collapsible="icon"] *) {
    padding: calc(var(--spacing) * 0) !important;
  }
  .collapsible-hidden:is(:where(.sidebar)[data-collapsible="icon"] *) {
    display: none;
  }
  .crochet {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.01s;
    transition-delay: 0;
  }
  .crochet:is(:where(.sidebar)[data-collapsible="icon"] *) {
    transform: translateX(-170px);
    transition-duration: 0.15s;
    transition-delay: 0.05s;
  }
  .collapsible-height:is(:where(.sidebar)[data-collapsible="icon"] *) {
    max-height: 0 !important;
    padding: 0 !important;
  }
  .sidebar-wrapper
    .sidebar
    .sidebar-container
    .navigation-logo
    svg:is(:where(.sidebar)[data-collapsible="icon"] *) {
    height: calc(var(--spacing) * 7.5);
  }
  .sidebar-rail:is(:where(.sidebar)[data-collapsible="icon"] *) {
    cursor: e-resize;
  }
}
main {
  width: 100%;
}
.LiveSearch {
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  top: 0;
  overflow-y: auto;
  transform: translateY(-20px);
  opacity: 0;
  pointer-events: none;
  z-index: 1050;
  backdrop-filter: blur(0) brightness(1);
}
.LiveSearch .window {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  margin: 60px auto auto;
  max-width: 560px;
}
.LiveSearch.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
  backdrop-filter: blur(10px) brightness(0.5);
}
.result-item {
  cursor: pointer;
  transition: background-color 0.2s ease;
}
