:host {
  --r-panel--min-width: 18.75rem;
  --r-panel--background-color: var(--r-background-soft, #F3F1F0);
  --r-panel--display: flex;
  --r-panel--flex-direction: column;
  --r-panel--position: fixed;
  --r-panel--align-items: flex-start;
  --r-panel--top: 0;
  --r-panel--padding: 8px 0;
  --r-panel--width: 18.75rem;
  --r-panel--height: 100%;
  --r-panel--color: var(--r-text-regular, #282828);
  --r-panel--transition: all 250ms ease-in-out;
  --r-panel--transform: none;
  --r-panel--font-family: var(--r-font-family-text);
  --r-panel--left: 0;
  --r-panel--header--display: flex;
  --r-panel--header--padding: 12px 16px;
  --r-panel--header--justify-content: space-between;
  --r-panel--header--align-items: center;
  --r-panel--header--align-self: stretch;
  --r-panel--header--icon-rotate: none;
  --r-panel--header--flex-direction: row;
  --r-panel--header--gap: 3.125rem;
  --r-panel--header--logo--img--width: 100%;
  --r-panel--header--logo--img--height: auto;
  --r-panel--header--logo--img--expanded--width: 12rem;
  --r-panel--header--logo--img--collapsed--width: 1.875rem;
  --r-panel--header--height: unset;
  --r-panel--body--display: block;
  --r-panel--body--flex-grow: 1;
  --r-panel--body--align-self: stretch;
  --r-panel--body--overflow: auto;
  --r-panel--body--padding: 4px 8px 0;
  --r-panel--body-header--color: var(--r-text-soft, #686868);
  --r-panel--body-header--font-size: var(--r-font-size-400, 1rem);
  --r-panel--body-header--font-weight: var(--r-font-weight-regular, 400);
  --r-panel--body-header--padding: 16px 0;
  --r-panel--body-header--width: 16.75rem;
  --r-panel--body-header--margin: 0px;
  --r-panel--footer--dispay: flex;
  --r-panel--footer--width: 100%;
  --r-panel--footer--padding: 16px 16px 24px;
  --r-panel--footer--flex-direction: column;
  --r-panel--footer--justify-content: center;
  --r-panel--footer-gap: var(--spacing-100, 1rem);
  --r-panel--footer--align-self: stretch;
  --r-panel--footer--text-align: center;
}

:host([variant=drawer]) r-button {
  --r-button--padding: 0.625rem;
  --r-button--background: var(--r-background-interactive-softer, #E7E4E2);
  --r-button--border-radius: 10%;
  --r-button--slot--position: relative;
  --r-button--left: 5%;
}

:host([variant=drawer][collapsed]) {
  --r-panel--width: var(--r-spacing-450, 4.5rem);
  --r-panel--header--display: none;
  --r-panel--header--icon-rotate: rotate(180deg);
  --r-panel--header--logo--expaned--display: none;
  --r-panel--header--logo--collapsed--display: block;
  --r-panel--header--flex-direction: column;
  --r-panel--header--gap: 0.625rem;
  --r-list-item--epxanded--background-color: rgba(40, 40, 40, 0.08);
}
:host([variant=drawer][collapsed]) r-button {
  --r-button--slot--position: inherit;
  transition: transform 250ms ease-in-out;
}

:host([variant=modal][collapsed]) {
  --r-panel--transform: translate(-100%);
}

:host([collapsed]:not([variant=modal])) {
  --r-panel--min-width: 0;
  --r-list-item--sr-text--display: block;
  --r-list-item--text--display: none;
  --r-list-item--trailing--display: none;
}

:host([variant=drawer]:not([has-header]):not([collapsed])),
:host([variant=drawer][has-header=false]:not([collapsed])) {
  --r-panel--header--height: var(--spacing-150, 1.5rem);
  --r-panel--header--padding: 12px 8px 0 16px;
}
:host([variant=drawer]:not([has-header]):not([collapsed])) r-button,
:host([variant=drawer][has-header=false]:not([collapsed])) r-button {
  --r-button--top: 20%;
  --r-button--left: 97%;
}

:host([collapsed]) {
  --r-list-item--active-parent--background-color: rgba(40, 40, 40, 0.08);
}

.r-panel {
  z-index: 2;
  min-width: var(--r-panel--min-width);
  background-color: var(--r-panel--background-color);
  display: var(--r-panel--display);
  flex-direction: var(--r-panel--flex-direction);
  align-items: var(--r-panel--align-items);
  width: var(--r-panel--width);
  height: var(--r-panel--height);
  position: var(--r-panel--position);
  top: var(--r-panel--top);
  padding: var(--r-panel--padding);
  color: var(--r-panel--color);
  transition: var(--r-panel--transition);
  transform: var(--r-panel--transform);
  left: var(--r-panel--left);
  font-family: var(--r-panel--font-family);
  box-sizing: border-box;
}
.r-panel .logo-wrapper .logo-expanded {
  width: var(--r-panel--header--logo--img--expanded--width);
}
.r-panel .logo-wrapper .logo-collapsed {
  width: var(--r-panel--header--logo--img--collapsed--width);
}
.r-panel .logo-wrapper img {
  width: var(--r-panel--header--logo--img--width);
  height: var(--r-panel--header--logo--img--height);
}
.r-panel .logo-wrapper:focus, .r-panel .logo-wrapper:focus-visible {
  box-shadow: 0 0 0 6px var(--r-border-focused-outlined, #fff);
  outline: 2px solid var(--r-border-focused, #0071e3);
  outline-offset: 2px;
}
.r-panel--header {
  display: flex;
  padding: var(--r-panel--header--padding);
  justify-content: var(--r-panel--header--justify-content);
  align-items: var(--r-panel--header--align-items);
  align-self: var(--r-panel--header--align-self);
  flex-direction: var(--r-panel--header--flex-direction);
  gap: var(--r-panel--header--gap);
  height: var(--r-panel--header--height);
}
.r-panel--header r-button {
  --r-button--padding: 0;
  transform: var(--r-panel--header--icon-rotate);
  background: var(--r-button--background);
  position: var(--r-button--slot--position);
  left: var(--r-button--left);
  top: var(--r-button--top);
  border-radius: var(--r-button--border-radius);
}
.r-panel--body {
  flex-grow: var(--r-panel--body--flex-grow);
  align-self: var(--r-panel--body--align-self);
  display: var(--r-panel--body--display);
  overflow: var(--r-panel--body--overflow);
  padding: var(--r-panel--body--padding);
}
.r-panel--body ::slotted(.header) {
  color: var(--r-panel--body-header--color);
  font-size: var(--r-panel--body-header--font-size);
  font-weight: var(--r-panel--body-header--font-weight);
  padding: var(--r-panel--body-header--padding);
  display: var(--r-panel--header--display);
  width: var(--r-panel--body-header--width);
  margin: var(--r-panel--body-header--margin);
}
.r-panel--footer {
  width: var(--r-panel--footer--width);
}
.r-panel ::slotted([slot=footer]) {
  display: var(--r-panel--footer--dispay);
  padding: var(--r-panel--footer--padding);
  flex-direction: var(--r-panel--footer--flex-direction);
  justify-content: var(--r-panel--footer--justify-content);
  gap: var(--r-panel--footer-gap);
  align-self: var(--r-panel--footer--align-self);
  text-align: var(--r-panel--footer--text-align);
}
.r-panel ::slotted(ul) {
  margin: var(--r-panel--item-list--margin, 0);
  padding: var(--r-panel--item-list--padding, 0);
  list-style-type: var(--r-panel--item-list--list-style-type, "");
}

@media (prefers-reduced-motion) {
  .r-panel,
  :host([variant=drawer][collapsed]) r-button {
    transition: none;
  }
}
