.nano-sidebar {
  display: flex;
  flex-direction: column;
  width: 260px;
  height: 100%;
  background-color: hsl(var(--color-background));
  border-right: 1px solid hsl(var(--color-border));
  transition: width var(--duration-normal) var(--ease-default);
  overflow: hidden;

  &.nano-sidebar--collapsed {
    width: 60px;

    .nano-sidebar__header {
      padding: var(--space-4) var(--space-2);
    }

    .nano-sidebar__item {
      justify-content: center;
      padding: var(--space-2);

      span {
        display: none;
      }
    }

    .nano-sidebar__group-label {
      display: none;
    }

    .nano-sidebar__nav {
      padding: var(--space-2);
    }

    .nano-sidebar__footer {
      padding: var(--space-4) var(--space-2);
    }
  }

  .nano-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-4) var(--space-4);
    border-bottom: 1px solid hsl(var(--color-border));
  }

  .nano-sidebar__nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    flex: 1;
    overflow-y: auto;
  }

  .nano-sidebar__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: hsl(var(--color-muted-foreground));
    text-decoration: none;
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-default),
                background-color var(--duration-fast) var(--ease-default);

    &:hover {
      color: hsl(var(--color-foreground));
      background-color: hsl(var(--color-muted) / 0.5);
    }

    &:focus-visible {
      outline: 2px solid hsl(var(--color-ring));
      outline-offset: -2px;
    }

    &.nano-sidebar__item--active {
      color: hsl(var(--color-foreground));
      background-color: hsl(var(--color-muted));
    }

    svg {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
    }
  }

  .nano-sidebar__group {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }

  .nano-sidebar__group-label {
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: hsl(var(--color-muted-foreground));
  }

  .nano-sidebar__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background-color: transparent;
    color: hsl(var(--color-muted-foreground));
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-default),
                background-color var(--duration-fast) var(--ease-default);

    &:hover {
      color: hsl(var(--color-foreground));
      background-color: hsl(var(--color-muted));
    }

    &:focus-visible {
      outline: 2px solid hsl(var(--color-ring));
      outline-offset: 2px;
    }

    svg {
      width: 1rem;
      height: 1rem;
    }
  }

  .nano-sidebar__footer {
    margin-top: auto;
    padding: var(--space-4);
    border-top: 1px solid hsl(var(--color-border));
  }
}
