.lx-sidepanel-trigger {
  position: fixed;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.lx-sidepanel-trigger__btn {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  color: white !important;
  background: linear-gradient(135deg,
      var(--lx-color-neutral-900) 0%,
      var(--lx-color-neutral-700) 100%) !important;
  border: 1px solid var(--lx-color-neutral-900) !important;
  border-right: none !important;
  border-radius: var(--lx-rounded-lg) 0 0 var(--lx-rounded-lg) !important;
  padding: 12px 8px !important;
  cursor: pointer;
  box-shadow: var(--lx-shadow-lg);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  outline: none !important;
}

.lx-sidepanel-trigger__btn:hover,
.lx-sidepanel-trigger__btn:focus {
  color: var(--lx-color-primary-300) !important;
  background: linear-gradient(135deg,
      var(--lx-color-neutral-900) 0%,
      var(--lx-color-neutral-700) 100%) !important;
  border-color: var(--lx-color-neutral-700) !important;
  box-shadow: var(--lx-shadow-xl);
}

.lx-sidepanel-trigger__btn:active {
  transform: translateX(-1px);
}

.lx-sidepanel-trigger__btn:focus-visible {
  box-shadow: var(--lx-shadow-xl), 0 0 0 3px var(--lx-color-neutral-100);
}

.lx-sidepanel-trigger__icon {
  font-size: var(--lx-text-ms) !important;
  width: var(--lx-text-sm) !important;
  height: var(--lx-text-sm) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--lx-text-sm) !important;
}

.lx-sidepanel-trigger__label {
  font-weight: var(--lx-font-semibold);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: none;
  font-size: var(--lx-text-xs);
  letter-spacing: 0.08em;
}

.lx-sidepanel-trigger__btn--shine {
  position: relative;
  overflow: hidden;
}

.lx-sidepanel-trigger__btn--shine::before {
  content: "";
  position: absolute;
  top: -110%;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom,
      transparent 0%,
      rgba(255, 255, 255, 0.45) 50%,
      transparent 100%);
  animation: lx-sidepanel-shine-vertical 1s ease-in-out 0s 2 forwards;
}

@keyframes lx-sidepanel-shine-vertical {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(200%);
  }
}

/* Panel container */
.lx-sidepanel {
  flex-direction: column;
  position: fixed;
  top: 50%;
  transform: translateY(-50%) translateX(100%);
  right: 12px;
  width: 28%;
  min-width: 300px;
  height: 90%;
  background-color: white;
  padding: 20px;
  border: 1px solid var(--lx-color-neutral-500);
  border-radius: var(--lx-rounded-2xl);
  z-index: 2;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease, width 0.2s ease, box-shadow 0.2s ease;
  opacity: 0;
  display: flex;
  box-shadow: var(--lx-shadow-2xl);
}

.lx-sidepanel--hide {
  transform: translateY(-50%) translateX(100%);
  opacity: 0;
  pointer-events: none;
}

.lx-sidepanel:not(.lx-sidepanel--hide) {
  transform: translateY(-50%) translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.lx-sidepanel.lx-sidepanel--expanded {
  width: 38%;
}

/* Header */
.lx-sidepanel__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 6px;
}

.lx-sidepanel__title {
  display: flex;
  gap: 8px;
  align-items: center;
}

.lx-sidepanel__title-icon {
  width: var(--lx-text-xl) !important;
  height: var(--lx-text-xl) !important;
  font-size: var(--lx-text-xl) !important;
  color: var(--lx-color-neutral-700);
}

.lx-sidepanel__title-text {
  color: var(--lx-color-neutral-900);
  font-size: var(--lx-text-lg);
  font-weight: var(--lx-font-semibold);
}

.lx-sidepanel__actions {
  display: flex;
  gap: 6px;
}

.lx-sidepanel__btn {
  display: flex;
  flex-direction: row;
  gap: 6px;
  align-items: center;
  background-color: transparent !important;
  padding: 6px !important;
  color: var(--lx-color-neutral-700) !important;
  border: none !important;
  outline: none !important;
  cursor: pointer;
  border-radius: var(--lx-rounded-full);
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.lx-sidepanel__btn:hover,
.lx-sidepanel__btn:focus {
  background-color: var(--lx-color-neutral-100) !important;
  color: var(--lx-color-neutral-900) !important;
}

.lx-sidepanel__btn:focus-visible {
  box-shadow: 0 0 0 3px var(--lx-color-neutral-100);
}

.lx-sidepanel__btn-icon {
  width: var(--lx-text-2xl) !important;
  height: var(--lx-text-2xl) !important;
  font-size: var(--lx-text-2xl) !important;
  line-height: 1;
}

.lx-sidepanel__btn--hide {
  display: none;
}

/* Body push when open (desktop) */
body.lx-body--sidepanel-open {
  margin-right: 32%;
  transition: margin-right 0.3s ease;
}

body.lx-body--sidepanel-expanded {
  margin-right: 42%;
  transition: margin-right 0.3s ease;
}

/* Mobile behavior */
@media (max-width: 768px) {
  body.lx-body--sidepanel-open {
    margin-right: 0;
    overflow: hidden;
    height: 100vh;
  }

  body.lx-body--sidepanel-expanded {
    margin-right: 0;
  }

  .lx-sidepanel {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    width: 80%;
    height: 90%;
    transform: translate(-50%, -50%) translateX(100%);
    border-radius: var(--lx-rounded-xl);
    z-index: 1001;
  }

  .lx-sidepanel:not(.lx-sidepanel--hide) {
    transform: translate(-50%, -50%);
  }

  .lx-sidepanel--hide {
    transform: translate(-50%, -50%) translateX(100%);
  }

  .lx-sidepanel__btn--expand {
    display: none;
  }
}

/* Tabs */
.lx-sidepanel-tabs__nav {
  position: relative;
  width: 100%;
  max-width: 850px;
  overflow: hidden;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.lx-sidepanel-tabs__nav-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  padding: 4px;
  border-radius: var(--lx-rounded-lg);
  background-color: var(--lx-color-neutral-100);
  overflow-x: auto;
  scroll-behavior: smooth;
}

.lx-sidepanel-tabs__nav-list::-webkit-scrollbar {
  display: none;
}

.lx-sidepanel-tabs__tab-btn {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  gap: 3px;
  background-color: var(--lx-color-neutral-100);
  color: var(--lx-color-neutral-700);
  border: 1px solid var(--lx-color-neutral-100);
  border-radius: var(--lx-rounded-lg);
  padding: 15px 10px;
  min-width: 110px;
  white-space: nowrap;
  transition: background-color 0.2s ease;
  cursor: pointer;
  outline: none;
}

.lx-sidepanel-tabs__tab-btn:hover,
.lx-sidepanel-tabs__tab-btn:focus {
  background-color: var(--lx-color-neutral-100);
  color: var(--lx-color-neutral-700);
}

.lx-sidepanel-tabs__tab-btn:focus-visible {
  box-shadow: 0 0 0 3px var(--lx-color-neutral-100);
}

.lx-sidepanel-tabs__tab-icon {
  width: var(--lx-text-sm) !important;
  height: var(--lx-text-sm) !important;
  border-radius: 0px;
  font-size: var(--lx-text-sm) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lx-sidepanel-tabs__tab-label {
  font-size: var(--lx-text-sm);
  font-weight: var(--lx-font-medium);
  line-height: 1.2;
}

.lx-sidepanel-tabs__tab-btn:hover .lx-sidepanel-tabs__tab-label {
  color: var(--lx-color-neutral-900);
}

.lx-sidepanel-tabs__tab-btn--active {
  background-color: white !important;
  color: var(--lx-color-neutral-900) !important;
  border-color: var(--lx-color-neutral-500) !important;
  box-shadow: var(--lx-shadow-sm) !important;
}

.lx-sidepanel-tabs__nav:hover .lx-sidepanel-tabs__scroll-btn {
  opacity: 1;
  pointer-events: auto;
}

.lx-sidepanel-tabs__scroll-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: white;
  color: var(--lx-color-neutral-700);
  border: 1px solid var(--lx-color-neutral-300);
  border-radius: var(--lx-rounded-full);
  padding: 0px;
  width: 30px;
  height: 30px;
  display: none;
  justify-content: center;
  align-items: center;
  outline: none;
  box-shadow: var(--lx-shadow-md);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
  z-index: 9;
}

.lx-sidepanel-tabs__scroll-btn:hover,
.lx-sidepanel-tabs__scroll-btn:focus {
  background-color: white;
  color: var(--lx-color-neutral-900);
  border-color: var(--lx-color-neutral-900);
}

.lx-sidepanel-tabs__scroll-btn:active {
  background-color: white;
  color: var(--lx-color-neutral-900);
  border-color: var(--lx-color-neutral-900);
}

.lx-sidepanel-tabs__scroll-icon {
  width: var(--lx-text-sm) !important;
  height: var(--lx-text-sm) !important;
  font-size: var(--lx-text-sm) !important;
  line-height: 1;
}

.lx-sidepanel-tabs__scroll-btn--inactive {
  display: none !important;
}

.lx-sidepanel-tabs__scroll-btn--prev {
  left: 5px;
}

.lx-sidepanel-tabs__scroll-btn--next {
  right: 5px;
}

@media (max-width: 8000px) {
  .lx-sidepanel-tabs__nav-list {
    flex-wrap: nowrap;
  }

  .lx-sidepanel-tabs__scroll-btn {
    display: flex;
  }
}

.lx-sidepanel-tabs {
  display: flex;
  width: 100%;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden;
}

.lx-sidepanel-tabs__divider {
  border-bottom: 1px solid var(--lx-color-neutral-300);
}

.lx-sidepanel-tabs__content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  overflow: hidden !important;
  max-height: 100%;
  border-radius: var(--lx-rounded-lg);
  margin-top: 16px;
}

.lx-sidepanel-tabs__panel {
  max-height: 100%;
  height: 100%;
  border-radius: var(--lx-rounded-lg);
  display: none;
  overflow: hidden;
}

.lx-sidepanel-tabs__body {
  font-size: var(--lx-text-sm);
  background-color: white;
  color: var(--lx-color-neutral-900);
  height: 100%;
  display: block;
}

.lx-sidepanel-tabs__panel--active {
  display: flex;
  flex-direction: column;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

  .lx-sidepanel,
  .lx-sidepanel-trigger__btn,
  .lx-sidepanel__btn,
  .lx-sidepanel-tabs__tab-btn,
  .lx-sidepanel-tabs__scroll-btn {
    transition: none !important;
  }
}